ContainerProxy Klasse
Eine Schnittstelle für die Interaktion mit einem bestimmten Datenbankcontainer.
Diese Klasse sollte nicht direkt instanziiert werden. Verwenden Sie stattdessen die <xref:azure.cosmos.aio.database.DatabaseProxy.get_container_client> -Methode, um einen vorhandenen Container abzurufen, oder die <xref:azure.cosmos.aio.database.DatabaseProxy.create_container> -Methode, um einen neuen Container zu erstellen.
Ein Container in einer Azure Cosmos DB-SQL-API-Datenbank ist eine Sammlung von Dokumenten, die jeweils als Element dargestellt werden.
- Vererbung
-
builtins.objectContainerProxy
Konstruktor
ContainerProxy(client_connection: CosmosClientConnection, database_link: str, id: str, properties: Dict[str, Any] = None)
Parameter
- client_connection
- database_link
- id
- properties
Variablen
- id
- str
ID (Name) des Containers
- session_token
- str
Das Sitzungstoken für den Container.
Methoden
create_item |
Erstellen Sie ein Element im Container. Verwenden Sie die upsert_item -Methode, um ein vorhandenes Element zu aktualisieren oder zu ersetzen. |
delete_all_items_by_partition_key |
Das Feature „Löschen nach Partitionsschlüssel“ ist ein asynchroner Hintergrundvorgang, mit dem Sie alle Dokumente mit demselben logischen Partitionsschlüsselwert löschen können, indem Sie das Cosmos SDK verwenden. Der Vorgang „Löschen nach Partitionsschlüssel“ ist darauf beschränkt, pro Sekunde höchstens 10 % der insgesamt verfügbaren RU/s (Anforderungseinheiten pro Sekunde) des Containers zu verbrauchen. Dies hilft dabei, die von dieser Hintergrundaufgabe verwendeten Ressourcen einzuschränken. |
delete_conflict |
Löschen Sie einen angegebenen Konflikt aus dem Container. Wenn der Konflikt noch nicht im Container vorhanden ist, wird eine Ausnahme ausgelöst. |
delete_item |
Löschen Sie das angegebene Element aus dem Container. Wenn das Element noch nicht im Container vorhanden ist, wird eine Ausnahme ausgelöst. |
get_conflict |
Rufen Sie den Konflikt ab, der durch den Konflikt identifiziert wird. |
get_throughput |
Rufen Sie das ThroughputProperties-Objekt für diesen Container ab. Wenn für den Container bereits "ThroughputProperties" vorhanden ist, wird eine Ausnahme ausgelöst. |
list_conflicts |
Listet alle Konflikte im Container auf. |
patch_item |
Vorläufige Methode Patcht das angegebene Element mit den bereitgestellten Vorgängen, sofern es im Container vorhanden ist. Wenn das Element noch nicht im Container vorhanden ist, wird eine Ausnahme ausgelöst. |
query_conflicts |
Gibt alle Konflikte zurück, die einer bestimmten Abfrage entsprechen. |
query_items |
Gibt alle Ergebnisse zurück, die der angegebenen Abfrage entsprechen. Sie können einen beliebigen Wert für den Containernamen in der FROM-Klausel verwenden, aber häufig wird der Containername verwendet. In den folgenden Beispielen lautet der Containername "products" und wird als "p" als Alias verwendet, um in der WHERE-Klausel einfacher auf verweisen zu können. Antwortfortsetzungstoken in der Abfrageantwort. Gültige Werte sind positive ganze Zahlen. Ein Wert von 0 ist identisch mit der Nichtübergabe eines Werts (standardmäßig keine Beschränkung). :Schlüsselwort (keyword) int max_integrated_cache_staleness_in_ms: Die maximale Cacheveraltung für den integrierten Cache in Millisekunden. Für Konten, die für die Verwendung des integrierten Caches konfiguriert sind und sitzungs- oder letztliche Konsistenz verwenden, sind Antworten garantiert nicht staler als dieser Wert. |
query_items_change_feed |
Ruft eine sortierte Liste der Geänderten Elemente in der Reihenfolge ab, in der sie geändert wurden. |
read |
Lesen sie die Containereigenschaften. |
read_all_items |
Listet alle Elemente im Container auf. |
read_item |
Rufen Sie das nach Element identifizierte Element ab. |
replace_item |
Ersetzt das angegebene Element, wenn es im Container vorhanden ist. Wenn das Element noch nicht im Container vorhanden ist, wird eine Ausnahme ausgelöst. |
replace_throughput |
Ersetzen Sie den Durchsatz des Containers. Wenn für den Container bereits keine ThroughputProperties vorhanden sind, wird eine Ausnahme ausgelöst. |
upsert_item |
Fügen Sie das angegebene Element ein, oder aktualisieren Sie es. Wenn das Element bereits im Container vorhanden ist, wird es ersetzt. Wenn das Element noch nicht vorhanden ist, wird es eingefügt. |
create_item
Erstellen Sie ein Element im Container.
Verwenden Sie die upsert_item -Methode, um ein vorhandenes Element zu aktualisieren oder zu ersetzen.
async create_item(body: Dict[str, Any], **kwargs: Any) -> Dict[str, Any]
Parameter
Ein diktierähnliches Objekt, das das zu erstellende Element darstellt.
- pre_trigger_include
- str
Trigger-ID, die als Prävorgangstrigger verwendet werden soll.
- post_trigger_include
- str
Trigger-ID, die als Trigger nach dem Vorgang verwendet werden soll.
- indexing_directive
- Union[int, IndexingDirective]
Listet die möglichen Werte auf, um anzugeben, ob das Dokument bei der Indizierung ausgelassen werden soll. Mögliche Werte sind: 0 für Default, 1 für Exclude oder 2 für Include.
- enable_automatic_id_generation
- bool
Aktivieren Sie die automatische ID-Generierung, wenn keine ID vorhanden ist.
- session_token
- str
Token zur Verwendung mit Sitzungskonsistenz.
Anfängliche Header, die als Teil der Anforderung gesendet werden sollen.
- etag
- str
Ein ETag-Wert oder das Platzhalterzeichen (*). Wird verwendet, um zu überprüfen, ob sich die Ressource geändert hat, und handelt gemäß der Bedingung, die vom parameter match_condition angegeben wird.
- match_condition
- MatchConditions
Die Übereinstimmungsbedingung, die für das etag verwendet werden soll.
Ein aufrufbarer, der mit den Antwortmetadaten aufgerufen wird.
Gibt zurück
Ein Diktat, das das neue Element darstellt.
Rückgabetyp
Ausnahmen
Das Element mit der angegebenen ID ist bereits vorhanden.
delete_all_items_by_partition_key
Das Feature „Löschen nach Partitionsschlüssel“ ist ein asynchroner Hintergrundvorgang, mit dem Sie alle Dokumente mit demselben logischen Partitionsschlüsselwert löschen können, indem Sie das Cosmos SDK verwenden. Der Vorgang „Löschen nach Partitionsschlüssel“ ist darauf beschränkt, pro Sekunde höchstens 10 % der insgesamt verfügbaren RU/s (Anforderungseinheiten pro Sekunde) des Containers zu verbrauchen. Dies hilft dabei, die von dieser Hintergrundaufgabe verwendeten Ressourcen einzuschränken.
async delete_all_items_by_partition_key(partition_key: str | int | float | bool, **kwargs: Any) -> None
Parameter
- pre_trigger_include
- str
Trigger-ID, die als Prävorgangstrigger verwendet werden soll.
- post_trigger_include
- str
Trigger-ID, die als Trigger nach dem Vorgang verwendet werden soll.
- session_token
- str
Token zur Verwendung mit Sitzungskonsistenz.
- etag
- str
Ein ETag-Wert oder das Platzhalterzeichen (*). Wird verwendet, um zu überprüfen, ob sich die Ressource geändert hat, und handelt gemäß der Bedingung, die vom parameter match_condition angegeben wird.
- match_condition
- MatchConditions
Die Übereinstimmungsbedingung, die für das etag verwendet werden soll.
- response_hook
- Callable
Ein aufrufbarer, der mit den Antwortmetadaten aufgerufen wird.
Rückgabetyp
Ausnahmen
Das Element mit der angegebenen ID ist bereits vorhanden.
delete_conflict
Löschen Sie einen angegebenen Konflikt aus dem Container.
Wenn der Konflikt noch nicht im Container vorhanden ist, wird eine Ausnahme ausgelöst.
async delete_conflict(conflict: str | Dict[str, Any], partition_key: str | int | float | bool, **kwargs: Any) -> None
Parameter
Die ID (Name) oder das Diktat, das den abzurufenden Konflikt darstellt.
Partitionsschlüssel für den abzurufenden Konflikt.
Ein aufrufbarer, der mit den Antwortmetadaten aufgerufen wird.
Rückgabetyp
Ausnahmen
Der Konflikt wurde nicht erfolgreich gelöscht.
Der Konflikt ist im Container nicht vorhanden.
delete_item
Löschen Sie das angegebene Element aus dem Container.
Wenn das Element noch nicht im Container vorhanden ist, wird eine Ausnahme ausgelöst.
async delete_item(item: str | Dict[str, Any], partition_key: str | int | float | bool, **kwargs: Any) -> None
Parameter
Die ID (Name) oder das Diktat, das das zu löschende Element darstellt.
Gibt den Partitionsschlüsselwert für das Element an.
- pre_trigger_include
- str
Trigger-ID, die als Prävorgangstrigger verwendet werden soll.
- post_trigger_include
- str
Trigger-ID, die als Trigger nach dem Vorgang verwendet werden soll.
- session_token
- str
Token zur Verwendung mit Sitzungskonsistenz.
Anfängliche Header, die als Teil der Anforderung gesendet werden sollen.
- etag
- str
Ein ETag-Wert oder das Platzhalterzeichen (*). Wird verwendet, um zu überprüfen, ob sich die Ressource geändert hat, und handelt gemäß der Bedingung, die vom parameter match_condition angegeben wird.
- match_condition
- MatchConditions
Die Übereinstimmungsbedingung, die für das etag verwendet werden soll.
Ein aufrufbarer, der mit den Antwortmetadaten aufgerufen wird.
Rückgabetyp
Ausnahmen
Das Element wurde nicht erfolgreich gelöscht.
Das Element ist im Container nicht vorhanden.
get_conflict
Rufen Sie den Konflikt ab, der durch den Konflikt identifiziert wird.
async get_conflict(conflict: str | Dict[str, Any], partition_key: str | int | float | bool, **kwargs: Any) -> Dict[str, Any]
Parameter
Die ID (Name) oder das Diktat, das den abzurufenden Konflikt darstellt.
Partitionsschlüssel für den abzurufenden Konflikt.
Ein aufrufbarer, der mit den Antwortmetadaten aufgerufen wird.
Gibt zurück
Ein Diktat, das den abgerufenen Konflikt darstellt.
Rückgabetyp
Ausnahmen
Der angegebene Konflikt konnte nicht abgerufen werden.
get_throughput
Rufen Sie das ThroughputProperties-Objekt für diesen Container ab.
Wenn für den Container bereits "ThroughputProperties" vorhanden ist, wird eine Ausnahme ausgelöst.
async get_throughput(**kwargs: Any) -> ThroughputProperties
Parameter
Ein aufrufbarer, der mit den Antwortmetadaten aufgerufen wird.
Gibt zurück
ThroughputProperties für den Container.
Rückgabetyp
Ausnahmen
Für den Container sind keine Durchsatzeigenschaften vorhanden, oder die Durchsatzeigenschaften konnten nicht abgerufen werden.
list_conflicts
Listet alle Konflikte im Container auf.
list_conflicts(**kwargs: Any) -> AsyncItemPaged[Dict[str, Any]]
Parameter
- max_item_count
- int
Maximale Anzahl von Elementen, die im Enumerationsvorgang zurückgegeben werden sollen.
Ein aufrufbarer, der mit den Antwortmetadaten aufgerufen wird.
Gibt zurück
Eine AsyncItemPaged von Konflikten (Dicts).
Rückgabetyp
Ausnahmen
Das Element mit der angegebenen ID ist bereits vorhanden.
patch_item
Vorläufige Methode Patcht das angegebene Element mit den bereitgestellten Vorgängen, sofern es im Container vorhanden ist.
Wenn das Element noch nicht im Container vorhanden ist, wird eine Ausnahme ausgelöst.
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]
Parameter
Die ID (Name) oder das Diktat, das das zu patchende Element darstellt.
Der Partitionsschlüssel des zu patchenden Objekts.
Die Liste der Patchvorgänge, die auf das Element angewendet werden sollen.
- filter_predicate
- str
bedingter Filter, der auf Patchvorgänge angewendet werden soll.
- pre_trigger_include
- str
Trigger-ID, die als Prävorgangstrigger verwendet werden soll.
- post_trigger_include
- str
Trigger-ID, die als Trigger nach dem Vorgang verwendet werden soll.
- session_token
- str
Token zur Verwendung mit Sitzungskonsistenz.
- etag
- str
Ein ETag-Wert oder das Platzhalterzeichen (*). Wird verwendet, um zu überprüfen, ob sich die Ressource geändert hat, und handelt gemäß der Bedingung, die vom parameter match_condition angegeben wird.
- match_condition
- MatchConditions
Die Übereinstimmungsbedingung, die für das etag verwendet werden soll.
- response_hook
- Callable
Ein aufrufbarer, der mit den Antwortmetadaten aufgerufen wird.
Gibt zurück
Ein Diktat, das das Element darstellt, nachdem die Patchvorgänge durchlaufen wurden.
Rückgabetyp
Ausnahmen
Die Patchvorgänge sind fehlgeschlagen, oder das Element mit der angegebenen ID ist nicht vorhanden.
query_conflicts
Gibt alle Konflikte zurück, die einer bestimmten Abfrage entsprechen.
query_conflicts(query: str | Dict[str, Any], **kwargs: Any) -> AsyncItemPaged[Dict[str, Any]]
Parameter
Optionales Array von Parametern für die Abfrage. Wird ignoriert, wenn keine Abfrage bereitgestellt wird.
Gibt den Partitionsschlüsselwert für das Element an. Wenn keine übergeben wird, wird eine partitionsübergreifende Abfrage ausgeführt.
- max_item_count
- int
Maximale Anzahl von Elementen, die im Enumerationsvorgang zurückgegeben werden sollen.
Ein aufrufbarer, der mit den Antwortmetadaten aufgerufen wird.
Gibt zurück
Eine AsyncItemPaged von Konflikten (Dicts).
Rückgabetyp
Ausnahmen
Das Element mit der angegebenen ID ist bereits vorhanden.
query_items
Gibt alle Ergebnisse zurück, die der angegebenen Abfrage entsprechen.
Sie können einen beliebigen Wert für den Containernamen in der FROM-Klausel verwenden, aber häufig wird der Containername verwendet. In den folgenden Beispielen lautet der Containername "products" und wird als "p" als Alias verwendet, um in der WHERE-Klausel einfacher auf verweisen zu können.
Antwortfortsetzungstoken in der Abfrageantwort. Gültige Werte sind positive ganze Zahlen. Ein Wert von 0 ist identisch mit der Nichtübergabe eines Werts (standardmäßig keine Beschränkung). :Schlüsselwort (keyword) int max_integrated_cache_staleness_in_ms: Die maximale Cacheveraltung für den integrierten Cache in
Millisekunden. Für Konten, die für die Verwendung des integrierten Caches konfiguriert sind und sitzungs- oder letztliche Konsistenz verwenden, sind Antworten garantiert nicht staler als dieser Wert.
query_items(query: str | Dict[str, Any], **kwargs: Any) -> AsyncItemPaged[Dict[str, Any]]
Gibt zurück
Eine AsyncItemPaged von Elementen (Diktaten).
Rückgabetyp
Ausnahmen
Das Element mit der angegebenen ID ist bereits vorhanden.
Beispiele
Erhalten Sie alle Produkte, die nicht eingestellt wurden:
import json
async for item in container.query_items(
query='SELECT * FROM products p WHERE p.productModel <> "DISCONTINUED"'
):
print(json.dumps(item, indent=True))
Parametrisierte Abfrage zum Abrufen aller Produkte, die eingestellt wurden:
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
Ruft eine sortierte Liste der Geänderten Elemente in der Reihenfolge ab, in der sie geändert wurden.
query_items_change_feed(**kwargs: Any) -> AsyncItemPaged[Dict[str, Any]]
Parameter
- is_start_from_beginning
- bool
Ruft ab, ob der Änderungsfeed von anfang (true) oder von aktuell (false) beginnen soll. Standardmäßig wird der Start von aktuell (false) verwendet.
- partition_key_range_id
- str
ChangeFeed-Anforderungen können für bestimmte Partitionsschlüsselbereiche ausgeführt werden. Dies wird verwendet, um den Änderungsfeed parallel für mehrere Consumer zu verarbeiten.
- continuation
- str
e_tag Wert, der als Fortsetzung zum Lesen des Änderungsfeeds verwendet werden soll.
- max_item_count
- int
Maximale Anzahl von Elementen, die im Enumerationsvorgang zurückgegeben werden sollen.
Partitionsschlüssel, auf den ChangeFeed-Anforderungen ausgerichtet sind.
Ein aufrufbarer, der mit den Antwortmetadaten aufgerufen wird.
Gibt zurück
Eine AsyncItemPaged von Elementen (Diktaten).
Rückgabetyp
Ausnahmen
Das Element mit der angegebenen ID ist bereits vorhanden.
read
Lesen sie die Containereigenschaften.
async read(**kwargs: Any) -> Dict[str, Any]
Parameter
- populate_partition_key_range_statistics
- bool
Aktivieren Sie die Rückgabe von Partitionsschlüsselbereichsstatistiken in Antwortheadern.
- populate_quota_info
- bool
Aktivieren Sie die Rückgabe von Sammlungsspeicherkontingentinformationen in Antwortheadern.
- session_token
- str
Token zur Verwendung mit Sitzungskonsistenz.
Anfängliche Header, die als Teil der Anforderung gesendet werden sollen.
Ein aufrufbarer, der mit den Antwortmetadaten aufgerufen wird.
Gibt zurück
Dict, das den abgerufenen Container darstellt.
Rückgabetyp
Ausnahmen
Wird ausgelöst, wenn der Container nicht abgerufen werden konnte. Dies schließt ein, wenn der Container nicht vorhanden ist.
read_all_items
Listet alle Elemente im Container auf.
read_all_items(**kwargs: Any) -> AsyncItemPaged[Dict[str, Any]]
Parameter
- max_item_count
- int
Maximale Anzahl von Elementen, die im Enumerationsvorgang zurückgegeben werden sollen.
- session_token
- str
Token zur Verwendung mit Sitzungskonsistenz.
Anfängliche Header, die als Teil der Anforderung gesendet werden sollen.
Ein aufrufbarer, der mit den Antwortmetadaten aufgerufen wird.
- max_integrated_cache_staleness_in_ms
- int
Die maximale Cacheveraltung für den integrierten Cache in Millisekunden. Für Konten, die für die Verwendung des integrierten Caches konfiguriert sind und sitzungs- oder letztliche Konsistenz verwenden, sind Antworten garantiert nicht staler als dieser Wert.
Gibt zurück
Eine AsyncItemPaged von Elementen (Diktaten).
Rückgabetyp
Ausnahmen
Das Element mit der angegebenen ID ist bereits vorhanden.
read_item
Rufen Sie das nach Element identifizierte Element ab.
async read_item(item: str | Dict[str, Any], partition_key: str | int | float | bool, **kwargs: Any) -> Dict[str, Any]
Parameter
Die ID (Name) oder das Diktat, das das abzurufende Element darstellt.
Partitionsschlüssel für das abzurufende Element.
- post_trigger_include
- str
Trigger-ID, die als Trigger nach dem Vorgang verwendet werden soll.
- session_token
- str
Token zur Verwendung mit Sitzungskonsistenz.
Anfängliche Header, die als Teil der Anforderung gesendet werden sollen.
Ein aufrufbarer, der mit den Antwortmetadaten aufgerufen wird.
- max_integrated_cache_staleness_in_ms
- int
Die maximale Cacheveraltung für den integrierten Cache in Millisekunden. Für Konten, die für die Verwendung des integrierten Caches konfiguriert sind und sitzungs- oder letztliche Konsistenz verwenden, sind Antworten garantiert nicht staler als dieser Wert.
Gibt zurück
Diktat, das das abzurufende Element darstellt.
Rückgabetyp
Ausnahmen
Das angegebene Element konnte nicht abgerufen werden.
Beispiele
Rufen Sie ein Element aus der Datenbank ab, und aktualisieren Sie eine ihrer Eigenschaften:
item = await container.read_item("item2", partition_key="Widget")
item["productModel"] = "DISCONTINUED"
updated_item = await container.upsert_item(item)
replace_item
Ersetzt das angegebene Element, wenn es im Container vorhanden ist.
Wenn das Element noch nicht im Container vorhanden ist, wird eine Ausnahme ausgelöst.
async replace_item(item: str | Dict[str, Any], body: Dict[str, Any], **kwargs: Any) -> Dict[str, Any]
Parameter
Die ID (Name) oder das Diktat, das das zu ersetzende Element darstellt.
Ein diktierähnliches Objekt, das das zu ersetzende Element darstellt.
- pre_trigger_include
- str
Trigger-ID, die als Prävorgangstrigger verwendet werden soll.
- post_trigger_include
- str
Trigger-ID, die als Trigger nach dem Vorgang verwendet werden soll.
- session_token
- str
Token zur Verwendung mit Sitzungskonsistenz.
Anfängliche Header, die als Teil der Anforderung gesendet werden sollen.
- etag
- str
Ein ETag-Wert oder das Platzhalterzeichen (*). Wird verwendet, um zu überprüfen, ob sich die Ressource geändert hat, und handelt gemäß der Bedingung, die vom parameter match_condition angegeben wird.
- match_condition
- MatchConditions
Die Übereinstimmungsbedingung, die für das etag verwendet werden soll.
Ein aufrufbarer, der mit den Antwortmetadaten aufgerufen wird.
Gibt zurück
Ein Diktat, das das Element nach dem Ersetzen darstellt, wurde durchlaufen.
Rückgabetyp
Ausnahmen
Das Ersetzen ist fehlgeschlagen, oder das Element mit der angegebenen ID ist nicht vorhanden.
replace_throughput
Ersetzen Sie den Durchsatz des Containers.
Wenn für den Container bereits keine ThroughputProperties vorhanden sind, wird eine Ausnahme ausgelöst.
async replace_throughput(throughput: int | ThroughputProperties, **kwargs: Any) -> ThroughputProperties
Parameter
Ein aufrufbarer, der mit den Antwortmetadaten aufgerufen wird.
Gibt zurück
ThroughputProperties für den Container, aktualisiert mit neuem Durchsatz.
Rückgabetyp
Ausnahmen
Für den Container sind keine Durchsatzeigenschaften vorhanden, oder die Durchsatzeigenschaften konnten nicht aktualisiert werden.
upsert_item
Fügen Sie das angegebene Element ein, oder aktualisieren Sie es.
Wenn das Element bereits im Container vorhanden ist, wird es ersetzt. Wenn das Element noch nicht vorhanden ist, wird es eingefügt.
async upsert_item(body: Dict[str, Any], **kwargs: Any) -> Dict[str, Any]
Parameter
Ein diktierähnliches Objekt, das das element darstellt, das aktualisiert oder eingefügt werden soll.
- pre_trigger_include
- str
Trigger-ID, die als Prävorgangstrigger verwendet werden soll.
- post_trigger_include
- str
Trigger-ID, die als Trigger nach dem Vorgang verwendet werden soll.
- session_token
- str
Token zur Verwendung mit Sitzungskonsistenz.
Anfängliche Header, die als Teil der Anforderung gesendet werden sollen.
- etag
- str
Ein ETag-Wert oder das Platzhalterzeichen (*). Wird verwendet, um zu überprüfen, ob sich die Ressource geändert hat, und handelt gemäß der Bedingung, die vom parameter match_condition angegeben wird.
- match_condition
- MatchConditions
Die Übereinstimmungsbedingung, die für das etag verwendet werden soll.
Ein aufrufbarer, der mit den Antwortmetadaten aufgerufen wird.
Gibt zurück
Ein Diktat, das das upsertierte Element darstellt.
Rückgabetyp
Ausnahmen
Das angegebene Element konnte nicht durch upsertiert werden.
Attribute
is_system_key
scripts
Azure SDK for Python