TableOperations Classe

Espace de noms pour les opérations de métadonnées au niveau de la table.

Accessible via client.tables. Fournit des opérations pour créer, supprimer, inspecter et répertorier des tables Dataverse, ainsi que pour ajouter et supprimer des colonnes.

Exemple :


   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")

Constructeur

TableOperations(client: DataverseClient)

Paramètres

Nom Description
client
Obligatoire

Instance parente DataverseClient .

Méthodes

add_columns

Ajoutez une ou plusieurs colonnes à une table existante.

Exemple :


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

Créez une table personnalisée avec les colonnes spécifiées.

create_alternate_key

Créez une autre clé sur une table.

Les autres clés permettent aux opérations upsert d’identifier les enregistrements par une ou plusieurs colonnes au lieu du GUID principal. Une fois la clé créée, mise en file d’attente pour la génération d’index ; son status passage à une "Pending""Active" fois l’index prêt.

create_lookup_field

Créez une relation de champ de recherche simple.

Il s’agit d’une méthode pratique qui encapsule create_one_to_many_relationship le cas courant d’ajout d’un champ de recherche à une table existante.

create_many_to_many_relationship

Créez une relation plusieurs-à-plusieurs entre les tables.

Cette opération crée une relation plusieurs-à-plusieurs et une table croisée pour gérer la relation.

create_one_to_many_relationship

Créez une relation un-à-plusieurs entre les tables.

Cette opération crée à la fois la relation et l’attribut de recherche sur la table de référencement.

delete

Supprimez une table personnalisée par nom de schéma.

Warning

Cette opération est irréversible et supprime tous les enregistrements dans le

table avec la définition de table.

Exemple :


   client.tables.delete("new_MyTestTable")
delete_alternate_key

Supprimez une autre clé par son ID de métadonnées.

Warning

La suppression d’une autre clé utilisée par les opérations upsert

provoquent l’échec de ces opérations. Cette opération est irréversible.

Exemple :


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

Supprimez une relation par son ID de métadonnées.

Warning

La suppression d’une relation supprime également l’attribut de recherche associé

pour les relations un-à-plusieurs. Cette opération est irréversible.

Exemple :


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

Obtenez les métadonnées de base d’une table s’il existe.

Exemple :


   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

Répertorier toutes les clés alternatives définies sur une table.

get_relationship

Récupérer les métadonnées de relation par nom de schéma.

Exemple :


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

Répertorier toutes les tables non privées dans l’environnement Dataverse.

Par défaut, chaque table renvoie chaque table où IsPrivate eq false. Fournissez une expression OData $filter facultative pour affiner davantage les résultats. L’expression est combinée à la clause par défaut IsPrivate eq false à l’aide andde .

Exemple :


   # 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

Répertorier toutes les définitions d’attribut (colonne) d’une table.

Exemple :


   # 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

Répertorier toutes les définitions de relation dans l’environnement.

Exemple :


   # 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

Répertorier toutes les relations pour une table spécifique.

Combine des relations un-à-plusieurs, plusieurs-à-un et plusieurs-à-plusieurs pour la table donnée en interrogeant EntityDefinitions({id})/OneToManyRelationships, EntityDefinitions({id})/ManyToOneRelationshipset EntityDefinitions({id})/ManyToManyRelationships.

Exemple :


   # 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

Supprimez une ou plusieurs colonnes d’une table.

Exemple :


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

add_columns

Ajoutez une ou plusieurs colonnes à une table existante.

Exemple :


   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]

Paramètres

Nom Description
table
Obligatoire
str

Nom du schéma de la table (par exemple "new_MyTestTable").

columns
Obligatoire

Mappage des noms de schéma de colonne (avec préfixe de personnalisation) à leurs types. Les types pris en charge sont les mêmes que pour create.

Retours

Type Description

Noms de schéma des colonnes qui ont été créées.

Exceptions

Type Description

Si la table n’existe pas.

create

Créez une table personnalisée avec les colonnes spécifiées.

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

Paramètres

Nom Description
table
Obligatoire
str

Nom du schéma de la table avec préfixe de personnalisation (par exemple "new_MyTestTable").

columns
Obligatoire

Mappage des noms de schéma de colonne (avec préfixe de personnalisation) à leurs types. Les types pris en charge incluent "string" (ou "text"), "memo" (ou "multiline"), "int" (ou "integer""decimal" ), "float" (ou "money"), (ou "double"), "datetime" (ou "date"), (ou "boolean"), "bool""file"et Enum les sous-classes (pour les jeux d’options locaux).

solution
Obligatoire
str

Nom unique de solution facultatif qui doit posséder la nouvelle table. En cas d’omission de la table est créée dans la solution par défaut.

primary_column
Obligatoire
str

Nom de schéma de colonne de nom principal facultatif avec préfixe de personnalisation (par exemple "new_ProductName"). S’il n’est pas fourni, la valeur par défaut est "{prefix}_Name".

display_name
Obligatoire
str

Nom complet lisible par l’homme pour la table (par exemple "Product"). En cas d’omission, la valeur par défaut est le nom du schéma de table.

Paramètres de mot clé uniquement

Nom Description
solution
Valeur par défaut: None
primary_column
Valeur par défaut: None
display_name
Valeur par défaut: None

Retours

Type Description

Métadonnées de table avec schema_name, , entity_set_namelogical_name, metadata_idet columns_created. Prend en charge l’accès de type dicté avec des clés héritées pour la compatibilité descendante.

Exceptions

Type Description

Si la création de table échoue ou si la table existe déjà.

Exemples

Créez une table avec des colonnes simples :


   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

Créez une autre clé sur une table.

Les autres clés permettent aux opérations upsert d’identifier les enregistrements par une ou plusieurs colonnes au lieu du GUID principal. Une fois la clé créée, mise en file d’attente pour la génération d’index ; son status passage à une "Pending""Active" fois l’index prêt.

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

Paramètres

Nom Description
table
Obligatoire
str

Nom du schéma de la table (par exemple "new_Product").

key_name
Obligatoire
str

Nom du schéma pour la nouvelle clé alternative (par exemple "new_product_code_key").

columns
Obligatoire

Liste des noms logiques de colonne qui composent la clé (par exemple ["new_productcode"]).

display_name
Obligatoire
str

Nom complet de la clé. La valeur par défaut est si key_name non fourni.

language_code
Obligatoire
int

Code de langue pour les étiquettes. La valeur par défaut est 1033 (anglais).

Paramètres de mot clé uniquement

Nom Description
display_name
Valeur par défaut: None
language_code
Valeur par défaut: 1033

Retours

Type Description

Métadonnées pour la clé de remplacement nouvellement créée.

Exceptions

Type Description

Si la table n’existe pas.

Si la demande d’API web échoue.

Exemples

Créez une autre clé à colonne unique pour 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

Créez une relation de champ de recherche simple.

Il s’agit d’une méthode pratique qui encapsule create_one_to_many_relationship le cas courant d’ajout d’un champ de recherche à une table existante.

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

Paramètres

Nom Description
referencing_table
Obligatoire
str

Nom logique de la table qui aura le champ de recherche (table enfant).

lookup_field_name
Obligatoire
str

Nom du schéma pour le champ de recherche (par exemple, "new_AccountId").

referenced_table
Obligatoire
str

Nom logique de la table référencée (table parente).

display_name
Obligatoire
str

Nom complet du champ de recherche. La valeur par défaut est le nom de la table référencée.

description
Obligatoire
str

Description facultative du champ de recherche.

required
Obligatoire

Indique si la recherche est requise. La valeur par défaut est False.

cascade_delete
Obligatoire
str

Supprimer le comportement ("RemoveLink", "Cascade", "Restrict"). La valeur par défaut est "RemoveLink".

solution
Obligatoire
str

Nom unique de solution facultatif à laquelle ajouter la relation.

language_code
Obligatoire
int

Code de langue pour les étiquettes. La valeur par défaut est 1033 (anglais).

Paramètres de mot clé uniquement

Nom Description
display_name
Valeur par défaut: None
description
Valeur par défaut: None
required
Valeur par défaut: False
cascade_delete
Valeur par défaut: RemoveLink
solution
Valeur par défaut: None
language_code
Valeur par défaut: 1033

Retours

Type Description

Métadonnées de relation avec relationship_id, , relationship_schema_namerelationship_type, lookup_schema_name, referenced_entity, et referencing_entity.

Exceptions

Type Description

Si la demande d’API web échoue.

Exemples

Créez un champ de recherche simple :


   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

Créez une relation plusieurs-à-plusieurs entre les tables.

Cette opération crée une relation plusieurs-à-plusieurs et une table croisée pour gérer la relation.

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

Paramètres

Nom Description
relationship
Obligatoire

Métadonnées définissant la relation plusieurs-à-plusieurs.

solution
Obligatoire
str

Nom unique de solution facultatif à laquelle ajouter une relation.

Paramètres de mot clé uniquement

Nom Description
solution
Valeur par défaut: None

Retours

Type Description

Métadonnées de relation avec relationship_id, , relationship_schema_namerelationship_type, entity1_logical_name, et entity2_logical_name.

Exceptions

Type Description

Si la demande d’API web échoue.

Exemples

Créer une relation plusieurs-à-plusieurs : Employé <-> Projet :


   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

Créez une relation un-à-plusieurs entre les tables.

Cette opération crée à la fois la relation et l’attribut de recherche sur la table de référencement.

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

Paramètres

Nom Description
lookup
Obligatoire

Métadonnées définissant l’attribut de recherche.

relationship
Obligatoire

Métadonnées définissant la relation.

solution
Obligatoire
str

Nom unique de solution facultatif à laquelle ajouter une relation.

Paramètres de mot clé uniquement

Nom Description
solution
Valeur par défaut: None

Retours

Type Description

Métadonnées de relation avec relationship_id, , relationship_schema_namerelationship_type, lookup_schema_name, referenced_entity, et referencing_entity.

Exceptions

Type Description

Si la demande d’API web échoue.

Exemples

Créer une relation un-à-plusieurs : Département (1) -> Employé (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

Supprimez une table personnalisée par nom de schéma.

Warning

Cette opération est irréversible et supprime tous les enregistrements dans le

table avec la définition de table.

Exemple :


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

Paramètres

Nom Description
table
Obligatoire
str

Nom du schéma de la table (par exemple "new_MyTestTable").

Exceptions

Type Description

Si la table n’existe pas ou si la suppression échoue.

delete_alternate_key

Supprimez une autre clé par son ID de métadonnées.

Warning

La suppression d’une autre clé utilisée par les opérations upsert

provoquent l’échec de ces opérations. Cette opération est irréversible.

Exemple :


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

Paramètres

Nom Description
table
Obligatoire
str

Nom du schéma de la table (par exemple "new_Product").

key_id
Obligatoire
str

GUID des métadonnées de la clé de remplacement à supprimer.

Exceptions

Type Description

Si la table n’existe pas.

Si la demande d’API web échoue.

delete_relationship

Supprimez une relation par son ID de métadonnées.

Warning

La suppression d’une relation supprime également l’attribut de recherche associé

pour les relations un-à-plusieurs. Cette opération est irréversible.

Exemple :


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

Paramètres

Nom Description
relationship_id
Obligatoire
str

GUID des métadonnées de relation.

Exceptions

Type Description

Si la demande d’API web échoue.

get

Obtenez les métadonnées de base d’une table s’il existe.

Exemple :


   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

Paramètres

Nom Description
table
Obligatoire
str

Nom du schéma de la table (par exemple "new_MyTestTable" , ou "account").

Retours

Type Description

Métadonnées de table ou None si la table est introuvable. Prend en charge l’accès de type dicté avec des clés héritées pour la compatibilité descendante.

get_alternate_keys

Répertorier toutes les clés alternatives définies sur une table.

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

Paramètres

Nom Description
table
Obligatoire
str

Nom du schéma de la table (par exemple "new_Product").

Retours

Type Description

Liste des objets de métadonnées de clé de remplacement. Peut être vide si aucune autre clé n’est définie.

Exceptions

Type Description

Si la table n’existe pas.

Si la demande d’API web échoue.

Exemples

Répertoriez les autres clés et imprimez leur état :


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

get_relationship

Récupérer les métadonnées de relation par nom de schéma.

Exemple :


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

Paramètres

Nom Description
schema_name
Obligatoire
str

Le nom du schéma de la relation.

Retours

Type Description

Métadonnées de relation, ou None s’il n’est pas trouvé.

Exceptions

Type Description

Si la demande d’API web échoue.

list

Répertorier toutes les tables non privées dans l’environnement Dataverse.

Par défaut, chaque table renvoie chaque table où IsPrivate eq false. Fournissez une expression OData $filter facultative pour affiner davantage les résultats. L’expression est combinée à la clause par défaut IsPrivate eq false à l’aide andde .

Exemple :


   # 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]]

Paramètres

Nom Description
filter
Obligatoire
str

Expression OData $filter facultative pour affiner davantage la liste des tables retournées (par exemple "SchemaName eq 'Account'"). Les noms de colonnes dans les expressions de filtre doivent utiliser les noms de propriétés exacts des EntityDefinitions métadonnées (généralement PascalCase).

select
Obligatoire
list[str] ou None

Liste facultative des noms de propriétés à inclure dans la réponse (projetée via l’option de requête OData $select ). Les noms de propriété doivent utiliser les noms PascalCase exacts des EntityDefinitions métadonnées (par exemple ["LogicalName", "SchemaName", "DisplayName"]). Lorsque None (la valeur par défaut) ou une liste vide, toutes les propriétés sont retournées.

Paramètres de mot clé uniquement

Nom Description
filter
Valeur par défaut: None
select
Valeur par défaut: None

Retours

Type Description

Liste des dictionnaires de métadonnées EntityDefinition.

list_columns

Répertorier toutes les définitions d’attribut (colonne) d’une table.

Exemple :


   # 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]]

Paramètres

Nom Description
table
Obligatoire
str

Nom du schéma de la table (par exemple "account" , ou "new_Product").

select
Obligatoire
list[str] ou None

Liste facultative des noms de propriétés à projeter via $select. Les valeurs sont passées as-is (PascalCase).

filter
Obligatoire
str

Expression OData $filter facultative. Par exemple, "AttributeType eq 'String'" retourne uniquement des colonnes de chaîne.

Paramètres de mot clé uniquement

Nom Description
select
Valeur par défaut: None
filter
Valeur par défaut: None

Retours

Type Description

Liste des dictionnaires de métadonnées d’attribut brut.

Exceptions

Type Description

Si la table est introuvable.

Si la demande d’API web échoue.

list_relationships

Répertorier toutes les définitions de relation dans l’environnement.

Exemple :


   # 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]]

Paramètres

Nom Description
filter
Obligatoire
str

Expression OData $filter facultative. Par exemple, "RelationshipType eq Microsoft.Dynamics.CRM.RelationshipType'OneToManyRelationship'" retourne uniquement des relations un-à-plusieurs.

select
Obligatoire
list[str] ou None

Liste facultative des noms de propriétés à projeter via $select. Les valeurs sont passées as-is (PascalCase).

Paramètres de mot clé uniquement

Nom Description
filter
Valeur par défaut: None
select
Valeur par défaut: None

Retours

Type Description

Liste des dictionnaires de métadonnées de relation brute.

Exceptions

Type Description

Si la demande d’API web échoue.

list_table_relationships

Répertorier toutes les relations pour une table spécifique.

Combine des relations un-à-plusieurs, plusieurs-à-un et plusieurs-à-plusieurs pour la table donnée en interrogeant EntityDefinitions({id})/OneToManyRelationships, EntityDefinitions({id})/ManyToOneRelationshipset EntityDefinitions({id})/ManyToManyRelationships.

Exemple :


   # 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]]

Paramètres

Nom Description
table
Obligatoire
str

Nom du schéma de la table (par exemple "account").

filter
Obligatoire
str

Expression OData $filter facultative appliquée à chaque sous-requête.

select
Obligatoire
list[str] ou None

Liste facultative des noms de propriétés à projeter via $select. Les valeurs sont passées as-is (PascalCase).

Paramètres de mot clé uniquement

Nom Description
filter
Valeur par défaut: None
select
Valeur par défaut: None

Retours

Type Description

Liste combinée de dictionnaires de métadonnées de relation un-à-plusieurs, plusieurs-à-un et plusieurs-à-plusieurs.

Exceptions

Type Description

Si la table est introuvable.

Si la demande d’API web échoue.

remove_columns

Supprimez une ou plusieurs colonnes d’une table.

Exemple :


   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]

Paramètres

Nom Description
table
Obligatoire
str

Nom du schéma de la table (par exemple "new_MyTestTable").

columns
Obligatoire
str ou list[str]

Nom du schéma de colonne ou liste des noms de schémas de colonne à supprimer. Doit inclure le préfixe de personnalisation (par exemple "new_TestColumn").

Retours

Type Description

Noms de schéma des colonnes qui ont été supprimées.

Exceptions

Type Description

Si la table ou une colonne spécifiée n’existe pas.