ContainerProxy Classe
Interfaccia per interagire con un contenitore di database specifico.
Questa classe non deve essere creata direttamente. Usare invece il get_container_client metodo per ottenere un contenitore esistente o il 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, usare il upsert_item metodo . |
delete_all_items_by_partition_key |
La funzionalità elimina 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% del totale delle UR/s 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 |
Ottenere il conflitto identificato dal conflitto. |
get_throughput |
Ottenere l'oggetto ThroughputProperties per questo contenitore. Se non esistono già proprietà di velocità effettiva per il contenitore, viene generata un'eccezione. :keyword Callable response_hook: una chiamata richiamata con i metadati della risposta. :restituisce: velocità effettiva per il contenitore. :genera ~azure.cosmos.exceptions.CosmosHttpResponseError: nessuna proprietà di velocità effettiva esiste per il contenitore o Impossibile recuperare le proprietà della velocità effettiva. |
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. |
read_offer |
Ottiene l'oggetto ThroughputProperties per questo contenitore. Se non esiste già un oggetto ThroughputProperties per il contenitore, viene generata un'eccezione. :keyword Callable response_hook: chiamata richiamabile con i metadati della risposta. :returns: velocità effettiva per il contenitore. :genera ~azure.cosmos.exceptions.CosmosHttpResponseError: non esistono proprietà di velocità effettiva per il contenitore o Impossibile recuperare le proprietà della velocità effettiva. |
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, usare il upsert_item metodo .
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]
Parametri
- body
Oggetto dict-like che rappresenta l'elemento da creare.
- pre_trigger_include
id trigger da usare come trigger di pre-operazione.
- post_trigger_include
id trigger da usare come trigger post-operazione.
- indexing_directive
Indica se il documento deve essere omesso dall'indicizzazione.
- enable_automatic_id_generation
- bool
Abilitare la generazione automatica dell'ID se non è presente alcun ID.
- session_token
- str
Token da usare con coerenza sessione.
- etag
- str
Valore ETag o il carattere jolly (*). Usato per verificare se la risorsa è cambiata e agire in base alla condizione specificata dal parametro match_condition .
- match_condition
- MatchConditions
Condizione di corrispondenza da utilizzare sul etag.
- response_hook
- Callable
Chiamata richiamata con i metadati della risposta.
Restituisce
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à elimina 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% del totale delle UR/s disponibili nel contenitore ogni secondo. Ciò consente di limitare le risorse usate da questa attività in background.
delete_all_items_by_partition_key(partition_key: str | int | float | bool, **kwargs: Any) -> None
Parametri
- pre_trigger_include
- str
id trigger da usare come trigger di pre-operazione.
- post_trigger_include
- str
id trigger da usare come trigger post-operazione.
- session_token
- str
Token da usare con coerenza sessione.
- etag
- str
Valore ETag o il carattere jolly (*). Usato per verificare se la risorsa è cambiata e agire in base alla condizione specificata dal parametro match_condition .
- match_condition
- MatchConditions
Condizione di corrispondenza da utilizzare sul etag.
- response_hook
- Callable
Chiamata richiamata 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.
delete_conflict(conflict: str | Dict[str, Any], partition_key: Any, **kwargs: Any) -> None
Parametri
- conflict
ID (nome) o dict che rappresenta il conflitto da eliminare.
- partition_key
Chiave di partizione per l'eliminazione del conflitto.
- response_hook
- Callable
Chiamata richiamata 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.
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
Parametri
- item
ID (nome) o dict che rappresenta l'elemento da eliminare.
- partition_key
Specifica il valore della chiave di partizione per l'elemento.
- pre_trigger_include
id trigger da usare come trigger di pre-operazione.
- post_trigger_include
id trigger da usare come trigger post-operazione.
- session_token
- str
Token da usare con coerenza sessione.
- etag
- str
Valore ETag o il carattere jolly (*). Usato per verificare se la risorsa è cambiata e agire in base alla condizione specificata dal parametro match_condition .
- match_condition
- MatchConditions
Condizione di corrispondenza da utilizzare sul etag.
- response_hook
- Callable
Chiamata richiamata con i metadati della risposta.
Tipo restituito
Eccezioni
L'elemento non è stato eliminato correttamente.
L'elemento non esiste nel contenitore.
get_conflict
Ottenere il conflitto identificato dal conflitto.
get_conflict(conflict: str | Dict[str, Any], partition_key: Any, **kwargs: Any) -> Dict[str, Any]
Parametri
- conflict
ID (nome) o dict che rappresenta il conflitto da recuperare.
- partition_key
Chiave di partizione per il recupero del conflitto.
- response_hook
- Callable
Chiamata richiamata con i metadati della risposta.
Restituisce
Un dict che rappresenta il conflitto recuperato.
Tipo restituito
Eccezioni
Impossibile recuperare il conflitto specificato.
get_throughput
Ottenere l'oggetto ThroughputProperties per questo contenitore.
Se non esistono già proprietà di velocità effettiva per il contenitore, viene generata un'eccezione. :keyword Callable response_hook: una chiamata richiamata con i metadati della risposta. :restituisce: velocità effettiva per il contenitore. :genera ~azure.cosmos.exceptions.CosmosHttpResponseError: nessuna proprietà di velocità effettiva esiste per il contenitore o
Impossibile recuperare le proprietà della velocità effettiva.
get_throughput(**kwargs: Any) -> ThroughputProperties
Tipo restituito
Eccezioni
L'elemento con l'ID specificato esiste già.
list_conflicts
Elencare tutti i conflitti nel contenitore.
list_conflicts(max_item_count: int | None = None, **kwargs: Any) -> Iterable[Dict[str, Any]]
Parametri
- max_item_count
Numero massimo di elementi da restituire nell'operazione di enumerazione.
- response_hook
- Callable
Chiamata richiamata con i metadati della risposta.
Restituisce
Iterabile dei 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.
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 da applicare a patch.
Chiave di partizione dell'oggetto da applicare a patch.
Elenco delle operazioni di patch da applicare all'elemento.
- filter_predicate
- str
filtro condizionale da applicare alle operazioni patch.
- pre_trigger_include
- str
id trigger da usare come trigger di pre-operazione.
- post_trigger_include
- str
id trigger da usare come trigger post-operazione.
- session_token
- str
Token da usare con coerenza sessione.
- etag
- str
Valore ETag o il carattere jolly (*). Usato per verificare se la risorsa è cambiata e agire in base alla condizione specificata dal parametro match_condition .
- match_condition
- MatchConditions
Condizione di corrispondenza da utilizzare sul etag.
- response_hook
- Callable
Chiamata richiamata con i metadati della risposta.
Restituisce
Un dict che rappresenta l'elemento dopo che le operazioni di patch sono passate.
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, 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]]
Parametri
- query
Query SQL di Azure Cosmos DB da eseguire.
- parameters
Matrice facoltativa di parametri nella query. Ignorato se non viene fornita alcuna query.
- enable_cross_partition_query
Consente l'invio di più richieste per eseguire la query nel servizio Azure Cosmos DB. È necessaria più di una richiesta se la query non è con ambito per il valore della chiave di partizione singola.
- partition_key
Specifica il valore della chiave di partizione per l'elemento.
- max_item_count
Numero massimo di elementi da restituire nell'operazione di enumerazione.
- response_hook
- Callable
Chiamata richiamata con i metadati della risposta.
Restituisce
Iterabile dei 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, 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]]
Restituisce
Iterabile 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
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))
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")],
)
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(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]]
Parametri
- partition_key_range_id
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.
- partition_key
chiave di partizione a cui vengono destinate le richieste ChangeFeed.
- is_start_from_beginning
Determinare se il feed di modifiche deve iniziare dall'inizio (true) o dal valore corrente (false). Per impostazione predefinita, inizia da corrente (false).
- continuation
e_tag valore da usare come continuazione per la lettura del feed di modifiche.
- max_item_count
Numero massimo di elementi da restituire nell'operazione di enumerazione.
- response_hook
- Callable
Oggetto chiamabile richiamato con i metadati della risposta.
Restituisce
Iterabile di elementi (dict).
Tipo restituito
Eccezioni
L'elemento con l'ID specificato esiste già.
read
Leggere le proprietà del contenitore.
read(*, populate_partition_key_range_statistics: bool | None = None, populate_quota_info: bool | None = None, **kwargs)
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.
- response_hook
- Callable
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(max_item_count: int | None = None, populate_query_metrics: bool | None = None, **kwargs: Any) -> Iterable[Dict[str, Any]]
Parametri
- max_item_count
Numero massimo di elementi da restituire nell'operazione di enumerazione.
- session_token
- str
Token da usare con coerenza della sessione.
- response_hook
- Callable
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
Iterabile di elementi (dict).
Tipo restituito
Eccezioni
L'elemento con l'ID specificato esiste già.
read_item
Ottiene l'elemento identificato dall'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]
Parametri
- item
ID (nome) o dict che rappresenta l'elemento da recuperare.
- partition_key
Chiave di partizione per l'elemento da recuperare.
- post_trigger_include
trigger ID da usare come trigger post-operazione.
- session_token
- str
Token da usare con coerenza della sessione.
- response_hook
- Callable
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 = container.read_item("item2", partition_key="Widget")
item["productModel"] = "DISCONTINUED"
updated_item = container.upsert_item(item)
read_offer
Ottiene l'oggetto ThroughputProperties per questo contenitore. Se non esiste già un oggetto ThroughputProperties per il contenitore, viene generata un'eccezione. :keyword Callable response_hook: chiamata richiamabile con i metadati della risposta. :returns: velocità effettiva per il contenitore. :genera ~azure.cosmos.exceptions.CosmosHttpResponseError: non esistono proprietà di velocità effettiva per il contenitore o
Impossibile recuperare le proprietà della velocità effettiva.
read_offer(**kwargs: Any) -> Offer
Tipo restituito
Eccezioni
L'elemento con l'ID specificato esiste già.
replace_item
Sostituisce l'elemento specificato, se presente nel contenitore.
Se l'elemento non esiste già nel contenitore, viene generata un'eccezione.
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]
Parametri
- item
ID (nome) o dict che rappresenta l'elemento da sostituire.
- body
Oggetto dict-like che rappresenta l'elemento da sostituire.
- pre_trigger_include
trigger ID da usare come trigger di pre-operazione.
- post_trigger_include
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
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.
replace_throughput(throughput: int | ThroughputProperties | None, **kwargs: Any) -> ThroughputProperties
Parametri
- throughput
Velocità effettiva da impostare (un numero intero).
- response_hook
- Callable
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.
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]
Parametri
- body
Oggetto simile a ct che rappresenta l'elemento da aggiornare o inserire.
- pre_trigger_include
trigger ID da usare come trigger di pre-operazione.
- post_trigger_include
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
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