ContainerProxy Classe
Uma interface para interagir com um contêiner de banco de dados específico.
Essa classe não deve ser instanciada diretamente. Em vez disso, use o get_container_client método para obter um contêiner existente ou o create_container método para criar um novo contêiner.
Um contêiner em um banco de dados da API SQL do Azure Cosmos DB é uma coleção de documentos, cada um deles representado como um Item.
- Herança
-
builtins.objectContainerProxy
Construtor
ContainerProxy(client_connection: CosmosClientConnection, database_link: str, id: str, properties: Dict[str, Any] = None)
Parâmetros
- client_connection
- database_link
- id
- properties
Variáveis
- id
- str
ID (nome) do contêiner
- session_token
- str
O token de sessão para o contêiner.
Métodos
create_item |
Crie um item no contêiner. Para atualizar ou substituir um item existente, use o upsert_item método . |
delete_all_items_by_partition_key |
O recurso de excluir por chave de partição é uma operação assíncrona em segundo plano que permite excluir todos os documentos com o mesmo valor de chave de partição lógica usando o SDK do Cosmos. A operação de exclusão por chave de partição é limitada a consumir no máximo 10% do total de RUs disponíveis no contêiner a cada segundo. Isso ajuda a limitar os recursos usados por essa tarefa em segundo plano. |
delete_conflict |
Exclua um conflito especificado do contêiner. Se o conflito ainda não existir no contêiner, uma exceção será gerada. |
delete_item |
Exclua o item especificado do contêiner. Se o item ainda não existir no contêiner, uma exceção será gerada. |
get_conflict |
Obtenha o conflito identificado pelo conflito. |
get_throughput |
Obtenha o objeto ThroughputProperties para esse contêiner. Se nenhuma ThroughputProperties já existir para o contêiner, uma exceção será gerada. :palavra-chave response_hook callable: um callable invocado com os metadados de resposta. :returns: taxa de transferência para o contêiner. :gera ~azure.cosmos.exceptions.CosmosHttpResponseError: não existem propriedades de taxa de transferência para o contêiner ou as propriedades de taxa de transferência não puderam ser recuperadas. |
list_conflicts |
Liste todos os conflitos no contêiner. |
patch_item |
Método provisório Corrige o item especificado com as operações fornecidas se ele existir no contêiner. Se o item ainda não existir no contêiner, uma exceção será gerada. |
query_conflicts |
Retornar todos os conflitos correspondentes a uma determinada consulta. |
query_items |
Retornar todos os resultados correspondentes à consulta fornecida. Você pode usar qualquer valor para o nome do contêiner na cláusula FROM, mas geralmente o nome do contêiner é usado. Nos exemplos abaixo, o nome do contêiner é "products" e é aliased como "p" para facilitar a referência na cláusula WHERE. token de continuação de resposta na resposta da consulta. Valores válidos são inteiros positivos. Um valor de 0 é o mesmo que não passar um valor (padrão sem limite). :palavra-chave int max_integrated_cache_staleness_in_ms: a desatualização máxima do cache para o cache integrado em Milissegundos. Para contas configuradas para usar o cache integrado, usando a Consistência de Sessão ou Eventual, é garantido que as respostas não sejam mais obsoletas do que esse valor. |
query_items_change_feed |
Obtenha uma lista classificada de itens que foram alterados, na ordem em que foram modificados. |
read |
Leia as propriedades do contêiner. |
read_all_items |
Liste todos os itens no contêiner. |
read_item |
Obtenha o item identificado pelo item. |
read_offer |
Obtenha o objeto ThroughputProperties para este contêiner. Se nenhuma ThroughputProperties já existir para o contêiner, uma exceção será gerada. :palavra-chave response_hook callable: um callable invocado com os metadados de resposta. :returns: taxa de transferência para o contêiner. :gera ~azure.cosmos.exceptions.CosmosHttpResponseError: não existem propriedades de taxa de transferência para o contêiner ou as propriedades de taxa de transferência não puderam ser recuperadas. |
replace_item |
Substituirá o item especificado se ele existir no contêiner. Se o item ainda não existir no contêiner, uma exceção será gerada. |
replace_throughput |
Substitua a taxa de transferência do contêiner. Se nenhuma ThroughputProperties já existir para o contêiner, uma exceção será gerada. |
upsert_item |
Insira ou atualize o item especificado. Se o item já existir no contêiner, ele será substituído. Se o item ainda não existir, ele será inserido. |
create_item
Crie um item no contêiner.
Para atualizar ou substituir um item existente, use o 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
Um objeto semelhante a um dict que representa o item a ser criado.
- pre_trigger_include
ID do gatilho a ser usada como gatilho de pré-operação.
- post_trigger_include
ID de gatilho a ser usada como gatilho pós-operação.
- indexing_directive
Indique se o documento deve ser omitido da indexação.
- enable_automatic_id_generation
- bool
Habilite a geração automática de IDs se nenhuma ID estiver presente.
- session_token
- str
Token para uso com consistência de sessão.
- etag
- str
Um valor de ETag ou o caractere curinga (*). Usado para marcar se o recurso foi alterado e agir de acordo com a condição especificada pelo parâmetro match_condition.
- match_condition
- MatchConditions
A condição de correspondência a ser usada na etag.
- response_hook
- Callable
Um callable invocado com os metadados de resposta.
Retornos
Um dict que representa o novo item.
Tipo de retorno
Exceções
O item com a ID fornecida já existe.
delete_all_items_by_partition_key
O recurso de excluir por chave de partição é uma operação assíncrona em segundo plano que permite excluir todos os documentos com o mesmo valor de chave de partição lógica usando o SDK do Cosmos. A operação de exclusão por chave de partição é limitada a consumir no máximo 10% do total de RUs disponíveis no contêiner a cada segundo. Isso ajuda a limitar os recursos usados por essa tarefa em segundo plano.
delete_all_items_by_partition_key(partition_key: str | int | float | bool, **kwargs: Any) -> None
Parâmetros
- pre_trigger_include
- str
ID do gatilho a ser usada como gatilho de pré-operação.
- post_trigger_include
- str
ID de gatilho a ser usada como gatilho pós-operação.
- session_token
- str
Token para uso com consistência de sessão.
- etag
- str
Um valor de ETag ou o caractere curinga (*). Usado para marcar se o recurso foi alterado e agir de acordo com a condição especificada pelo parâmetro match_condition.
- match_condition
- MatchConditions
A condição de correspondência a ser usada na etag.
- response_hook
- Callable
Um callable invocado com os metadados de resposta.
Tipo de retorno
Exceções
O item com a ID fornecida já existe.
delete_conflict
Exclua um conflito especificado do contêiner.
Se o conflito ainda não existir no contêiner, uma exceção será gerada.
delete_conflict(conflict: str | Dict[str, Any], partition_key: Any, **kwargs: Any) -> None
Parâmetros
- conflict
A ID (nome) ou o ditado que representa o conflito a ser excluído.
- partition_key
Chave de partição para o conflito a ser excluído.
- response_hook
- Callable
Um callable invocado com os metadados de resposta.
Tipo de retorno
Exceções
O conflito não foi excluído com êxito.
O conflito não existe no contêiner.
delete_item
Exclua o item especificado do contêiner.
Se o item ainda não existir no contêiner, uma exceção será gerada.
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
A ID (nome) ou o dict que representa o item a ser excluído.
- partition_key
Especifica o valor da chave de partição para o item.
- pre_trigger_include
ID do gatilho a ser usada como gatilho de pré-operação.
- post_trigger_include
ID de gatilho a ser usada como gatilho pós-operação.
- session_token
- str
Token para uso com consistência de sessão.
- etag
- str
Um valor de ETag ou o caractere curinga (*). Usado para marcar se o recurso foi alterado e agir de acordo com a condição especificada pelo parâmetro match_condition.
- match_condition
- MatchConditions
A condição de correspondência a ser usada na etag.
- response_hook
- Callable
Um callable invocado com os metadados de resposta.
Tipo de retorno
Exceções
O item não foi excluído com êxito.
O item não existe no contêiner.
get_conflict
Obtenha o conflito identificado pelo conflito.
get_conflict(conflict: str | Dict[str, Any], partition_key: Any, **kwargs: Any) -> Dict[str, Any]
Parâmetros
- conflict
A ID (nome) ou ditado que representa o conflito a ser recuperado.
- partition_key
Chave de partição para o conflito a ser recuperado.
- response_hook
- Callable
Um callable invocado com os metadados de resposta.
Retornos
Um dict que representa o conflito recuperado.
Tipo de retorno
Exceções
Não foi possível recuperar o conflito especificado.
get_throughput
Obtenha o objeto ThroughputProperties para esse contêiner.
Se nenhuma ThroughputProperties já existir para o contêiner, uma exceção será gerada. :palavra-chave response_hook callable: um callable invocado com os metadados de resposta. :returns: taxa de transferência para o contêiner. :gera ~azure.cosmos.exceptions.CosmosHttpResponseError: não existem propriedades de taxa de transferência para o contêiner ou
as propriedades de taxa de transferência não puderam ser recuperadas.
get_throughput(**kwargs: Any) -> ThroughputProperties
Tipo de retorno
Exceções
O item com a ID fornecida já existe.
list_conflicts
Liste todos os conflitos no contêiner.
list_conflicts(max_item_count: int | None = None, **kwargs: Any) -> Iterable[Dict[str, Any]]
Parâmetros
- max_item_count
Número máximo de itens a serem retornados na operação de enumeração.
- response_hook
- Callable
Um callable invocado com os metadados de resposta.
Retornos
Um iterável de conflitos (dicts).
Tipo de retorno
Exceções
O item com a ID fornecida já existe.
patch_item
Método provisório Corrige o item especificado com as operações fornecidas se ele existir no contêiner.
Se o item ainda não existir no contêiner, uma exceção será gerada.
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
A ID (nome) ou dict que representa o item a ser corrigido.
A chave de partição do objeto a ser corrigido.
A lista de operações de patch a serem aplicadas ao item.
- filter_predicate
- str
filtro condicional a ser aplicado a operações de patch.
- pre_trigger_include
- str
ID do gatilho a ser usada como gatilho de pré-operação.
- post_trigger_include
- str
ID de gatilho a ser usada como gatilho pós-operação.
- session_token
- str
Token para uso com consistência de sessão.
- etag
- str
Um valor de ETag ou o caractere curinga (*). Usado para marcar se o recurso foi alterado e agir de acordo com a condição especificada pelo parâmetro match_condition.
- match_condition
- MatchConditions
A condição de correspondência a ser usada na etag.
- response_hook
- Callable
Um callable invocado com os metadados de resposta.
Retornos
Um dict que representa o item depois que as operações de patch foram concluídas.
Tipo de retorno
Exceções
As operações de patch falharam ou o item com determinada ID não existe.
query_conflicts
Retornar todos os conflitos correspondentes a uma determinada consulta.
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
A consulta SQL do Azure Cosmos DB a ser executada.
- parameters
Matriz opcional de parâmetros para a consulta. Ignorado se nenhuma consulta for fornecida.
- enable_cross_partition_query
Permite o envio de mais de uma solicitação para executar a consulta no serviço do Azure Cosmos DB. Mais de uma solicitação será necessária se a consulta não tiver escopo para o valor de chave de partição única.
- partition_key
Especifica o valor da chave de partição para o item.
- max_item_count
Número máximo de itens a serem retornados na operação de enumeração.
- response_hook
- Callable
Um callable invocado com os metadados de resposta.
Retornos
Um iterável de conflitos (dicts).
Tipo de retorno
Exceções
O item com a ID fornecida já existe.
query_items
Retornar todos os resultados correspondentes à consulta fornecida.
Você pode usar qualquer valor para o nome do contêiner na cláusula FROM, mas geralmente o nome do contêiner é usado. Nos exemplos abaixo, o nome do contêiner é "products" e é aliased como "p" para facilitar a referência na cláusula WHERE.
token de continuação de resposta na resposta da consulta. Valores válidos são inteiros positivos. Um valor de 0 é o mesmo que não passar um valor (padrão sem limite). :palavra-chave int max_integrated_cache_staleness_in_ms: a desatualização máxima do cache para o cache integrado em
Milissegundos. Para contas configuradas para usar o cache integrado, usando a Consistência de Sessão ou Eventual, é garantido que as respostas não sejam mais obsoletas do que esse 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]]
Retornos
Um Iterável de itens (ditados).
Tipo de retorno
Exceções
O item com a ID fornecida já existe.
Exemplos
Obtenha todos os produtos que não foram descontinuados:
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 parametrizada para obter todos os produtos que foram descontinuados:
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
Obtenha uma lista classificada de itens que foram alterados, na ordem em que foram modificados.
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
As solicitações do ChangeFeed podem ser executadas em intervalos de chaves de partição específicos. Isso é usado para processar o feed de alterações em paralelo entre vários consumidores.
- partition_key
chave de partição na qual as solicitações do ChangeFeed são direcionadas.
- is_start_from_beginning
Obtenha se o feed de alterações deve começar do início (true) ou do atual (false). Por padrão, ele é iniciado do atual (false).
- continuation
e_tag valor a ser usado como continuação para leitura do feed de alterações.
- max_item_count
Número máximo de itens a serem retornados na operação de enumeração.
- response_hook
- Callable
Um callable invocado com os metadados de resposta.
Retornos
Um Iterável de itens (ditados).
Tipo de retorno
Exceções
O item com a ID fornecida já existe.
read
Leia as propriedades do contêiner.
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 o retorno de estatísticas de intervalo de chaves de partição em cabeçalhos de resposta.
- populate_quota_info
- bool
Habilite o retorno de informações de cota de armazenamento de coleção em cabeçalhos de resposta.
- session_token
- str
Token para uso com consistência de sessão.
- response_hook
- Callable
Um callable invocado com os metadados de resposta.
Retornos
Dict que representa o contêiner recuperado.
Tipo de retorno
Exceções
Gerado se o contêiner não puder ser recuperado. Isso inclui se o contêiner não existir.
read_all_items
Liste todos os itens no contêiner.
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 itens a serem retornados na operação de enumeração.
- session_token
- str
Token para uso com consistência de sessão.
- response_hook
- Callable
Um callable invocado com os metadados de resposta.
- max_integrated_cache_staleness_in_ms
- int
A desatualização máxima do cache para o cache integrado em milissegundos. Para contas configuradas para usar o cache integrado, usando a Consistência de Sessão ou Eventual, é garantido que as respostas não sejam mais obsoletas do que esse valor.
Retornos
Um Iterável de itens (ditados).
Tipo de retorno
Exceções
O item com a ID fornecida já existe.
read_item
Obtenha o item identificado pelo item.
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
A ID (nome) ou ditado que representa o item a ser recuperado.
- partition_key
Chave de partição para o item a ser recuperado.
- post_trigger_include
ID do gatilho a ser usada como gatilho pós-operação.
- session_token
- str
Token para uso com consistência de sessão.
- response_hook
- Callable
Um callable invocado com os metadados de resposta.
- max_integrated_cache_staleness_in_ms
- int
A desatualização máxima do cache para o cache integrado em milissegundos. Para contas configuradas para usar o cache integrado, usando a Consistência de Sessão ou Eventual, é garantido que as respostas não sejam mais obsoletas do que esse valor.
Retornos
Dict que representa o item a ser recuperado.
Tipo de retorno
Exceções
Não foi possível recuperar o item especificado.
Exemplos
Obtenha um item do banco de dados e atualize uma de suas propriedades:
item = container.read_item("item2", partition_key="Widget")
item["productModel"] = "DISCONTINUED"
updated_item = container.upsert_item(item)
read_offer
Obtenha o objeto ThroughputProperties para este contêiner. Se nenhuma ThroughputProperties já existir para o contêiner, uma exceção será gerada. :palavra-chave response_hook callable: um callable invocado com os metadados de resposta. :returns: taxa de transferência para o contêiner. :gera ~azure.cosmos.exceptions.CosmosHttpResponseError: não existem propriedades de taxa de transferência para o contêiner ou
as propriedades de taxa de transferência não puderam ser recuperadas.
read_offer(**kwargs: Any) -> Offer
Tipo de retorno
Exceções
O item com a ID fornecida já existe.
replace_item
Substituirá o item especificado se ele existir no contêiner.
Se o item ainda não existir no contêiner, uma exceção será gerada.
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
A ID (nome) ou o ditado que representa o item a ser substituído.
- body
Um objeto semelhante a um ditado que representa o item a ser substituído.
- pre_trigger_include
id de gatilho a ser usada como gatilho de pré-operação.
- post_trigger_include
ID do gatilho a ser usada como gatilho pós-operação.
- session_token
- str
Token para uso com consistência de sessão.
- etag
- str
Um valor de ETag ou o caractere curinga (*). Usado para marcar se o recurso foi alterado e agir de acordo com a condição especificada pelo parâmetro match_condition.
- match_condition
- MatchConditions
A condição de correspondência a ser usada na etag.
- response_hook
- Callable
Um callable invocado com os metadados de resposta.
Retornos
Um ditado que representa o item após a substituição.
Tipo de retorno
Exceções
A substituição falhou ou o item com a ID fornecida não existe.
replace_throughput
Substitua a taxa de transferência do contêiner.
Se nenhuma ThroughputProperties já existir para o contêiner, uma exceção será gerada.
replace_throughput(throughput: int | ThroughputProperties | None, **kwargs: Any) -> ThroughputProperties
Parâmetros
- throughput
A taxa de transferência a ser definida (um inteiro).
- response_hook
- Callable
Um callable invocado com os metadados de resposta.
Retornos
ThroughputProperties para o contêiner, atualizado com nova taxa de transferência.
Tipo de retorno
Exceções
Nenhuma propriedade de taxa de transferência existe para o contêiner ou as propriedades de taxa de transferência não puderam ser atualizadas.
upsert_item
Insira ou atualize o item especificado.
Se o item já existir no contêiner, ele será substituído. Se o item ainda não existir, ele será inserido.
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
Um objeto semelhante a um ditado que representa o item a ser atualizado ou inserido.
- pre_trigger_include
id de gatilho a ser usada como gatilho de pré-operação.
- post_trigger_include
ID do gatilho a ser usada como gatilho pós-operação.
- session_token
- str
Token para uso com consistência de sessão.
- etag
- str
Um valor de ETag ou o caractere curinga (*). Usado para marcar se o recurso foi alterado e agir de acordo com a condição especificada pelo parâmetro match_condition.
- match_condition
- MatchConditions
A condição de correspondência a ser usada na etag.
- response_hook
- Callable
Um callable invocado com os metadados de resposta.
Retornos
Um ditado que representa o item upserted.
Tipo de retorno
Exceções
Não foi possível inserir o item especificado.
Atributos
is_system_key
scripts
Azure SDK for Python