TableOperations Kelas

Namespace untuk operasi metadata tingkat tabel.

Diakses melalui client.tables. Menyediakan operasi untuk membuat, menghapus, memeriksa, dan mencantumkan tabel Dataverse, serta menambahkan dan menghapus kolom.

Example:


   client = DataverseClient(base_url, credential)

   # Create a table
   info = client.tables.create(
       "new_Product",
       {"new_Price": "decimal", "new_InStock": "bool"},
       solution="MySolution",
   )

   # List tables
   tables = client.tables.list()

   # Get table info
   info = client.tables.get("new_Product")

   # Add columns
   client.tables.add_columns("new_Product", {"new_Rating": "int"})

   # Remove columns
   client.tables.remove_columns("new_Product", "new_Rating")

   # Delete a table
   client.tables.delete("new_Product")

Konstruktor

TableOperations(client: DataverseClient)

Parameter

Nama Deskripsi
client
Diperlukan

Instans induk DataverseClient .

Metode

add_columns

Tambahkan satu atau beberapa kolom ke tabel yang sudah ada.

Example:


   created = client.tables.add_columns(
       "new_MyTestTable",
       {"new_Notes": "string", "new_Active": "bool"},
   )
   print(created)  # ['new_Notes', 'new_Active']
create

Buat tabel kustom dengan kolom yang ditentukan.

create_alternate_key

Buat kunci alternatif pada tabel.

Kunci alternatif memungkinkan operasi upsert mengidentifikasi rekaman oleh satu atau beberapa kolom alih-alih GUID utama. Setelah pembuatan kunci diantrekan untuk bangunan indeks; akan status beralih dari "Pending" ke "Active" setelah indeks siap.

create_lookup_field

Buat hubungan bidang pencarian sederhana.

Ini adalah metode kenyamanan yang membungkus create_one_to_many_relationship untuk kasus umum menambahkan bidang pencarian ke tabel yang ada.

create_many_to_many_relationship

Buat hubungan banyak ke banyak antar tabel.

Operasi ini membuat hubungan banyak ke banyak dan tabel irisan untuk mengelola hubungan.

create_one_to_many_relationship

Buat hubungan satu-ke-banyak antar tabel.

Operasi ini membuat hubungan dan atribut pencarian pada tabel referensi.

delete

Hapus tabel kustom menurut nama skema.

Warning

Operasi ini tidak dapat diubah dan akan menghapus semua rekaman dalam

tabel bersama dengan definisi tabel.

Example:


   client.tables.delete("new_MyTestTable")
delete_alternate_key

Hapus kunci alternatif dengan ID metadatanya.

Warning

Menghapus kunci alternatif yang digunakan oleh operasi upsert akan

menyebabkan operasi tersebut gagal. Operasi ini tidak dapat dibatalkan.

Example:


   client.tables.delete_alternate_key(
       "new_Product",
       "12345678-1234-1234-1234-123456789abc",
   )
delete_relationship

Menghapus hubungan dengan ID metadatanya.

Warning

Menghapus hubungan juga menghapus atribut pencarian terkait

untuk hubungan satu-ke-banyak. Operasi ini tidak dapat dibatalkan.

Example:


   client.tables.delete_relationship(
       "12345678-1234-1234-1234-123456789abc"
   )
get

Dapatkan metadata dasar untuk tabel jika ada.

Example:


   info = client.tables.get("new_MyTestTable")
   if info:
       print(f"Logical name: {info['table_logical_name']}")
       print(f"Entity set: {info['entity_set_name']}")
get_alternate_keys

Mencantumkan semua kunci alternatif yang ditentukan pada tabel.

get_relationship

Ambil metadata hubungan menurut nama skema.

Example:


   rel = client.tables.get_relationship("new_Department_Employee")
   if rel:
       print(f"Found: {rel.relationship_schema_name}")
list

Mencantumkan semua tabel non-privat di lingkungan Dataverse.

Secara default mengembalikan setiap tabel di mana IsPrivate eq false. Berikan ekspresi OData $filter opsional untuk mempersempit hasil lebih lanjut. Ekspresi dikombinasikan dengan klausa default IsPrivate eq false menggunakan and.

Example:


   # List all non-private tables
   tables = client.tables.list()
   for table in tables:
       print(table["LogicalName"])

   # List only tables whose schema name starts with "new_"
   custom_tables = client.tables.list(
       filter="startswith(SchemaName, 'new_')"
   )

   # List tables with only specific properties
   tables = client.tables.list(
       select=["LogicalName", "SchemaName", "EntitySetName"]
   )
list_columns

Mencantumkan semua definisi atribut (kolom) untuk tabel.

Example:


   # List all columns on the account table
   columns = client.tables.list_columns("account")
   for col in columns:
       print(f"{col['LogicalName']} ({col.get('AttributeType')})")

   # List only specific properties
   columns = client.tables.list_columns(
       "account",
       select=["LogicalName", "SchemaName", "AttributeType"],
   )

   # Filter to only string attributes
   columns = client.tables.list_columns(
       "account",
       filter="AttributeType eq 'String'",
   )
list_relationships

Mencantumkan semua definisi hubungan di lingkungan.

Example:


   # List all relationships
   rels = client.tables.list_relationships()
   for rel in rels:
       print(f"{rel['SchemaName']} ({rel.get('@odata.type')})")

   # Filter by type
   one_to_many = client.tables.list_relationships(
       filter="RelationshipType eq Microsoft.Dynamics.CRM.RelationshipType'OneToManyRelationship'"
   )

   # Select specific properties
   rels = client.tables.list_relationships(
       select=["SchemaName", "ReferencedEntity", "ReferencingEntity"]
   )
list_table_relationships

Mencantumkan semua hubungan untuk tabel tertentu.

Menggabungkan hubungan satu-ke-banyak, banyak-ke-satu, dan banyak-ke-banyak untuk tabel yang diberikan dengan mengkueri EntityDefinitions({id})/OneToManyRelationships, EntityDefinitions({id})/ManyToOneRelationships, dan EntityDefinitions({id})/ManyToManyRelationships.

Example:


   # List all relationships for the account table
   rels = client.tables.list_table_relationships("account")
   for rel in rels:
       print(f"{rel['SchemaName']} -> {rel.get('@odata.type')}")
remove_columns

Hapus satu atau beberapa kolom dari tabel.

Example:


   removed = client.tables.remove_columns(
       "new_MyTestTable",
       ["new_Notes", "new_Active"],
   )
   print(removed)  # ['new_Notes', 'new_Active']

add_columns

Tambahkan satu atau beberapa kolom ke tabel yang sudah ada.

Example:


   created = client.tables.add_columns(
       "new_MyTestTable",
       {"new_Notes": "string", "new_Active": "bool"},
   )
   print(created)  # ['new_Notes', 'new_Active']
add_columns(table: str, columns: Dict[str, Any]) -> List[str]

Parameter

Nama Deskripsi
table
Diperlukan
str

Nama skema tabel (misalnya "new_MyTestTable").

columns
Diperlukan

Pemetaan nama skema kolom (dengan awalan kustomisasi) ke jenisnya. Jenis yang didukung sama dengan untuk create.

Mengembalikan

Jenis Deskripsi

Nama skema kolom yang dibuat.

Pengecualian

Jenis Deskripsi

Jika tabel tidak ada.

create

Buat tabel kustom dengan kolom yang ditentukan.

create(table: str, columns: Dict[str, Any], *, solution: str | None = None, primary_column: str | None = None, display_name: str | None = None) -> TableInfo

Parameter

Nama Deskripsi
table
Diperlukan
str

Nama skema tabel dengan awalan kustomisasi (misalnya "new_MyTestTable").

columns
Diperlukan

Pemetaan nama skema kolom (dengan awalan kustomisasi) ke jenisnya. Jenis yang didukung termasuk "string" (atau "text"), "memo" (atau "multiline"), "int" (atau "integer"), "decimal" (atau "money"), "float" (atau "double"), "datetime" (atau "date"), "bool" (atau "boolean"), "file"dan Enum subkelas (untuk set opsi lokal).

solution
Diperlukan
str

Nama unik solusi opsional yang harus memiliki tabel baru. Saat dihilangkan, tabel dibuat dalam solusi default.

primary_column
Diperlukan
str

Nama skema kolom nama utama opsional dengan awalan kustomisasi (misalnya "new_ProductName"). Jika tidak disediakan, default ke "{prefix}_Name".

display_name
Diperlukan
str

Nama tampilan yang dapat dibaca manusia untuk tabel (misalnya "Product"). Saat dihilangkan, default ke nama skema tabel.

Parameter Kata Kunci-Saja

Nama Deskripsi
solution
Nilai default: None
primary_column
Nilai default: None
display_name
Nilai default: None

Mengembalikan

Jenis Deskripsi

Metadata tabel dengan schema_name, , logical_nameentity_set_name, metadata_id, dan columns_created. Mendukung akses seperti dict dengan kunci warisan untuk kompatibilitas mundur.

Pengecualian

Jenis Deskripsi

Jika pembuatan tabel gagal atau tabel sudah ada.

Contoh

Buat tabel dengan kolom sederhana:


   from enum import IntEnum

   class ItemStatus(IntEnum):
       ACTIVE = 1
       INACTIVE = 2

   result = client.tables.create(
       "new_Product",
       {
           "new_Title": "string",
           "new_Price": "decimal",
           "new_Status": ItemStatus,
       },
       solution="MySolution",
       primary_column="new_ProductName",
       display_name="Product",
   )
   print(f"Created: {result['table_schema_name']}")

create_alternate_key

Buat kunci alternatif pada tabel.

Kunci alternatif memungkinkan operasi upsert mengidentifikasi rekaman oleh satu atau beberapa kolom alih-alih GUID utama. Setelah pembuatan kunci diantrekan untuk bangunan indeks; akan status beralih dari "Pending" ke "Active" setelah indeks siap.

create_alternate_key(table: str, key_name: str, columns: List[str], *, display_name: str | None = None, language_code: int = 1033) -> AlternateKeyInfo

Parameter

Nama Deskripsi
table
Diperlukan
str

Nama skema tabel (misalnya "new_Product").

key_name
Diperlukan
str

Nama skema untuk kunci alternatif baru (misalnya "new_product_code_key").

columns
Diperlukan

Daftar nama logis kolom yang menyusun kunci (misalnya ["new_productcode"]).

display_name
Diperlukan
str

Nama tampilan untuk kunci. Default ke key_name jika tidak disediakan.

language_code
Diperlukan
int

Kode bahasa untuk label. Default ke 1033 (Bahasa Inggris).

Parameter Kata Kunci-Saja

Nama Deskripsi
display_name
Nilai default: None
language_code
Nilai default: 1033

Mengembalikan

Jenis Deskripsi

Metadata untuk kunci alternatif yang baru dibuat.

Pengecualian

Jenis Deskripsi

Jika tabel tidak ada.

Jika permintaan API Web gagal.

Contoh

Buat kunci alternatif kolom tunggal untuk upsert:


   key = client.tables.create_alternate_key(
       "new_Product",
       "new_product_code_key",
       ["new_productcode"],
       display_name="Product Code",
   )
   print(f"Key ID: {key.metadata_id}")
   print(f"Columns: {key.key_attributes}")

create_lookup_field

Buat hubungan bidang pencarian sederhana.

Ini adalah metode kenyamanan yang membungkus create_one_to_many_relationship untuk kasus umum menambahkan bidang pencarian ke tabel yang ada.

create_lookup_field(referencing_table: str, lookup_field_name: str, referenced_table: str, *, display_name: str | None = None, description: str | None = None, required: bool = False, cascade_delete: str = 'RemoveLink', solution: str | None = None, language_code: int = 1033) -> RelationshipInfo

Parameter

Nama Deskripsi
referencing_table
Diperlukan
str

Nama logis tabel yang akan memiliki bidang pencarian (tabel anak).

lookup_field_name
Diperlukan
str

Nama skema untuk bidang pencarian (misalnya, "new_AccountId").

referenced_table
Diperlukan
str

Nama logis tabel yang sedang dirujuk (tabel induk).

display_name
Diperlukan
str

Nama tampilan untuk bidang pencarian. Default ke nama tabel yang dirujuk.

description
Diperlukan
str

Deskripsi opsional untuk bidang pencarian.

required
Diperlukan

Apakah pencarian diperlukan. Secara default menjadi False.

cascade_delete
Diperlukan
str

Hapus perilaku ("RemoveLink", "Cascade", "Restrict"). Secara default menjadi "RemoveLink".

solution
Diperlukan
str

Nama unik solusi opsional untuk menambahkan hubungan.

language_code
Diperlukan
int

Kode bahasa untuk label. Default ke 1033 (Bahasa Inggris).

Parameter Kata Kunci-Saja

Nama Deskripsi
display_name
Nilai default: None
description
Nilai default: None
required
Nilai default: False
cascade_delete
Nilai default: RemoveLink
solution
Nilai default: None
language_code
Nilai default: 1033

Mengembalikan

Jenis Deskripsi

Metadata hubungan dengan relationship_id, , relationship_schema_namerelationship_type, lookup_schema_name, referenced_entity, dan referencing_entity.

Pengecualian

Jenis Deskripsi

Jika permintaan API Web gagal.

Contoh

Buat bidang pencarian sederhana:


   result = client.tables.create_lookup_field(
       referencing_table="new_order",
       lookup_field_name="new_AccountId",
       referenced_table="account",
       display_name="Account",
       required=True,
       cascade_delete=CASCADE_BEHAVIOR_REMOVE_LINK,
   )
   print(f"Created lookup: {result.lookup_schema_name}")

create_many_to_many_relationship

Buat hubungan banyak ke banyak antar tabel.

Operasi ini membuat hubungan banyak ke banyak dan tabel irisan untuk mengelola hubungan.

create_many_to_many_relationship(relationship: ManyToManyRelationshipMetadata, *, solution: str | None = None) -> RelationshipInfo

Parameter

Nama Deskripsi
relationship
Diperlukan

Metadata yang menentukan hubungan banyak-ke-banyak.

solution
Diperlukan
str

Nama unik solusi opsional untuk menambahkan hubungan.

Parameter Kata Kunci-Saja

Nama Deskripsi
solution
Nilai default: None

Mengembalikan

Jenis Deskripsi

Metadata hubungan dengan relationship_id, , relationship_schema_namerelationship_type, entity1_logical_name, dan entity2_logical_name.

Pengecualian

Jenis Deskripsi

Jika permintaan API Web gagal.

Contoh

Buat hubungan banyak ke banyak: Karyawan <-> Proyek:


   from PowerPlatform.Dataverse.models import (
       ManyToManyRelationshipMetadata,
   )

   relationship = ManyToManyRelationshipMetadata(
       schema_name="new_employee_project",
       entity1_logical_name="new_employee",
       entity2_logical_name="new_project",
   )

   result = client.tables.create_many_to_many_relationship(relationship)
   print(f"Created: {result.relationship_schema_name}")

create_one_to_many_relationship

Buat hubungan satu-ke-banyak antar tabel.

Operasi ini membuat hubungan dan atribut pencarian pada tabel referensi.

create_one_to_many_relationship(lookup: LookupAttributeMetadata, relationship: OneToManyRelationshipMetadata, *, solution: str | None = None) -> RelationshipInfo

Parameter

Nama Deskripsi
lookup
Diperlukan

Metadata yang menentukan atribut pencarian.

relationship
Diperlukan

Metadata yang menentukan hubungan.

solution
Diperlukan
str

Nama unik solusi opsional untuk menambahkan hubungan.

Parameter Kata Kunci-Saja

Nama Deskripsi
solution
Nilai default: None

Mengembalikan

Jenis Deskripsi

Metadata hubungan dengan relationship_id, , relationship_schema_namerelationship_type, lookup_schema_name, referenced_entity, dan referencing_entity.

Pengecualian

Jenis Deskripsi

Jika permintaan API Web gagal.

Contoh

Buat hubungan satu-ke-banyak: Departemen (1) -> Karyawan (N):


   from PowerPlatform.Dataverse.models import (
       LookupAttributeMetadata,
       OneToManyRelationshipMetadata,
       Label,
       LocalizedLabel,
       CascadeConfiguration,
   )
   from PowerPlatform.Dataverse.common.constants import (
       CASCADE_BEHAVIOR_REMOVE_LINK,
   )

   lookup = LookupAttributeMetadata(
       schema_name="new_DepartmentId",
       display_name=Label(
           localized_labels=[
               LocalizedLabel(label="Department", language_code=1033)
           ]
       ),
   )

   relationship = OneToManyRelationshipMetadata(
       schema_name="new_Department_Employee",
       referenced_entity="new_department",
       referencing_entity="new_employee",
       referenced_attribute="new_departmentid",
       cascade_configuration=CascadeConfiguration(
           delete=CASCADE_BEHAVIOR_REMOVE_LINK,
       ),
   )

   result = client.tables.create_one_to_many_relationship(lookup, relationship)
   print(f"Created lookup field: {result.lookup_schema_name}")

delete

Hapus tabel kustom menurut nama skema.

Warning

Operasi ini tidak dapat diubah dan akan menghapus semua rekaman dalam

tabel bersama dengan definisi tabel.

Example:


   client.tables.delete("new_MyTestTable")
delete(table: str) -> None

Parameter

Nama Deskripsi
table
Diperlukan
str

Nama skema tabel (misalnya "new_MyTestTable").

Pengecualian

Jenis Deskripsi

Jika tabel tidak ada atau penghapusan gagal.

delete_alternate_key

Hapus kunci alternatif dengan ID metadatanya.

Warning

Menghapus kunci alternatif yang digunakan oleh operasi upsert akan

menyebabkan operasi tersebut gagal. Operasi ini tidak dapat dibatalkan.

Example:


   client.tables.delete_alternate_key(
       "new_Product",
       "12345678-1234-1234-1234-123456789abc",
   )
delete_alternate_key(table: str, key_id: str) -> None

Parameter

Nama Deskripsi
table
Diperlukan
str

Nama skema tabel (misalnya "new_Product").

key_id
Diperlukan
str

GUID metadata kunci alternatif untuk dihapus.

Pengecualian

Jenis Deskripsi

Jika tabel tidak ada.

Jika permintaan API Web gagal.

delete_relationship

Menghapus hubungan dengan ID metadatanya.

Warning

Menghapus hubungan juga menghapus atribut pencarian terkait

untuk hubungan satu-ke-banyak. Operasi ini tidak dapat dibatalkan.

Example:


   client.tables.delete_relationship(
       "12345678-1234-1234-1234-123456789abc"
   )
delete_relationship(relationship_id: str) -> None

Parameter

Nama Deskripsi
relationship_id
Diperlukan
str

GUID metadata hubungan.

Pengecualian

Jenis Deskripsi

Jika permintaan API Web gagal.

get

Dapatkan metadata dasar untuk tabel jika ada.

Example:


   info = client.tables.get("new_MyTestTable")
   if info:
       print(f"Logical name: {info['table_logical_name']}")
       print(f"Entity set: {info['entity_set_name']}")
get(table: str) -> TableInfo | None

Parameter

Nama Deskripsi
table
Diperlukan
str

Nama skema tabel (misalnya "new_MyTestTable" atau "account").

Mengembalikan

Jenis Deskripsi

Metadata tabel, atau None jika tabel tidak ditemukan. Mendukung akses seperti dict dengan kunci warisan untuk kompatibilitas mundur.

get_alternate_keys

Mencantumkan semua kunci alternatif yang ditentukan pada tabel.

get_alternate_keys(table: str) -> List[AlternateKeyInfo]

Parameter

Nama Deskripsi
table
Diperlukan
str

Nama skema tabel (misalnya "new_Product").

Mengembalikan

Jenis Deskripsi

Daftar objek metadata kunci alternatif. Mungkin kosong jika tidak ada kunci alternatif yang ditentukan.

Pengecualian

Jenis Deskripsi

Jika tabel tidak ada.

Jika permintaan API Web gagal.

Contoh

Cantumkan kunci alternatif dan cetak statusnya:


   keys = client.tables.get_alternate_keys("new_Product")
   for key in keys:
       print(f"{key.schema_name}: {key.status}")

get_relationship

Ambil metadata hubungan menurut nama skema.

Example:


   rel = client.tables.get_relationship("new_Department_Employee")
   if rel:
       print(f"Found: {rel.relationship_schema_name}")
get_relationship(schema_name: str) -> RelationshipInfo | None

Parameter

Nama Deskripsi
schema_name
Diperlukan
str

Nama skema hubungan.

Mengembalikan

Jenis Deskripsi

Metadata hubungan, atau None jika tidak ditemukan.

Pengecualian

Jenis Deskripsi

Jika permintaan API Web gagal.

list

Mencantumkan semua tabel non-privat di lingkungan Dataverse.

Secara default mengembalikan setiap tabel di mana IsPrivate eq false. Berikan ekspresi OData $filter opsional untuk mempersempit hasil lebih lanjut. Ekspresi dikombinasikan dengan klausa default IsPrivate eq false menggunakan and.

Example:


   # List all non-private tables
   tables = client.tables.list()
   for table in tables:
       print(table["LogicalName"])

   # List only tables whose schema name starts with "new_"
   custom_tables = client.tables.list(
       filter="startswith(SchemaName, 'new_')"
   )

   # List tables with only specific properties
   tables = client.tables.list(
       select=["LogicalName", "SchemaName", "EntitySetName"]
   )
list(*, filter: str | None = None, select: List[str] | None = None) -> List[Dict[str, Any]]

Parameter

Nama Deskripsi
filter
Diperlukan
str

Ekspresi OData $filter opsional untuk mempersempit daftar tabel yang dikembalikan lebih lanjut (misalnya "SchemaName eq 'Account'"). Nama kolom dalam ekspresi filter harus menggunakan nama properti yang tepat dari EntityDefinitions metadata (biasanya PascalCase).

select
Diperlukan
list[str] atau None

Daftar opsional nama properti untuk disertakan dalam respons (diproyeksikan melalui opsi kueri OData $select ). Nama properti harus menggunakan nama PascalCase yang tepat dari EntityDefinitions metadata (misalnya ["LogicalName", "SchemaName", "DisplayName"]). Ketika None (default) atau daftar kosong, semua properti dikembalikan.

Parameter Kata Kunci-Saja

Nama Deskripsi
filter
Nilai default: None
select
Nilai default: None

Mengembalikan

Jenis Deskripsi

Daftar kamus metadata EntityDefinition.

list_columns

Mencantumkan semua definisi atribut (kolom) untuk tabel.

Example:


   # List all columns on the account table
   columns = client.tables.list_columns("account")
   for col in columns:
       print(f"{col['LogicalName']} ({col.get('AttributeType')})")

   # List only specific properties
   columns = client.tables.list_columns(
       "account",
       select=["LogicalName", "SchemaName", "AttributeType"],
   )

   # Filter to only string attributes
   columns = client.tables.list_columns(
       "account",
       filter="AttributeType eq 'String'",
   )
list_columns(table: str, *, select: List[str] | None = None, filter: str | None = None) -> List[Dict[str, Any]]

Parameter

Nama Deskripsi
table
Diperlukan
str

Nama skema tabel (misalnya "account" atau "new_Product").

select
Diperlukan
list[str] atau None

Daftar opsional nama properti untuk diproyeksikan melalui $select. Nilai diteruskan as-is (PascalCase).

filter
Diperlukan
str

Ekspresi OData $filter opsional. Misalnya, "AttributeType eq 'String'" hanya mengembalikan kolom string.

Parameter Kata Kunci-Saja

Nama Deskripsi
select
Nilai default: None
filter
Nilai default: None

Mengembalikan

Jenis Deskripsi

Daftar kamus metadata atribut mentah.

Pengecualian

Jenis Deskripsi

Jika tabel tidak ditemukan.

Jika permintaan API Web gagal.

list_relationships

Mencantumkan semua definisi hubungan di lingkungan.

Example:


   # List all relationships
   rels = client.tables.list_relationships()
   for rel in rels:
       print(f"{rel['SchemaName']} ({rel.get('@odata.type')})")

   # Filter by type
   one_to_many = client.tables.list_relationships(
       filter="RelationshipType eq Microsoft.Dynamics.CRM.RelationshipType'OneToManyRelationship'"
   )

   # Select specific properties
   rels = client.tables.list_relationships(
       select=["SchemaName", "ReferencedEntity", "ReferencingEntity"]
   )
list_relationships(*, filter: str | None = None, select: List[str] | None = None) -> List[Dict[str, Any]]

Parameter

Nama Deskripsi
filter
Diperlukan
str

Ekspresi OData $filter opsional. Misalnya: "RelationshipType eq Microsoft.Dynamics.CRM.RelationshipType'OneToManyRelationship'" hanya mengembalikan hubungan satu ke banyak.

select
Diperlukan
list[str] atau None

Daftar opsional nama properti untuk diproyeksikan melalui $select. Nilai diteruskan as-is (PascalCase).

Parameter Kata Kunci-Saja

Nama Deskripsi
filter
Nilai default: None
select
Nilai default: None

Mengembalikan

Jenis Deskripsi

Daftar kamus metadata hubungan mentah.

Pengecualian

Jenis Deskripsi

Jika permintaan API Web gagal.

list_table_relationships

Mencantumkan semua hubungan untuk tabel tertentu.

Menggabungkan hubungan satu-ke-banyak, banyak-ke-satu, dan banyak-ke-banyak untuk tabel yang diberikan dengan mengkueri EntityDefinitions({id})/OneToManyRelationships, EntityDefinitions({id})/ManyToOneRelationships, dan EntityDefinitions({id})/ManyToManyRelationships.

Example:


   # List all relationships for the account table
   rels = client.tables.list_table_relationships("account")
   for rel in rels:
       print(f"{rel['SchemaName']} -> {rel.get('@odata.type')}")
list_table_relationships(table: str, *, filter: str | None = None, select: List[str] | None = None) -> List[Dict[str, Any]]

Parameter

Nama Deskripsi
table
Diperlukan
str

Nama skema tabel (misalnya "account").

filter
Diperlukan
str

Ekspresi OData $filter opsional diterapkan ke setiap sub-permintaan.

select
Diperlukan
list[str] atau None

Daftar opsional nama properti untuk diproyeksikan melalui $select. Nilai diteruskan as-is (PascalCase).

Parameter Kata Kunci-Saja

Nama Deskripsi
filter
Nilai default: None
select
Nilai default: None

Mengembalikan

Jenis Deskripsi

Daftar gabungan kamus metadata hubungan satu-ke-banyak, banyak-ke-satu, dan banyak-ke-banyak.

Pengecualian

Jenis Deskripsi

Jika tabel tidak ditemukan.

Jika permintaan API Web gagal.

remove_columns

Hapus satu atau beberapa kolom dari tabel.

Example:


   removed = client.tables.remove_columns(
       "new_MyTestTable",
       ["new_Notes", "new_Active"],
   )
   print(removed)  # ['new_Notes', 'new_Active']
remove_columns(table: str, columns: str | List[str]) -> List[str]

Parameter

Nama Deskripsi
table
Diperlukan
str

Nama skema tabel (misalnya "new_MyTestTable").

columns
Diperlukan
str atau list[str]

Nama skema kolom atau daftar nama skema kolom yang akan dihapus. Harus menyertakan awalan penyesuaian (misalnya "new_TestColumn").

Mengembalikan

Jenis Deskripsi

Nama skema kolom yang dihapus.

Pengecualian

Jenis Deskripsi

Jika tabel atau kolom tertentu tidak ada.