ContainerProxy Classe
Interfaccia per interagire con un contenitore di database specifico.
Questa classe non deve essere creata direttamente. Usare invece il <xref:azure.cosmos.aio.database.DatabaseProxy.get_container_client> metodo per ottenere un contenitore esistente o il <xref:azure.cosmos.aio.database.DatabaseProxy.create_container> metodo per creare un nuovo contenitore.
Un contenitore in un database DELL'API SQL di Azure Cosmos DB è una raccolta di documenti, ognuno dei quali è rappresentato come elemento.
- Ereditarietà
-
builtins.objectContainerProxy
Costruttore
ContainerProxy(client_connection: CosmosClientConnection, database_link: str, id: str, properties: Dict[str, Any] = None)
Parametri
- client_connection
- database_link
- id
- properties
Variabili
- id
- str
ID (nome) del contenitore
- session_token
- str
Token di sessione per il contenitore.
Metodi
create_item |
Creare un elemento nel contenitore. Per aggiornare o sostituire un elemento esistente, utilizzare il upsert_item metodo . |
delete_all_items_by_partition_key |
La funzionalità di eliminazione per chiave di partizione è un'operazione in background asincrona che consente di eliminare tutti i documenti con lo stesso valore della chiave di partizione logica, usando Cosmos SDK. L'operazione di eliminazione per chiave di partizione è vincolata a utilizzare al massimo il 10% delle UR/sec totali disponibili nel contenitore ogni secondo. Ciò consente di limitare le risorse usate da questa attività in background. |
delete_conflict |
Eliminare un conflitto specificato dal contenitore. Se il conflitto non esiste già nel contenitore, viene generata un'eccezione. |
delete_item |
Eliminare l'elemento specificato dal contenitore. Se l'elemento non esiste già nel contenitore, viene generata un'eccezione. |
get_conflict |
Ottiene il conflitto identificato dal conflitto. |
get_throughput |
Ottiene l'oggetto ThroughputProperties per questo contenitore. Se non esiste già un oggetto ThroughputProperties per il contenitore, viene generata un'eccezione. |
list_conflicts |
Elencare tutti i conflitti nel contenitore. |
patch_item |
Metodo provvisorio Applica patch all'elemento specificato con le operazioni fornite, se presente nel contenitore. Se l'elemento non esiste già nel contenitore, viene generata un'eccezione. |
query_conflicts |
Restituisce tutti i conflitti corrispondenti a una determinata query. |
query_items |
Restituisce tutti i risultati corrispondenti alla query specificata. È possibile usare qualsiasi valore per il nome del contenitore nella clausola FROM, ma spesso viene usato il nome del contenitore. Negli esempi seguenti il nome del contenitore è "products" ed è aliasato come "p" per facilitare l'esecuzione di riferimenti nella clausola WHERE. token di continuazione della risposta nella risposta alla query. I valori validi sono numeri interi positivi. Il valore 0 equivale a non passare un valore (impostazione predefinita nessun limite). :keyword int max_integrated_cache_staleness_in_ms: valore massimo di decadimento della cache per la cache integrata in Millisecondi. Per gli account configurati per l'uso della cache integrata, l'uso della coerenza di sessione o finale garantisce che le risposte non siano staler di questo valore. |
query_items_change_feed |
Ottiene un elenco ordinato di elementi modificati nell'ordine in cui sono stati modificati. |
read |
Leggere le proprietà del contenitore. |
read_all_items |
Elencare tutti gli elementi nel contenitore. |
read_item |
Ottiene l'elemento identificato dall'elemento. |
replace_item |
Sostituisce l'elemento specificato, se presente nel contenitore. Se l'elemento non esiste già nel contenitore, viene generata un'eccezione. |
replace_throughput |
Sostituire la velocità effettiva del contenitore. Se non esiste già un oggetto ThroughputProperties per il contenitore, viene generata un'eccezione. |
upsert_item |
Inserire o aggiornare l'elemento specificato. Se l'elemento esiste già nel contenitore, viene sostituito. Se l'elemento non esiste già, viene inserito. |
create_item
Creare un elemento nel contenitore.
Per aggiornare o sostituire un elemento esistente, utilizzare il upsert_item metodo .
async create_item(body: Dict[str, Any], **kwargs: Any) -> Dict[str, Any]
Parametri
- pre_trigger_include
- str
trigger ID da usare come trigger di pre-operazione.
- post_trigger_include
- str
trigger ID da usare come trigger post-operazione.
- indexing_directive
- Union[int, IndexingDirective]
Enumera i valori possibili per indicare se il documento deve essere omesso dall'indicizzazione. I valori possibili includono: 0 per Default, 1 per Exclude o 2 per Include.
- enable_automatic_id_generation
- bool
Abilitare la generazione automatica dell'ID se non è presente alcun ID.
- session_token
- str
Token da usare con coerenza della sessione.
- etag
- str
Valore ETag o il carattere jolly (*). Usato per verificare se la risorsa è stata modificata e agire in base alla condizione specificata dal parametro match_condition .
- match_condition
- MatchConditions
Condizione di corrispondenza da utilizzare sull'etag.
Oggetto chiamabile richiamato con i metadati della risposta.
Restituisce
Oggetto dict che rappresenta il nuovo elemento.
Tipo restituito
Eccezioni
L'elemento con l'ID specificato esiste già.
delete_all_items_by_partition_key
La funzionalità di eliminazione per chiave di partizione è un'operazione in background asincrona che consente di eliminare tutti i documenti con lo stesso valore della chiave di partizione logica, usando Cosmos SDK. L'operazione di eliminazione per chiave di partizione è vincolata a utilizzare al massimo il 10% delle UR/sec totali disponibili nel contenitore ogni secondo. Ciò consente di limitare le risorse usate da questa attività in background.
async delete_all_items_by_partition_key(partition_key: str | int | float | bool, **kwargs: Any) -> None
Parametri
- pre_trigger_include
- str
trigger ID da usare come trigger di pre-operazione.
- post_trigger_include
- str
trigger ID da usare come trigger post-operazione.
- session_token
- str
Token da usare con coerenza della sessione.
- etag
- str
Valore ETag o il carattere jolly (*). Usato per verificare se la risorsa è stata modificata e agire in base alla condizione specificata dal parametro match_condition .
- match_condition
- MatchConditions
Condizione di corrispondenza da utilizzare sull'etag.
- response_hook
- Callable
Oggetto chiamabile richiamato con i metadati della risposta.
Tipo restituito
Eccezioni
L'elemento con l'ID specificato esiste già.
delete_conflict
Eliminare un conflitto specificato dal contenitore.
Se il conflitto non esiste già nel contenitore, viene generata un'eccezione.
async delete_conflict(conflict: str | Dict[str, Any], partition_key: str | int | float | bool, **kwargs: Any) -> None
Parametri
ID (nome) o dict che rappresenta il conflitto da recuperare.
Chiave di partizione per il conflitto da recuperare.
Oggetto chiamabile richiamato con i metadati della risposta.
Tipo restituito
Eccezioni
Il conflitto non è stato eliminato correttamente.
Il conflitto non esiste nel contenitore.
delete_item
Eliminare l'elemento specificato dal contenitore.
Se l'elemento non esiste già nel contenitore, viene generata un'eccezione.
async delete_item(item: str | Dict[str, Any], partition_key: str | int | float | bool, **kwargs: Any) -> None
Parametri
ID (nome) o dict che rappresenta l'elemento da eliminare.
Specifica il valore della chiave di partizione per l'elemento.
- pre_trigger_include
- str
trigger ID da usare come trigger di pre-operazione.
- post_trigger_include
- str
trigger ID da usare come trigger post-operazione.
- session_token
- str
Token da usare con coerenza della sessione.
- etag
- str
Valore ETag o il carattere jolly (*). Usato per verificare se la risorsa è stata modificata e agire in base alla condizione specificata dal parametro match_condition .
- match_condition
- MatchConditions
Condizione di corrispondenza da utilizzare sull'etag.
Oggetto chiamabile richiamato con i metadati della risposta.
Tipo restituito
Eccezioni
L'elemento non è stato eliminato correttamente.
L'elemento non esiste nel contenitore.
get_conflict
Ottiene il conflitto identificato dal conflitto.
async get_conflict(conflict: str | Dict[str, Any], partition_key: str | int | float | bool, **kwargs: Any) -> Dict[str, Any]
Parametri
ID (nome) o dict che rappresenta il conflitto da recuperare.
Chiave di partizione per il conflitto da recuperare.
Oggetto chiamabile richiamato con i metadati della risposta.
Restituisce
Dict che rappresenta il conflitto recuperato.
Tipo restituito
Eccezioni
Impossibile recuperare il conflitto specificato.
get_throughput
Ottiene l'oggetto ThroughputProperties per questo contenitore.
Se non esiste già un oggetto ThroughputProperties per il contenitore, viene generata un'eccezione.
async get_throughput(**kwargs: Any) -> ThroughputProperties
Parametri
Oggetto chiamabile richiamato con i metadati della risposta.
Restituisce
ThroughputProperties per il contenitore.
Tipo restituito
Eccezioni
Non è possibile recuperare le proprietà della velocità effettiva per il contenitore o le proprietà di velocità effettiva.
list_conflicts
Elencare tutti i conflitti nel contenitore.
list_conflicts(**kwargs: Any) -> AsyncItemPaged[Dict[str, Any]]
Parametri
- max_item_count
- int
Numero massimo di elementi da restituire nell'operazione di enumerazione.
Oggetto chiamabile richiamato con i metadati della risposta.
Restituisce
Oggetto AsyncItemPaged di conflitti (dict).
Tipo restituito
Eccezioni
L'elemento con l'ID specificato esiste già.
patch_item
Metodo provvisorio Applica patch all'elemento specificato con le operazioni fornite, se presente nel contenitore.
Se l'elemento non esiste già nel contenitore, viene generata un'eccezione.
async patch_item(item: str | Dict[str, Any], partition_key: str | int | float | bool, patch_operations: List[Dict[str, Any]], **kwargs: Any) -> Dict[str, Any]
Parametri
ID (nome) o dict che rappresenta l'elemento a cui applicare patch.
Chiave di partizione dell'oggetto da applicare a patch.
Elenco di operazioni patch da applicare all'elemento.
- filter_predicate
- str
filtro condizionale da applicare alle operazioni patch.
- pre_trigger_include
- str
trigger ID da usare come trigger di pre-operazione.
- post_trigger_include
- str
trigger ID da usare come trigger post-operazione.
- session_token
- str
Token da usare con coerenza della sessione.
- etag
- str
Valore ETag o il carattere jolly (*). Usato per verificare se la risorsa è stata modificata e agire in base alla condizione specificata dal parametro match_condition .
- match_condition
- MatchConditions
Condizione di corrispondenza da utilizzare sull'etag.
- response_hook
- Callable
Oggetto chiamabile richiamato con i metadati della risposta.
Restituisce
Dict che rappresenta l'elemento dopo l'esecuzione delle operazioni di patch.
Tipo restituito
Eccezioni
Le operazioni di patch non sono riuscite o l'elemento con ID specificato non esiste.
query_conflicts
Restituisce tutti i conflitti corrispondenti a una determinata query.
query_conflicts(query: str | Dict[str, Any], **kwargs: Any) -> AsyncItemPaged[Dict[str, Any]]
Parametri
Matrice facoltativa di parametri per la query. Ignorato se non viene specificata alcuna query.
Specifica il valore della chiave di partizione per l'elemento. Se non viene passato nessuno, verrà eseguita una query tra partizioni.
- max_item_count
- int
Numero massimo di elementi da restituire nell'operazione di enumerazione.
Oggetto chiamabile richiamato con i metadati della risposta.
Restituisce
Oggetto AsyncItemPaged di conflitti (dict).
Tipo restituito
Eccezioni
L'elemento con l'ID specificato esiste già.
query_items
Restituisce tutti i risultati corrispondenti alla query specificata.
È possibile usare qualsiasi valore per il nome del contenitore nella clausola FROM, ma spesso viene usato il nome del contenitore. Negli esempi seguenti il nome del contenitore è "products" ed è aliasato come "p" per facilitare l'esecuzione di riferimenti nella clausola WHERE.
token di continuazione della risposta nella risposta alla query. I valori validi sono numeri interi positivi. Il valore 0 equivale a non passare un valore (impostazione predefinita nessun limite). :keyword int max_integrated_cache_staleness_in_ms: valore massimo di decadimento della cache per la cache integrata in
Millisecondi. Per gli account configurati per l'uso della cache integrata, l'uso della coerenza di sessione o finale garantisce che le risposte non siano staler di questo valore.
query_items(query: str | Dict[str, Any], **kwargs: Any) -> AsyncItemPaged[Dict[str, Any]]
Restituisce
Oggetto AsyncItemPaged di elementi (dict).
Tipo restituito
Eccezioni
L'elemento con l'ID specificato esiste già.
Esempio
Ottenere tutti i prodotti che non sono stati interrotti:
import json
async for item in container.query_items(
query='SELECT * FROM products p WHERE p.productModel <> "DISCONTINUED"'
):
print(json.dumps(item, indent=True))
Query con parametri per ottenere tutti i prodotti che sono stati interrotti:
discontinued_items = container.query_items(
query='SELECT * FROM products p WHERE p.productModel = @model AND p.productName="Widget"',
parameters=[dict(name="@model", value="DISCONTINUED")],
)
async for item in discontinued_items:
print(json.dumps(item, indent=True))
query_items_change_feed
Ottiene un elenco ordinato di elementi modificati nell'ordine in cui sono stati modificati.
query_items_change_feed(**kwargs: Any) -> AsyncItemPaged[Dict[str, Any]]
Parametri
- is_start_from_beginning
- bool
Determinare se il feed di modifiche deve iniziare dall'inizio (true) o dal valore corrente (false). Per impostazione predefinita, inizia da corrente (false).
- partition_key_range_id
- str
Le richieste ChangeFeed possono essere eseguite su intervalli di chiavi di partizione specifici. Viene usato per elaborare il feed di modifiche in parallelo tra più consumer.
- continuation
- str
e_tag valore da usare come continuazione per la lettura del feed di modifiche.
- max_item_count
- int
Numero massimo di elementi da restituire nell'operazione di enumerazione.
chiave di partizione a cui vengono assegnate le richieste ChangeFeed.
Oggetto chiamabile richiamato con i metadati della risposta.
Restituisce
Oggetto AsyncItemPaged di elementi (dict).
Tipo restituito
Eccezioni
L'elemento con l'ID specificato esiste già.
read
Leggere le proprietà del contenitore.
async read(**kwargs: Any) -> Dict[str, Any]
Parametri
- populate_partition_key_range_statistics
- bool
Abilitare la restituzione delle statistiche dell'intervallo di chiavi di partizione nelle intestazioni di risposta.
- populate_quota_info
- bool
Abilitare la restituzione delle informazioni sulla quota di archiviazione della raccolta nelle intestazioni di risposta.
- session_token
- str
Token da usare con coerenza della sessione.
Oggetto chiamabile richiamato con i metadati della risposta.
Restituisce
Dict che rappresenta il contenitore recuperato.
Tipo restituito
Eccezioni
Generato se non è stato possibile recuperare il contenitore. Ciò include se il contenitore non esiste.
read_all_items
Elencare tutti gli elementi nel contenitore.
read_all_items(**kwargs: Any) -> AsyncItemPaged[Dict[str, Any]]
Parametri
- max_item_count
- int
Numero massimo di elementi da restituire nell'operazione di enumerazione.
- session_token
- str
Token da usare con coerenza della sessione.
Oggetto chiamabile richiamato con i metadati della risposta.
- max_integrated_cache_staleness_in_ms
- int
Decadimento massimo della cache per la cache integrata in millisecondi. Per gli account configurati per l'uso della cache integrata, l'uso della coerenza di sessione o finale garantisce che le risposte non siano staler di questo valore.
Restituisce
Oggetto AsyncItemPaged di elementi (dict).
Tipo restituito
Eccezioni
L'elemento con l'ID specificato esiste già.
read_item
Ottiene l'elemento identificato dall'elemento.
async read_item(item: str | Dict[str, Any], partition_key: str | int | float | bool, **kwargs: Any) -> Dict[str, Any]
Parametri
ID (nome) o dict che rappresenta l'elemento da recuperare.
Chiave di partizione per l'elemento da recuperare.
- post_trigger_include
- str
trigger ID da usare come trigger post-operazione.
- session_token
- str
Token da usare con coerenza della sessione.
Oggetto chiamabile richiamato con i metadati della risposta.
- max_integrated_cache_staleness_in_ms
- int
Decadimento massimo della cache per la cache integrata in millisecondi. Per gli account configurati per l'uso della cache integrata, l'uso della coerenza di sessione o finale garantisce che le risposte non siano staler di questo valore.
Restituisce
Dict che rappresenta l'elemento da recuperare.
Tipo restituito
Eccezioni
Impossibile recuperare l'elemento specificato.
Esempio
Ottenere un elemento dal database e aggiornarne una delle proprietà:
item = await container.read_item("item2", partition_key="Widget")
item["productModel"] = "DISCONTINUED"
updated_item = await container.upsert_item(item)
replace_item
Sostituisce l'elemento specificato, se presente nel contenitore.
Se l'elemento non esiste già nel contenitore, viene generata un'eccezione.
async replace_item(item: str | Dict[str, Any], body: Dict[str, Any], **kwargs: Any) -> Dict[str, Any]
Parametri
ID (nome) o dict che rappresenta l'elemento da sostituire.
- pre_trigger_include
- str
trigger ID da usare come trigger di pre-operazione.
- post_trigger_include
- str
trigger ID da usare come trigger post-operazione.
- session_token
- str
Token da usare con coerenza della sessione.
- etag
- str
Valore ETag o il carattere jolly (*). Usato per verificare se la risorsa è stata modificata e agire in base alla condizione specificata dal parametro match_condition .
- match_condition
- MatchConditions
Condizione di corrispondenza da utilizzare sull'etag.
Oggetto chiamabile richiamato con i metadati della risposta.
Restituisce
Oggetto dict che rappresenta l'elemento dopo il passaggio della sostituzione.
Tipo restituito
Eccezioni
Sostituzione non riuscita o l'elemento con ID specificato non esiste.
replace_throughput
Sostituire la velocità effettiva del contenitore.
Se non esiste già un oggetto ThroughputProperties per il contenitore, viene generata un'eccezione.
async replace_throughput(throughput: int | ThroughputProperties, **kwargs: Any) -> ThroughputProperties
Parametri
Oggetto chiamabile richiamato con i metadati della risposta.
Restituisce
ThroughputProperties per il contenitore, aggiornato con una nuova velocità effettiva.
Tipo restituito
Eccezioni
Non è possibile aggiornare le proprietà della velocità effettiva per il contenitore o le proprietà di velocità effettiva.
upsert_item
Inserire o aggiornare l'elemento specificato.
Se l'elemento esiste già nel contenitore, viene sostituito. Se l'elemento non esiste già, viene inserito.
async upsert_item(body: Dict[str, Any], **kwargs: Any) -> Dict[str, Any]
Parametri
Oggetto simile a ct che rappresenta l'elemento da aggiornare o inserire.
- pre_trigger_include
- str
trigger ID da usare come trigger di pre-operazione.
- post_trigger_include
- str
trigger ID da usare come trigger post-operazione.
- session_token
- str
Token da usare con coerenza della sessione.
- etag
- str
Valore ETag o il carattere jolly (*). Usato per verificare se la risorsa è stata modificata e agire in base alla condizione specificata dal parametro match_condition .
- match_condition
- MatchConditions
Condizione di corrispondenza da utilizzare sull'etag.
Oggetto chiamabile richiamato con i metadati della risposta.
Restituisce
Oggetto dict che rappresenta l'elemento in alto.
Tipo restituito
Eccezioni
Impossibile eseguire l'upserted dell'elemento specificato.
Attributi
is_system_key
scripts
Azure SDK for Python