ContainerProxy Clase
Interfaz para interactuar con un contenedor de base de datos específico.
Esta clase no se debe crear una instancia directamente. En su lugar, use el get_container_client método para obtener un contenedor existente o el create_container método para crear un nuevo contenedor.
Un contenedor de una base de datos de SQL API de Azure Cosmos DB es una colección de documentos, cada uno de los cuales se representa como un elemento.
- Herencia
-
builtins.objectContainerProxy
Constructor
ContainerProxy(client_connection: CosmosClientConnection, database_link: str, id: str, properties: Dict[str, Any] = None)
Parámetros
- client_connection
- database_link
- id
- properties
Variables
- id
- str
Identificador (nombre) del contenedor
- session_token
- str
Token de sesión del contenedor.
Métodos
create_item |
Cree un elemento en el contenedor. Para actualizar o reemplazar un elemento existente, use el upsert_item método . |
delete_all_items_by_partition_key |
La característica de eliminación por clave de partición es una operación asincrónica y en segundo plano que permite eliminar todos los documentos con el mismo valor de clave de partición lógica, mediante el SDK de Cosmos. La operación de eliminación por clave de partición se limita a un consumo máximo del 10 % del total de RU/s disponibles en el contenedor cada segundo. Esto ayuda a limitar los recursos utilizados por esta tarea en segundo plano. |
delete_conflict |
Elimine un conflicto especificado del contenedor. Si el conflicto aún no existe en el contenedor, se genera una excepción. |
delete_item |
Elimine el elemento especificado del contenedor. Si el elemento aún no existe en el contenedor, se genera una excepción. |
get_conflict |
Obtenga el conflicto identificado por conflicto. |
get_throughput |
Obtenga el objeto ThroughputProperties para este contenedor. Si no existen propiedades de rendimiento para el contenedor, se genera una excepción. :keyword Response_hook invocable: invocable con los metadatos de respuesta. :returns: rendimiento del contenedor. :raises ~azure.cosmos.exceptions.CosmosHttpResponseError: no existe ninguna propiedad de rendimiento para el contenedor o no se pudieron recuperar las propiedades de rendimiento. |
list_conflicts |
Enumere todos los conflictos del contenedor. |
patch_item |
Método provisional Aplica revisiones al elemento especificado con las operaciones proporcionadas si existe en el contenedor. Si el elemento aún no existe en el contenedor, se genera una excepción. |
query_conflicts |
Devuelve todos los conflictos que coinciden con una consulta determinada. |
query_items |
Devuelve todos los resultados que coinciden con la consulta especificada. Puede usar cualquier valor para el nombre del contenedor en la cláusula FROM, pero a menudo se usa el nombre del contenedor. En los ejemplos siguientes, el nombre del contenedor es "products" y tiene el alias "p" para facilitar la referencia en la cláusula WHERE. token de continuación de respuesta en la respuesta de consulta. Los valores válidos son enteros positivos. Un valor de 0 es el mismo que no pasar un valor (valor predeterminado sin límite). :keyword int max_integrated_cache_staleness_in_ms: obsolescencia máxima de caché para la caché integrada en Milisegundos. Para las cuentas configuradas para usar la memoria caché integrada, mediante la coherencia De sesión o Eventual, se garantiza que las respuestas no sean obsoletas que este valor. |
query_items_change_feed |
Obtiene una lista ordenada de elementos que se cambiaron, en el orden en que se modificaron. |
read |
Lea las propiedades del contenedor. |
read_all_items |
Enumere todos los elementos del contenedor. |
read_item |
Obtenga el elemento identificado por elemento. |
read_offer |
Obtenga el objeto ThroughputProperties para este contenedor. Si no existen propiedades de rendimiento para el contenedor, se genera una excepción. :keyword Response_hook invocable: invocable con los metadatos de respuesta. :returns: rendimiento del contenedor. :raises ~azure.cosmos.exceptions.CosmosHttpResponseError: no existe ninguna propiedad de rendimiento para el contenedor o no se pudieron recuperar las propiedades de rendimiento. |
replace_item |
Reemplaza el elemento especificado si existe en el contenedor. Si el elemento aún no existe en el contenedor, se genera una excepción. |
replace_throughput |
Reemplace el rendimiento del contenedor. Si no existen propiedades de rendimiento para el contenedor, se genera una excepción. |
upsert_item |
Inserte o actualice el elemento especificado. Si el elemento ya existe en el contenedor, se reemplaza. Si el elemento aún no existe, se inserta. |
create_item
Cree un elemento en el contenedor.
Para actualizar o reemplazar un elemento existente, use el upsert_item método .
create_item(body: Dict[str, Any], populate_query_metrics: bool | None = None, pre_trigger_include: str | None = None, post_trigger_include: str | None = None, indexing_directive: Any | None = None, **kwargs: Any) -> Dict[str, Any]
Parámetros
- body
Objeto de tipo dict que representa el elemento que se va a crear.
- pre_trigger_include
id. de desencadenador que se va a usar como desencadenador de operación previa.
- post_trigger_include
trigger id que se va a usar como desencadenador posterior a la operación.
- indexing_directive
Indique si se debe omitir el documento de la indexación.
- enable_automatic_id_generation
- bool
Habilite la generación automática de identificadores si no hay ningún identificador presente.
- session_token
- str
Token para su uso con coherencia de sesión.
- etag
- str
Valor ETag o el carácter comodín (*). Se usa para comprobar si el recurso ha cambiado y actuar según la condición especificada por el parámetro match_condition .
- match_condition
- MatchConditions
Condición de coincidencia que se va a usar en el etag.
- response_hook
- Callable
Invocable con los metadatos de respuesta.
Devoluciones
Un dict que representa el nuevo elemento.
Tipo de valor devuelto
Excepciones
El elemento con el identificador especificado ya existe.
delete_all_items_by_partition_key
La característica de eliminación por clave de partición es una operación asincrónica y en segundo plano que permite eliminar todos los documentos con el mismo valor de clave de partición lógica, mediante el SDK de Cosmos. La operación de eliminación por clave de partición se limita a un consumo máximo del 10 % del total de RU/s disponibles en el contenedor cada segundo. Esto ayuda a limitar los recursos utilizados por esta tarea en segundo plano.
delete_all_items_by_partition_key(partition_key: str | int | float | bool, **kwargs: Any) -> None
Parámetros
- pre_trigger_include
- str
id. de desencadenador que se va a usar como desencadenador de operación previa.
- post_trigger_include
- str
trigger id que se va a usar como desencadenador posterior a la operación.
- session_token
- str
Token para su uso con coherencia de sesión.
- etag
- str
Valor ETag o el carácter comodín (*). Se usa para comprobar si el recurso ha cambiado y actuar según la condición especificada por el parámetro match_condition .
- match_condition
- MatchConditions
Condición de coincidencia que se va a usar en el etag.
- response_hook
- Callable
Invocable con los metadatos de respuesta.
Tipo de valor devuelto
Excepciones
El elemento con el identificador especificado ya existe.
delete_conflict
Elimine un conflicto especificado del contenedor.
Si el conflicto aún no existe en el contenedor, se genera una excepción.
delete_conflict(conflict: str | Dict[str, Any], partition_key: Any, **kwargs: Any) -> None
Parámetros
- conflict
Identificador (nombre) o dict que representa el conflicto que se va a eliminar.
- partition_key
Clave de partición del conflicto que se va a eliminar.
- response_hook
- Callable
Invocable con los metadatos de respuesta.
Tipo de valor devuelto
Excepciones
El conflicto no se eliminó correctamente.
El conflicto no existe en el contenedor.
delete_item
Elimine el elemento especificado del contenedor.
Si el elemento aún no existe en el contenedor, se genera una excepción.
delete_item(item: Dict[str, Any] | str, partition_key: Any, populate_query_metrics: bool | None = None, pre_trigger_include: str | None = None, post_trigger_include: str | None = None, **kwargs: Any) -> None
Parámetros
- item
Identificador (nombre) o dict que representa el elemento que se va a eliminar.
- partition_key
Especifica el valor de clave de partición para el elemento.
- pre_trigger_include
id. de desencadenador que se va a usar como desencadenador de operación previa.
- post_trigger_include
trigger id que se va a usar como desencadenador posterior a la operación.
- session_token
- str
Token para su uso con coherencia de sesión.
- etag
- str
Valor ETag o el carácter comodín (*). Se usa para comprobar si el recurso ha cambiado y actuar según la condición especificada por el parámetro match_condition .
- match_condition
- MatchConditions
Condición de coincidencia que se va a usar en el etag.
- response_hook
- Callable
Invocable con los metadatos de respuesta.
Tipo de valor devuelto
Excepciones
El elemento no se eliminó correctamente.
El elemento no existe en el contenedor.
get_conflict
Obtenga el conflicto identificado por conflicto.
get_conflict(conflict: str | Dict[str, Any], partition_key: Any, **kwargs: Any) -> Dict[str, Any]
Parámetros
- conflict
Identificador (nombre) o dict que representa el conflicto que se va a recuperar.
- partition_key
Clave de partición del conflicto que se va a recuperar.
- response_hook
- Callable
Invocable con los metadatos de respuesta.
Devoluciones
Un dict que representa el conflicto recuperado.
Tipo de valor devuelto
Excepciones
No se pudo recuperar el conflicto especificado.
get_throughput
Obtenga el objeto ThroughputProperties para este contenedor.
Si no existen propiedades de rendimiento para el contenedor, se genera una excepción. :keyword Response_hook invocable: invocable con los metadatos de respuesta. :returns: rendimiento del contenedor. :raises ~azure.cosmos.exceptions.CosmosHttpResponseError: no existe ninguna propiedad de rendimiento para el contenedor o
no se pudieron recuperar las propiedades de rendimiento.
get_throughput(**kwargs: Any) -> ThroughputProperties
Tipo de valor devuelto
Excepciones
El elemento con el identificador especificado ya existe.
list_conflicts
Enumere todos los conflictos del contenedor.
list_conflicts(max_item_count: int | None = None, **kwargs: Any) -> Iterable[Dict[str, Any]]
Parámetros
- max_item_count
Número máximo de elementos que se van a devolver en la operación de enumeración.
- response_hook
- Callable
Invocable con los metadatos de respuesta.
Devoluciones
Iterable de conflictos (dicts).
Tipo de valor devuelto
Excepciones
El elemento con el identificador especificado ya existe.
patch_item
Método provisional Aplica revisiones al elemento especificado con las operaciones proporcionadas si existe en el contenedor.
Si el elemento aún no existe en el contenedor, se genera una excepción.
patch_item(item: str | Dict[str, Any], partition_key: str | int | float | bool, patch_operations: List[Dict[str, Any]], **kwargs: Any) -> Dict[str, Any]
Parámetros
Identificador (nombre) o dict que representa el elemento que se va a aplicar revisiones.
Clave de partición del objeto que se va a aplicar a la revisión.
Lista de operaciones de revisión que se van a aplicar al elemento.
- filter_predicate
- str
filtro condicional que se va a aplicar a las operaciones de revisión.
- pre_trigger_include
- str
id. de desencadenador que se va a usar como desencadenador de operación previa.
- post_trigger_include
- str
trigger id que se va a usar como desencadenador posterior a la operación.
- session_token
- str
Token para su uso con coherencia de sesión.
- etag
- str
Valor ETag o el carácter comodín (*). Se usa para comprobar si el recurso ha cambiado y actuar según la condición especificada por el parámetro match_condition .
- match_condition
- MatchConditions
Condición de coincidencia que se va a usar en el etag.
- response_hook
- Callable
Invocable con los metadatos de respuesta.
Devoluciones
Un dict que representa el elemento después de que se han pasado las operaciones de revisión.
Tipo de valor devuelto
Excepciones
Error en las operaciones de revisión o el elemento con el identificador especificado no existe.
query_conflicts
Devuelve todos los conflictos que coinciden con una consulta determinada.
query_conflicts(query: str, parameters: List[str] | None = None, enable_cross_partition_query: bool | None = None, partition_key: Any | None = None, max_item_count: int | None = None, **kwargs: Any) -> Iterable[Dict[str, Any]]
Parámetros
- query
Consulta SQL de Azure Cosmos DB que se va a ejecutar.
- parameters
Matriz opcional de parámetros para la consulta. Se omite si no se proporciona ninguna consulta.
- enable_cross_partition_query
Permite el envío de más de una solicitud para ejecutar la consulta en el servicio Azure Cosmos DB. Se necesita más de una solicitud si la consulta no tiene como ámbito el valor de clave de partición única.
- partition_key
Especifica el valor de clave de partición para el elemento.
- max_item_count
Número máximo de elementos que se van a devolver en la operación de enumeración.
- response_hook
- Callable
Invocable con los metadatos de respuesta.
Devoluciones
Iterable de conflictos (dicts).
Tipo de valor devuelto
Excepciones
El elemento con el identificador especificado ya existe.
query_items
Devuelve todos los resultados que coinciden con la consulta especificada.
Puede usar cualquier valor para el nombre del contenedor en la cláusula FROM, pero a menudo se usa el nombre del contenedor. En los ejemplos siguientes, el nombre del contenedor es "products" y tiene el alias "p" para facilitar la referencia en la cláusula WHERE.
token de continuación de respuesta en la respuesta de consulta. Los valores válidos son enteros positivos. Un valor de 0 es el mismo que no pasar un valor (valor predeterminado sin límite). :keyword int max_integrated_cache_staleness_in_ms: obsolescencia máxima de caché para la caché integrada en
Milisegundos. Para las cuentas configuradas para usar la memoria caché integrada, mediante la coherencia De sesión o Eventual, se garantiza que las respuestas no sean obsoletas que este valor.
query_items(query: str, parameters: List[Dict[str, object]] | None = None, partition_key: Any | None = None, enable_cross_partition_query: bool | None = None, max_item_count: int | None = None, enable_scan_in_query: bool | None = None, populate_query_metrics: bool | None = None, **kwargs: Any) -> Iterable[Dict[str, Any]]
Devoluciones
Iterable de elementos (dicts).
Tipo de valor devuelto
Excepciones
El elemento con el identificador especificado ya existe.
Ejemplos
Obtenga todos los productos que no se han dejado de usar:
import json
for item in container.query_items(
query='SELECT * FROM products p WHERE p.productModel <> "DISCONTINUED"',
enable_cross_partition_query=True,
):
print(json.dumps(item, indent=True))
Consulta con parámetros para obtener todos los productos que se han interrumpido:
discontinued_items = container.query_items(
query='SELECT * FROM products p WHERE p.productModel = @model AND p.productName="Widget"',
parameters=[dict(name="@model", value="DISCONTINUED")],
)
for item in discontinued_items:
print(json.dumps(item, indent=True))
query_items_change_feed
Obtiene una lista ordenada de elementos que se cambiaron, en el orden en que se modificaron.
query_items_change_feed(partition_key_range_id: str | None = None, is_start_from_beginning: bool = False, continuation: str | None = None, max_item_count: int | None = None, **kwargs: Any) -> Iterable[Dict[str, Any]]
Parámetros
- partition_key_range_id
Las solicitudes ChangeFeed se pueden ejecutar en intervalos de claves de partición específicos. Se usa para procesar la fuente de cambios en paralelo en varios consumidores.
- partition_key
clave de partición en la que se destinan las solicitudes ChangeFeed.
- is_start_from_beginning
Obtenga si la fuente de cambios debe comenzar desde el principio (true) o desde el actual (false). De forma predeterminada, comienza desde el actual (false).
- continuation
e_tag valor que se usará como continuación para leer la fuente de cambios.
- max_item_count
Número máximo de elementos que se van a devolver en la operación de enumeración.
- response_hook
- Callable
Invocable con los metadatos de respuesta.
Devoluciones
Iterable de elementos (dicts).
Tipo de valor devuelto
Excepciones
El elemento con el identificador especificado ya existe.
read
Lea las propiedades del contenedor.
read(*, populate_partition_key_range_statistics: bool | None = None, populate_quota_info: bool | None = None, **kwargs)
Parámetros
- populate_partition_key_range_statistics
- bool
Habilite la devolución de estadísticas de intervalo de claves de partición en los encabezados de respuesta.
- populate_quota_info
- bool
Habilite la devolución de información de cuota de almacenamiento de recopilación en los encabezados de respuesta.
- session_token
- str
Token para su uso con coherencia de sesión.
- response_hook
- Callable
Invocable con los metadatos de respuesta.
Devoluciones
Dict que representa el contenedor recuperado.
Tipo de valor devuelto
Excepciones
Se genera si no se pudo recuperar el contenedor. Esto incluye si el contenedor no existe.
read_all_items
Enumere todos los elementos del contenedor.
read_all_items(max_item_count: int | None = None, populate_query_metrics: bool | None = None, **kwargs: Any) -> Iterable[Dict[str, Any]]
Parámetros
- max_item_count
Número máximo de elementos que se van a devolver en la operación de enumeración.
- session_token
- str
Token para su uso con coherencia de sesión.
- response_hook
- Callable
Invocable con los metadatos de respuesta.
- max_integrated_cache_staleness_in_ms
- int
Obsolescencia máxima de caché para la caché integrada en milisegundos. Para las cuentas configuradas para usar la memoria caché integrada, mediante la coherencia De sesión o Eventual, se garantiza que las respuestas no sean obsoletas que este valor.
Devoluciones
Iterable de elementos (dicts).
Tipo de valor devuelto
Excepciones
El elemento con el identificador especificado ya existe.
read_item
Obtenga el elemento identificado por elemento.
read_item(item: str | Dict[str, Any], partition_key: Any, populate_query_metrics: bool | None = None, post_trigger_include: str | None = None, **kwargs: Any) -> Dict[str, Any]
Parámetros
- item
Identificador (nombre) o dict que representa el elemento que se va a recuperar.
- partition_key
Clave de partición del elemento que se va a recuperar.
- post_trigger_include
trigger id que se va a usar como desencadenador posterior a la operación.
- session_token
- str
Token para su uso con coherencia de sesión.
- response_hook
- Callable
Invocable con los metadatos de respuesta.
- max_integrated_cache_staleness_in_ms
- int
Obsolescencia máxima de caché para la caché integrada en milisegundos. Para las cuentas configuradas para usar la memoria caché integrada, mediante la coherencia De sesión o Eventual, se garantiza que las respuestas no sean obsoletas que este valor.
Devoluciones
Dict que representa el elemento que se va a recuperar.
Tipo de valor devuelto
Excepciones
No se pudo recuperar el elemento especificado.
Ejemplos
Obtenga un elemento de la base de datos y actualice una de sus propiedades:
item = container.read_item("item2", partition_key="Widget")
item["productModel"] = "DISCONTINUED"
updated_item = container.upsert_item(item)
read_offer
Obtenga el objeto ThroughputProperties para este contenedor. Si no existen propiedades de rendimiento para el contenedor, se genera una excepción. :keyword Response_hook invocable: invocable con los metadatos de respuesta. :returns: rendimiento del contenedor. :raises ~azure.cosmos.exceptions.CosmosHttpResponseError: no existe ninguna propiedad de rendimiento para el contenedor o
no se pudieron recuperar las propiedades de rendimiento.
read_offer(**kwargs: Any) -> Offer
Tipo de valor devuelto
Excepciones
El elemento con el identificador especificado ya existe.
replace_item
Reemplaza el elemento especificado si existe en el contenedor.
Si el elemento aún no existe en el contenedor, se genera una excepción.
replace_item(item: str | Dict[str, Any], body: Dict[str, Any], populate_query_metrics: bool | None = None, pre_trigger_include: str | None = None, post_trigger_include: str | None = None, **kwargs: Any) -> Dict[str, Any]
Parámetros
- item
Identificador (nombre) o dict que representa el elemento que se va a reemplazar.
- body
Objeto de tipo dict que representa el elemento que se va a reemplazar.
- pre_trigger_include
id. de desencadenador que se va a usar como desencadenador de operación previa.
- post_trigger_include
trigger id que se va a usar como desencadenador posterior a la operación.
- session_token
- str
Token para su uso con coherencia de sesión.
- etag
- str
Valor ETag o el carácter comodín (*). Se usa para comprobar si el recurso ha cambiado y actuar según la condición especificada por el parámetro match_condition .
- match_condition
- MatchConditions
Condición de coincidencia que se va a usar en el etag.
- response_hook
- Callable
Invocable con los metadatos de respuesta.
Devoluciones
Un dict que representa el elemento después de reemplazar pasó.
Tipo de valor devuelto
Excepciones
Error en el reemplazo o el elemento con el identificador especificado no existe.
replace_throughput
Reemplace el rendimiento del contenedor.
Si no existen propiedades de rendimiento para el contenedor, se genera una excepción.
replace_throughput(throughput: int | ThroughputProperties | None, **kwargs: Any) -> ThroughputProperties
Parámetros
- throughput
Rendimiento que se va a establecer (un entero).
- response_hook
- Callable
Invocable con los metadatos de respuesta.
Devoluciones
RendimientoPropiedades para el contenedor, actualizadas con un nuevo rendimiento.
Tipo de valor devuelto
Excepciones
No se pudieron actualizar las propiedades de rendimiento para el contenedor o no se pudieron actualizar las propiedades de rendimiento.
upsert_item
Inserte o actualice el elemento especificado.
Si el elemento ya existe en el contenedor, se reemplaza. Si el elemento aún no existe, se inserta.
upsert_item(body: Dict[str, Any], populate_query_metrics: bool | None = None, pre_trigger_include: str | None = None, post_trigger_include: str | None = None, **kwargs: Any) -> Dict[str, Any]
Parámetros
- body
Objeto de tipo dict que representa el elemento que se va a actualizar o insertar.
- pre_trigger_include
id. de desencadenador que se va a usar como desencadenador de operación previa.
- post_trigger_include
trigger id que se va a usar como desencadenador posterior a la operación.
- session_token
- str
Token para su uso con coherencia de sesión.
- etag
- str
Valor ETag o el carácter comodín (*). Se usa para comprobar si el recurso ha cambiado y actuar según la condición especificada por el parámetro match_condition .
- match_condition
- MatchConditions
Condición de coincidencia que se va a usar en el etag.
- response_hook
- Callable
Invocable con los metadatos de respuesta.
Devoluciones
Un dict que representa el elemento upserted.
Tipo de valor devuelto
Excepciones
No se pudo subir el elemento especificado.
Atributos
is_system_key
scripts
Azure SDK for Python