TableOperations Clase

Espacio de nombres para las operaciones de metadatos de nivel de tabla.

Acceso a través de client.tables. Proporciona operaciones para crear, eliminar, inspeccionar y enumerar tablas de Dataverse, así como agregar y quitar columnas.

Ejemplo:


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

Constructor

TableOperations(client: DataverseClient)

Parámetros

Nombre Description
client
Requerido

Instancia primaria DataverseClient .

Métodos

add_columns

Agregue una o varias columnas a una tabla existente.

Ejemplo:


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

Cree una tabla personalizada con las columnas especificadas.

create_alternate_key

Cree una clave alternativa en una tabla.

Las claves alternativas permiten que las operaciones upsert identifiquen registros por una o varias columnas en lugar del GUID principal. Después de crear la clave se pone en cola para la creación de índices; su status pasará de "Pending" a "Active" una vez que el índice esté listo.

create_lookup_field

Cree una relación de campo de búsqueda simple.

Este es un método de conveniencia que se create_one_to_many_relationship ajusta para el caso común de agregar un campo de búsqueda a una tabla existente.

create_many_to_many_relationship

Cree una relación de varios a varios entre tablas.

Esta operación crea una relación de varios a varios y una tabla intersect para administrar la relación.

create_one_to_many_relationship

Cree una relación uno a varios entre tablas.

Esta operación crea tanto la relación como el atributo de búsqueda en la tabla de referencia.

delete

Elimine una tabla personalizada por nombre de esquema.

Advertencia

Esta operación es irreversible y eliminará todos los registros del

tabla junto con la definición de tabla.

Ejemplo:


   client.tables.delete("new_MyTestTable")
delete_alternate_key

Elimine una clave alternativa por su identificador de metadatos.

Advertencia

Al eliminar una clave alternativa que usen las operaciones upsert

hacer que se produzca un error en esas operaciones. Esta operación es irreversible.

Ejemplo:


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

Elimine una relación por su identificador de metadatos.

Advertencia

Al eliminar una relación también se quita el atributo de búsqueda asociado.

para relaciones de uno a varios. Esta operación es irreversible.

Ejemplo:


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

Obtenga metadatos básicos para una tabla si existe.

Ejemplo:


   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

Enumere todas las claves alternativas definidas en una tabla.

get_relationship

Recuperar metadatos de relación por nombre de esquema.

Ejemplo:


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

Enumere todas las tablas no privadas en el entorno de Dataverse.

De forma predeterminada, devuelve cada tabla donde IsPrivate eq false. Proporcione una expresión OData $filter opcional para restringir aún más los resultados. La expresión se combina con la cláusula predeterminada IsPrivate eq false mediante and.

Ejemplo:


   # 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

Enumerar todas las definiciones de atributo (columna) de una tabla.

Ejemplo:


   # 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

Enumere todas las definiciones de relación en el entorno.

Ejemplo:


   # 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

Enumera todas las relaciones de una tabla específica.

Combina relaciones de uno a varios, varios a uno y varios a varios para la tabla dada consultando EntityDefinitions({id})/OneToManyRelationships, EntityDefinitions({id})/ManyToOneRelationshipsy EntityDefinitions({id})/ManyToManyRelationships.

Ejemplo:


   # 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

Quite una o varias columnas de una tabla.

Ejemplo:


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

add_columns

Agregue una o varias columnas a una tabla existente.

Ejemplo:


   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]

Parámetros

Nombre Description
table
Requerido
str

Nombre de esquema de la tabla (por ejemplo, "new_MyTestTable").

columns
Requerido

Asignación de nombres de esquema de columna (con prefijo de personalización) a sus tipos. Los tipos admitidos son los mismos que para create.

Devoluciones

Tipo Description

Nombres de esquema de las columnas que se crearon.

Excepciones

Tipo Description

Si la tabla no existe.

create

Cree una tabla personalizada con las columnas especificadas.

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

Parámetros

Nombre Description
table
Requerido
str

Nombre de esquema de la tabla con prefijo de personalización (por ejemplo, "new_MyTestTable").

columns
Requerido

Asignación de nombres de esquema de columna (con prefijo de personalización) a sus tipos. Los tipos admitidos incluyen "string" (o "text"), "memo" (o "multiline"), "int" (o "integer"), "decimal" (o "float""money"), (o "double"), "datetime" (o "date"), "bool" (o "boolean"), "file"y Enum subclases (para conjuntos de opciones locales).

solution
Requerido
str

Nombre único de la solución opcional que debe poseer la nueva tabla. Cuando se omite la tabla se crea en la solución predeterminada.

primary_column
Requerido
str

Nombre de esquema de columna de nombre principal opcional con prefijo de personalización (por ejemplo, "new_ProductName"). Si no se proporciona, el valor predeterminado es "{prefix}_Name".

display_name
Requerido
str

Nombre para mostrar legible para la tabla (por ejemplo, "Product"). Cuando se omite, el valor predeterminado es el nombre del esquema de la tabla.

Parámetros de palabra clave únicamente

Nombre Description
solution
Valor predeterminado: None
primary_column
Valor predeterminado: None
display_name
Valor predeterminado: None

Devoluciones

Tipo Description

Metadatos de tabla con schema_name, entity_set_name, logical_name, metadata_idy columns_created. Admite el acceso de tipo dict con claves heredadas para la compatibilidad con versiones anteriores.

Excepciones

Tipo Description

Si se produce un error en la creación de tablas o la tabla ya existe.

Ejemplos

Cree una tabla con columnas 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

Cree una clave alternativa en una tabla.

Las claves alternativas permiten que las operaciones upsert identifiquen registros por una o varias columnas en lugar del GUID principal. Después de crear la clave se pone en cola para la creación de índices; su status pasará de "Pending" a "Active" una vez que el índice esté listo.

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

Parámetros

Nombre Description
table
Requerido
str

Nombre de esquema de la tabla (por ejemplo, "new_Product").

key_name
Requerido
str

Nombre de esquema de la nueva clave alternativa (por ejemplo, "new_product_code_key").

columns
Requerido

Lista de nombres lógicos de columna que componen la clave (por ejemplo, ["new_productcode"]).

display_name
Requerido
str

Nombre para mostrar de la clave. El valor predeterminado es key_name si no se proporciona.

language_code
Requerido
int

Código de idioma para etiquetas. El valor predeterminado es 1033 (inglés).

Parámetros de palabra clave únicamente

Nombre Description
display_name
Valor predeterminado: None
language_code
Valor predeterminado: 1033

Devoluciones

Tipo Description

Metadatos de la clave alternativa recién creada.

Excepciones

Tipo Description

Si la tabla no existe.

Si se produce un error en la solicitud de API web.

Ejemplos

Cree una clave alternativa de una sola columna para 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

Cree una relación de campo de búsqueda simple.

Este es un método de conveniencia que se create_one_to_many_relationship ajusta para el caso común de agregar un campo de búsqueda a una tabla existente.

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

Parámetros

Nombre Description
referencing_table
Requerido
str

Nombre lógico de la tabla que tendrá el campo de búsqueda (tabla secundaria).

lookup_field_name
Requerido
str

Nombre de esquema para el campo de búsqueda (por ejemplo, "new_AccountId").

referenced_table
Requerido
str

Nombre lógico de la tabla a la que se hace referencia (tabla primaria).

display_name
Requerido
str

Nombre para mostrar del campo de búsqueda. El valor predeterminado es el nombre de tabla al que se hace referencia.

description
Requerido
str

Descripción opcional del campo de búsqueda.

required
Requerido

Indica si se requiere la búsqueda. Tiene como valor predeterminado False.

cascade_delete
Requerido
str

Comportamiento de eliminación ("RemoveLink", "Cascade", "Restrict"). Tiene como valor predeterminado "RemoveLink".

solution
Requerido
str

Nombre único de solución opcional al que agregar la relación.

language_code
Requerido
int

Código de idioma para etiquetas. El valor predeterminado es 1033 (inglés).

Parámetros de palabra clave únicamente

Nombre Description
display_name
Valor predeterminado: None
description
Valor predeterminado: None
required
Valor predeterminado: False
cascade_delete
Valor predeterminado: RemoveLink
solution
Valor predeterminado: None
language_code
Valor predeterminado: 1033

Devoluciones

Tipo Description

Metadatos de relación con relationship_id, relationship_schema_name, relationship_type, lookup_schema_name, referenced_entityy referencing_entity.

Excepciones

Tipo Description

Si se produce un error en la solicitud de API web.

Ejemplos

Cree un campo de búsqueda 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

Cree una relación de varios a varios entre tablas.

Esta operación crea una relación de varios a varios y una tabla intersect para administrar la relación.

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

Parámetros

Nombre Description
relationship
Requerido

Metadatos que definen la relación de varios a varios.

solution
Requerido
str

Nombre único de solución opcional al que agregar relación.

Parámetros de palabra clave únicamente

Nombre Description
solution
Valor predeterminado: None

Devoluciones

Tipo Description

Metadatos de relación con relationship_id, relationship_schema_name, relationship_type, entity1_logical_namey entity2_logical_name.

Excepciones

Tipo Description

Si se produce un error en la solicitud de API web.

Ejemplos

Cree una relación de varios a varios: Employee <-> Project:


   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

Cree una relación uno a varios entre tablas.

Esta operación crea tanto la relación como el atributo de búsqueda en la tabla de referencia.

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

Parámetros

Nombre Description
lookup
Requerido

Metadatos que definen el atributo de búsqueda.

relationship
Requerido

Metadatos que definen la relación.

solution
Requerido
str

Nombre único de solución opcional al que agregar relación.

Parámetros de palabra clave únicamente

Nombre Description
solution
Valor predeterminado: None

Devoluciones

Tipo Description

Metadatos de relación con relationship_id, relationship_schema_name, relationship_type, lookup_schema_name, referenced_entityy referencing_entity.

Excepciones

Tipo Description

Si se produce un error en la solicitud de API web.

Ejemplos

Cree una relación uno a varios: Departamento (1):> Empleado (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

Elimine una tabla personalizada por nombre de esquema.

Advertencia

Esta operación es irreversible y eliminará todos los registros del

tabla junto con la definición de tabla.

Ejemplo:


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

Parámetros

Nombre Description
table
Requerido
str

Nombre de esquema de la tabla (por ejemplo, "new_MyTestTable").

Excepciones

Tipo Description

Si la tabla no existe o se produce un error en la eliminación.

delete_alternate_key

Elimine una clave alternativa por su identificador de metadatos.

Advertencia

Al eliminar una clave alternativa que usen las operaciones upsert

hacer que se produzca un error en esas operaciones. Esta operación es irreversible.

Ejemplo:


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

Parámetros

Nombre Description
table
Requerido
str

Nombre de esquema de la tabla (por ejemplo, "new_Product").

key_id
Requerido
str

GUID de metadatos de la clave alternativa que se va a eliminar.

Excepciones

Tipo Description

Si la tabla no existe.

Si se produce un error en la solicitud de API web.

delete_relationship

Elimine una relación por su identificador de metadatos.

Advertencia

Al eliminar una relación también se quita el atributo de búsqueda asociado.

para relaciones de uno a varios. Esta operación es irreversible.

Ejemplo:


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

Parámetros

Nombre Description
relationship_id
Requerido
str

GUID de los metadatos de la relación.

Excepciones

Tipo Description

Si se produce un error en la solicitud de API web.

get

Obtenga metadatos básicos para una tabla si existe.

Ejemplo:


   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

Parámetros

Nombre Description
table
Requerido
str

Nombre de esquema de la tabla (por ejemplo "new_MyTestTable" , o "account").

Devoluciones

Tipo Description

Metadatos de tabla o None si no se encuentra la tabla. Admite el acceso de tipo dict con claves heredadas para la compatibilidad con versiones anteriores.

get_alternate_keys

Enumere todas las claves alternativas definidas en una tabla.

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

Parámetros

Nombre Description
table
Requerido
str

Nombre de esquema de la tabla (por ejemplo, "new_Product").

Devoluciones

Tipo Description

Lista de objetos de metadatos de clave alternativos. Puede estar vacío si no se definen claves alternativas.

Excepciones

Tipo Description

Si la tabla no existe.

Si se produce un error en la solicitud de API web.

Ejemplos

Enumere las claves alternativas e imprima su estado:


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

get_relationship

Recuperar metadatos de relación por nombre de esquema.

Ejemplo:


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

Parámetros

Nombre Description
schema_name
Requerido
str

El nombre del esquema de la relación.

Devoluciones

Tipo Description

Metadatos de relación o None si no se encuentra.

Excepciones

Tipo Description

Si se produce un error en la solicitud de API web.

list

Enumere todas las tablas no privadas en el entorno de Dataverse.

De forma predeterminada, devuelve cada tabla donde IsPrivate eq false. Proporcione una expresión OData $filter opcional para restringir aún más los resultados. La expresión se combina con la cláusula predeterminada IsPrivate eq false mediante and.

Ejemplo:


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

Parámetros

Nombre Description
filter
Requerido
str

Expresión OData $filter opcional para restringir aún más la lista de tablas devueltas (por ejemplo, "SchemaName eq 'Account'"). Los nombres de columna de las expresiones de filtro deben usar los nombres de propiedad exactos de los EntityDefinitions metadatos (normalmente PascalCase).

select
Requerido

Lista opcional de nombres de propiedad que se van a incluir en la respuesta (proyectado a través de la opción de consulta OData $select ). Los nombres de propiedad deben usar los nombres exactos de PascalCase de los EntityDefinitions metadatos (por ejemplo, ["LogicalName", "SchemaName", "DisplayName"]). Cuando None (valor predeterminado) o una lista vacía, se devuelven todas las propiedades.

Parámetros de palabra clave únicamente

Nombre Description
filter
Valor predeterminado: None
select
Valor predeterminado: None

Devoluciones

Tipo Description

Lista de diccionarios de metadatos de EntityDefinition.

list_columns

Enumerar todas las definiciones de atributo (columna) de una tabla.

Ejemplo:


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

Parámetros

Nombre Description
table
Requerido
str

Nombre de esquema de la tabla (por ejemplo "account" , o "new_Product").

select
Requerido

Lista opcional de nombres de propiedad que se van a proyectar a través $selectde . Los valores se pasan as-is (PascalCase).

filter
Requerido
str

Expresión OData $filter opcional. Por ejemplo, "AttributeType eq 'String'" devuelve solo columnas de cadena.

Parámetros de palabra clave únicamente

Nombre Description
select
Valor predeterminado: None
filter
Valor predeterminado: None

Devoluciones

Tipo Description

Lista de diccionarios de metadatos de atributo sin procesar.

Excepciones

Tipo Description

Si no se encuentra la tabla.

Si se produce un error en la solicitud de API web.

list_relationships

Enumere todas las definiciones de relación en el entorno.

Ejemplo:


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

Parámetros

Nombre Description
filter
Requerido
str

Expresión OData $filter opcional. Por ejemplo: "RelationshipType eq Microsoft.Dynamics.CRM.RelationshipType'OneToManyRelationship'" devuelve solo relaciones de uno a varios.

select
Requerido

Lista opcional de nombres de propiedad que se van a proyectar a través $selectde . Los valores se pasan as-is (PascalCase).

Parámetros de palabra clave únicamente

Nombre Description
filter
Valor predeterminado: None
select
Valor predeterminado: None

Devoluciones

Tipo Description

Lista de diccionarios de metadatos de relación sin procesar.

Excepciones

Tipo Description

Si se produce un error en la solicitud de API web.

list_table_relationships

Enumera todas las relaciones de una tabla específica.

Combina relaciones de uno a varios, varios a uno y varios a varios para la tabla dada consultando EntityDefinitions({id})/OneToManyRelationships, EntityDefinitions({id})/ManyToOneRelationshipsy EntityDefinitions({id})/ManyToManyRelationships.

Ejemplo:


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

Parámetros

Nombre Description
table
Requerido
str

Nombre de esquema de la tabla (por ejemplo, "account").

filter
Requerido
str

Expresión OData $filter opcional aplicada a cada sub-solicitud.

select
Requerido

Lista opcional de nombres de propiedad que se van a proyectar a través $selectde . Los valores se pasan as-is (PascalCase).

Parámetros de palabra clave únicamente

Nombre Description
filter
Valor predeterminado: None
select
Valor predeterminado: None

Devoluciones

Tipo Description

Lista combinada de diccionarios de metadatos de relación uno a varios, varios a uno y varios a varios.

Excepciones

Tipo Description

Si no se encuentra la tabla.

Si se produce un error en la solicitud de API web.

remove_columns

Quite una o varias columnas de una tabla.

Ejemplo:


   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]

Parámetros

Nombre Description
table
Requerido
str

Nombre de esquema de la tabla (por ejemplo, "new_MyTestTable").

columns
Requerido
str o list[str]

Nombre de esquema de columna o lista de nombres de esquema de columna que se van a quitar. Debe incluir el prefijo de personalización (por ejemplo, "new_TestColumn").

Devoluciones

Tipo Description

Nombres de esquema de las columnas que se quitaron.

Excepciones

Tipo Description

Si la tabla o una columna especificada no existen.