Sdílet prostřednictvím


ContainerProxy Třída

Rozhraní pro interakci s konkrétním kontejnerem databáze.

Tato třída by neměla být vytvořena přímo. Místo toho použijte metodu get_container_client k získání existujícího kontejneru nebo metodu create_container k vytvoření nového kontejneru.

Kontejner v databázi rozhraní SQL API služby Azure Cosmos DB je kolekce dokumentů, z nichž každý je reprezentován jako položka.

Dědičnost
builtins.object
ContainerProxy

Konstruktor

ContainerProxy(client_connection: CosmosClientConnection, database_link: str, id: str, properties: Dict[str, Any] = None)

Parametry

client_connection
database_link
id
properties
výchozí hodnota: None

Proměnné

id
str

ID (název) kontejneru

session_token
str

Token relace pro kontejner.

Metody

create_item

Vytvořte položku v kontejneru.

Pokud chcete aktualizovat nebo nahradit existující položku, použijte metodu upsert_item .

delete_all_items_by_partition_key

Funkce odstranění podle klíče oddílu je asynchronní operace na pozadí, která umožňuje odstranit všechny dokumenty se stejnou hodnotou klíče logického oddílu pomocí sady Cosmos SDK. Operace odstranění podle klíče oddílu je omezená tak, aby spotřebovala maximálně 10 % celkového dostupného počtu RU/s kontejneru za sekundu. To pomáhá omezit prostředky používané touto úlohou na pozadí.

delete_conflict

Odstraňte zadaný konflikt z kontejneru.

Pokud konflikt v kontejneru ještě neexistuje, je vyvolána výjimka.

delete_item

Odstraňte zadanou položku z kontejneru.

Pokud položka v kontejneru ještě neexistuje, vyvolá se výjimka.

get_conflict

Získejte konflikt identifikovaný konfliktem.

get_throughput

Získejte objekt ThroughputProperties pro tento kontejner.

Pokud pro kontejner ještě neexistují žádné vlastnosti propustnosti, dojde k výjimce. :keyword Volatable response_hook: Lze volat s metadaty odpovědi. :returns: Propustnost kontejneru. :raises ~azure.cosmos.exceptions.CosmosHttpResponseError: Pro kontejner neexistují žádné vlastnosti propustnosti nebo

Vlastnosti propustnosti nelze načíst.

list_conflicts

Vypište všechny konflikty v kontejneru.

patch_item

Prozatímní metoda Opraví zadanou položku pomocí zadaných operací, pokud v kontejneru existuje.

Pokud položka v kontejneru ještě neexistuje, vyvolá se výjimka.

query_conflicts

Vrátí všechny konflikty odpovídající danému dotazu.

query_items

Vrátí všechny výsledky odpovídající danému dotazu.

Pro název kontejneru v klauzuli FROM můžete použít libovolnou hodnotu, ale často se používá název kontejneru. V následujících příkladech je název kontejneru "products" a má alias "p" pro snadnější odkazování v klauzuli WHERE.

token pokračování odpovědi v odpovědi na dotaz. Platné hodnoty jsou kladná celá čísla. Hodnota 0 je stejná jako nepředávky hodnoty (výchozí bez limitu). :keyword int max_integrated_cache_staleness_in_ms: Maximální neakutnost mezipaměti pro integrovanou mezipaměť v

Milisekund. U účtů nakonfigurovaných tak, aby používaly integrovanou mezipaměť, pomocí konzistence relace nebo konečné konzistence, je zaručeno, že odpovědi nebudou zastaralá než tato hodnota.

query_items_change_feed

Získejte seřazený seznam položek, které byly změněny, v pořadí, v jakém byly změněny.

read

Přečtěte si vlastnosti kontejneru.

read_all_items

Zobrazí seznam všech položek v kontejneru.

read_item

Získejte položku identifikovanou podle položky.

read_offer

Získejte objekt ThroughputProperties pro tento kontejner. Pokud pro kontejner ještě neexistují žádné vlastnosti propustnosti, vyvolá se výjimka. :keyword Callable response_hook: Volatelné volání s metadaty odpovědi. :returns: Propustnost pro kontejner. :raises ~azure.cosmos.exceptions.CosmosHttpResponseError: Pro kontejner neexistují žádné vlastnosti propustnosti nebo

vlastnosti propustnosti nelze načíst.

replace_item

Nahradí zadanou položku, pokud existuje v kontejneru.

Pokud položka v kontejneru ještě neexistuje, vyvolá se výjimka.

replace_throughput

Nahraďte propustnost kontejneru.

Pokud pro kontejner ještě neexistují žádné vlastnosti propustnosti, vyvolá se výjimka.

upsert_item

Vložte nebo aktualizujte zadanou položku.

Pokud položka již v kontejneru existuje, nahradí se. Pokud položka ještě neexistuje, vloží se.

create_item

Vytvořte položku v kontejneru.

Pokud chcete aktualizovat nebo nahradit existující položku, použijte metodu upsert_item .

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]

Parametry

body
Vyžadováno

Objekt podobný diktování představující položku, kterou chcete vytvořit.

pre_trigger_include
Vyžadováno

ID triggeru, které se použije jako aktivační událost před operací.

post_trigger_include
Vyžadováno

ID triggeru, které se použije jako aktivační událost po operaci.

indexing_directive
Vyžadováno

Určete, zda má být dokument vynechán z indexování.

enable_automatic_id_generation
bool

Povolte automatické generování ID, pokud žádné ID neexistuje.

session_token
str

Token pro použití s konzistencí relace.

initial_headers
dict[str,str]

Počáteční hlavičky, které se mají odeslat jako součást požadavku.

etag
str

Hodnota ETag nebo zástupný znak (*). Slouží ke kontrole, jestli se prostředek změnil, a k akci podle podmínky určené parametrem match_condition .

match_condition
MatchConditions

Podmínka shody, která se použije u značky etag.

response_hook
Callable

Volatelný vyvolán s metadaty odpovědi.

Návraty

Dikt představující novou položku

Návratový typ

Výjimky

Položka s daným ID již existuje.

delete_all_items_by_partition_key

Funkce odstranění podle klíče oddílu je asynchronní operace na pozadí, která umožňuje odstranit všechny dokumenty se stejnou hodnotou klíče logického oddílu pomocí sady Cosmos SDK. Operace odstranění podle klíče oddílu je omezená tak, aby spotřebovala maximálně 10 % celkového dostupného počtu RU/s kontejneru za sekundu. To pomáhá omezit prostředky používané touto úlohou na pozadí.

delete_all_items_by_partition_key(partition_key: str | int | float | bool, **kwargs: Any) -> None

Parametry

partition_key
Any
Vyžadováno

Klíč oddílu pro položky, které se mají odstranit.

pre_trigger_include
str

ID triggeru, které se použije jako aktivační událost před operací.

post_trigger_include
str

ID triggeru, které se použije jako aktivační událost po operaci.

session_token
str

Token pro použití s konzistencí relace.

etag
str

Hodnota ETag nebo zástupný znak (*). Slouží ke kontrole, jestli se prostředek změnil, a k akci podle podmínky určené parametrem match_condition .

match_condition
MatchConditions

Podmínka shody, která se použije u značky etag.

response_hook
Callable

Volatelný vyvolán s metadaty odpovědi.

Návratový typ

Výjimky

Položka s daným ID již existuje.

delete_conflict

Odstraňte zadaný konflikt z kontejneru.

Pokud konflikt v kontejneru ještě neexistuje, je vyvolána výjimka.

delete_conflict(conflict: str | Dict[str, Any], partition_key: Any, **kwargs: Any) -> None

Parametry

conflict
Vyžadováno

ID (název) nebo dikt představující konflikt, který se má odstranit.

partition_key
Vyžadováno

Klíč oddílu pro konflikt, který se má odstranit.

response_hook
Callable

Volatelný vyvolán s metadaty odpovědi.

Návratový typ

Výjimky

Konflikt se úspěšně neodstranil.

Konflikt v kontejneru neexistuje.

delete_item

Odstraňte zadanou položku z kontejneru.

Pokud položka v kontejneru ještě neexistuje, vyvolá se výjimka.

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

Parametry

item
Vyžadováno

ID (název) nebo diktování představující položku, která má být odstraněna.

partition_key
Vyžadováno

Určuje hodnotu klíče oddílu pro položku.

pre_trigger_include
Vyžadováno

ID triggeru, které se použije jako aktivační událost před operací.

post_trigger_include
Vyžadováno

ID triggeru, které se použije jako aktivační událost po operaci.

session_token
str

Token pro použití s konzistencí relace.

initial_headers
dict[str,str]

Počáteční hlavičky, které se mají odeslat jako součást požadavku.

etag
str

Hodnota ETag nebo zástupný znak (*). Slouží ke kontrole, jestli se prostředek změnil, a k akci podle podmínky určené parametrem match_condition .

match_condition
MatchConditions

Podmínka shody, která se použije u značky etag.

response_hook
Callable

Volatelný vyvolán s metadaty odpovědi.

Návratový typ

Výjimky

Položka se úspěšně neodstranila.

Položka v kontejneru neexistuje.

get_conflict

Získejte konflikt identifikovaný konfliktem.

get_conflict(conflict: str | Dict[str, Any], partition_key: Any, **kwargs: Any) -> Dict[str, Any]

Parametry

conflict
Vyžadováno

ID (název) nebo diktování představující konflikt, který se má načíst.

partition_key
Vyžadováno

Klíč oddílu pro načtení konfliktu.

response_hook
Callable

Volatelný vyvolán s metadaty odpovědi.

Návraty

diktování představující načtený konflikt.

Návratový typ

Výjimky

Daný konflikt se nepodařilo načíst.

get_throughput

Získejte objekt ThroughputProperties pro tento kontejner.

Pokud pro kontejner ještě neexistují žádné vlastnosti propustnosti, dojde k výjimce. :keyword Volatable response_hook: Lze volat s metadaty odpovědi. :returns: Propustnost kontejneru. :raises ~azure.cosmos.exceptions.CosmosHttpResponseError: Pro kontejner neexistují žádné vlastnosti propustnosti nebo

Vlastnosti propustnosti nelze načíst.

get_throughput(**kwargs: Any) -> ThroughputProperties

Návratový typ

Výjimky

Položka s daným ID již existuje.

list_conflicts

Vypište všechny konflikty v kontejneru.

list_conflicts(max_item_count: int | None = None, **kwargs: Any) -> Iterable[Dict[str, Any]]

Parametry

max_item_count
Vyžadováno

Maximální počet položek, které mají být vráceny v operaci výčtu.

response_hook
Callable

Volatelný vyvolán s metadaty odpovědi.

Návraty

Iterable of conflicts (dicts).

Návratový typ

Výjimky

Položka s daným ID již existuje.

patch_item

Prozatímní metoda Opraví zadanou položku pomocí zadaných operací, pokud v kontejneru existuje.

Pokud položka v kontejneru ještě neexistuje, vyvolá se výjimka.

patch_item(item: str | Dict[str, Any], partition_key: str | int | float | bool, patch_operations: List[Dict[str, Any]], **kwargs: Any) -> Dict[str, Any]

Parametry

item
Union[str, Dict[str, Any]]
Vyžadováno

ID (název) nebo dict představující položku, která má být opravena.

partition_key
Union[str, int, float, bool]
Vyžadováno

Klíč oddílu objektu, který se má opravit.

patch_operations
List[Dict[str, Any]]
Vyžadováno

Seznam operací oprav, které se mají použít u položky.

filter_predicate
str

podmíněný filtr, který se použije na operace oprav.

pre_trigger_include
str

ID triggeru, které se použije jako aktivační událost před operací.

post_trigger_include
str

ID triggeru, které se použije jako aktivační událost po operaci.

session_token
str

Token pro použití s konzistencí relace.

etag
str

Hodnota ETag nebo zástupný znak (*). Slouží ke kontrole, jestli se prostředek změnil, a k akci podle podmínky určené parametrem match_condition .

match_condition
MatchConditions

Podmínka shody, která se použije u značky etag.

response_hook
Callable

Volatelný vyvolán s metadaty odpovědi.

Návraty

Dikt představující položku po provedení operací opravy.

Návratový typ

Výjimky

Operace oprav selhaly nebo položka se zadaným ID neexistuje.

query_conflicts

Vrátí všechny konflikty odpovídající danému dotazu.

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]]

Parametry

query
Vyžadováno

Dotaz SQL služby Azure Cosmos DB, který se má spustit.

parameters
Vyžadováno

Volitelné pole parametrů dotazu Pokud se nezadá žádný dotaz, ignoruje se.

enable_cross_partition_query
Vyžadováno

Umožňuje odeslat více než jeden požadavek na provedení dotazu ve službě Azure Cosmos DB. Pokud dotaz není vymezený na hodnotu klíče s jedním oddílem, je potřeba více než jeden požadavek.

partition_key
Vyžadováno

Určuje hodnotu klíče oddílu pro položku.

max_item_count
Vyžadováno

Maximální počet položek, které mají být vráceny v operaci výčtu.

response_hook
Callable

Volatelný vyvolán s metadaty odpovědi.

Návraty

Iterable of conflicts (dicts).

Návratový typ

Výjimky

Položka s daným ID již existuje.

query_items

Vrátí všechny výsledky odpovídající danému dotazu.

Pro název kontejneru v klauzuli FROM můžete použít libovolnou hodnotu, ale často se používá název kontejneru. V následujících příkladech je název kontejneru "products" a má alias "p" pro snadnější odkazování v klauzuli WHERE.

token pokračování odpovědi v odpovědi na dotaz. Platné hodnoty jsou kladná celá čísla. Hodnota 0 je stejná jako nepředávky hodnoty (výchozí bez limitu). :keyword int max_integrated_cache_staleness_in_ms: Maximální neakutnost mezipaměti pro integrovanou mezipaměť v

Milisekund. U účtů nakonfigurovaných tak, aby používaly integrovanou mezipaměť, pomocí konzistence relace nebo konečné konzistence, je zaručeno, že odpovědi nebudou zastaralá než tato hodnota.

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]]

Návraty

Iterable of items (dicts).

Návratový typ

<xref:ItemPaged>[Dict[str, Any]]

Výjimky

Položka s daným ID již existuje.

Příklady

Získejte všechny produkty, které nebyly ukončeny:


   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))

Parametrizovaný dotaz pro získání všech produktů, které byly ukončeny:


   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

Získejte seřazený seznam položek, které byly změněny, v pořadí, v jakém byly změněny.

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]]

Parametry

partition_key_range_id
Vyžadováno

Požadavky ChangeFeed je možné spouštět pro konkrétní rozsahy klíčů oddílů. Používá se k paralelnímu zpracování kanálu změn mezi několika příjemci.

partition_key
Vyžadováno

klíč oddílu, na který jsou cíleny požadavky ChangeFeed.

is_start_from_beginning
Vyžadováno

Zjistit, jestli má kanál změn začínat od začátku (pravda) nebo od aktuálního (false). Ve výchozím nastavení se začíná od aktuálního (false).

continuation
Vyžadováno

e_tag hodnotu, která se použije jako pokračování pro čtení kanálu změn.

max_item_count
Vyžadováno

Maximální počet položek, které se mají vrátit v operaci výčtu.

response_hook
Callable

Volatelné vyvolání s metadaty odpovědi.

Návraty

Iterable of items (dicts).

Návratový typ

Výjimky

Položka s daným ID již existuje.

read

Přečtěte si vlastnosti kontejneru.

read(*, populate_partition_key_range_statistics: bool | None = None, populate_quota_info: bool | None = None, **kwargs)

Parametry

populate_partition_key_range_statistics
bool

Povolte v hlavičce odpovědi statistiku rozsahu klíčů oddílu.

populate_quota_info
bool

Povolte vrácení informací o kvótě úložiště kolekce v hlavičce odpovědí.

session_token
str

Token pro použití s konzistencí relací.

initial_headers
dict[str,str]

Počáteční hlavičky, které se mají odeslat jako součást požadavku.

response_hook
Callable

Volatelné vyvolání s metadaty odpovědi.

Návraty

Dict představující načtený kontejner.

Návratový typ

Výjimky

Vyvolána, pokud se kontejner nepodařilo načíst. To platí i v případě, že kontejner neexistuje.

read_all_items

Zobrazí seznam všech položek v kontejneru.

read_all_items(max_item_count: int | None = None, populate_query_metrics: bool | None = None, **kwargs: Any) -> Iterable[Dict[str, Any]]

Parametry

max_item_count
Vyžadováno

Maximální počet položek, které se mají vrátit v operaci výčtu.

session_token
str

Token pro použití s konzistencí relací.

initial_headers
dict[str,str]

Počáteční hlavičky, které se mají odeslat jako součást požadavku.

response_hook
Callable

Volatelné vyvolání s metadaty odpovědi.

max_integrated_cache_staleness_in_ms
int

Maximální zastaralost mezipaměti pro integrovanou mezipaměť v milisekundách U účtů nakonfigurovaných tak, aby používaly integrovanou mezipaměť, pomocí konzistence relace nebo konečné konzistence, je zaručeno, že odpovědi nebudou zastaralá než tato hodnota.

Návraty

Iterable of items (dicts).

Návratový typ

Výjimky

Položka s daným ID již existuje.

read_item

Získejte položku identifikovanou podle položky.

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]

Parametry

item
Vyžadováno

ID (název) nebo diktát představující položku, která se má načíst.

partition_key
Vyžadováno

Klíč oddílu pro položku, která se má načíst.

post_trigger_include
Vyžadováno

ID triggeru, které se má použít jako aktivační událost po operaci.

session_token
str

Token pro použití s konzistencí relací.

initial_headers
dict[str,str]

Počáteční hlavičky, které se mají odeslat jako součást požadavku.

response_hook
Callable

Volatelné vyvolání s metadaty odpovědi.

max_integrated_cache_staleness_in_ms
int

Maximální zastaralost mezipaměti pro integrovanou mezipaměť v milisekundách U účtů nakonfigurovaných tak, aby používaly integrovanou mezipaměť, pomocí konzistence relace nebo konečné konzistence, je zaručeno, že odpovědi nebudou zastaralá než tato hodnota.

Návraty

Dikt představující položku, která se má načíst.

Návratový typ

Výjimky

Danou položku nelze načíst.

Příklady

Získejte položku z databáze a aktualizujte jednu z jejích vlastností:


   item = container.read_item("item2", partition_key="Widget")
   item["productModel"] = "DISCONTINUED"
   updated_item = container.upsert_item(item)

read_offer

Získejte objekt ThroughputProperties pro tento kontejner. Pokud pro kontejner ještě neexistují žádné vlastnosti propustnosti, vyvolá se výjimka. :keyword Callable response_hook: Volatelné volání s metadaty odpovědi. :returns: Propustnost pro kontejner. :raises ~azure.cosmos.exceptions.CosmosHttpResponseError: Pro kontejner neexistují žádné vlastnosti propustnosti nebo

vlastnosti propustnosti nelze načíst.

read_offer(**kwargs: Any) -> Offer

Návratový typ

Výjimky

Položka s daným ID již existuje.

replace_item

Nahradí zadanou položku, pokud existuje v kontejneru.

Pokud položka v kontejneru ještě neexistuje, vyvolá se výjimka.

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]

Parametry

item
Vyžadováno

ID (název) nebo diktát představující položku, která má být nahrazena.

body
Vyžadováno

Objekt podobný diktování představující položku, která se má nahradit.

pre_trigger_include
Vyžadováno

ID triggeru, které se použije jako aktivační událost před operací.

post_trigger_include
Vyžadováno

ID triggeru, které se má použít jako aktivační událost po operaci.

session_token
str

Token pro použití s konzistencí relací.

initial_headers
dict[str,str]

Počáteční hlavičky, které se mají odeslat jako součást požadavku.

etag
str

Hodnota značky ETag nebo zástupný znak (*). Slouží ke kontrole, jestli se prostředek změnil, a k chování podle podmínky zadané parametrem match_condition .

match_condition
MatchConditions

Podmínka shody, která se má použít u značky etag.

response_hook
Callable

Volatelné vyvolání s metadaty odpovědi.

Návraty

Prošel dikt představující položku po nahrazení.

Návratový typ

Výjimky

Nahrazení selhalo nebo položka s daným ID neexistuje.

replace_throughput

Nahraďte propustnost kontejneru.

Pokud pro kontejner ještě neexistují žádné vlastnosti propustnosti, vyvolá se výjimka.

replace_throughput(throughput: int | ThroughputProperties | None, **kwargs: Any) -> ThroughputProperties

Parametry

throughput
Vyžadováno

Propustnost, která se má nastavit (celé číslo).

response_hook
Callable

Volatelné vyvolání s metadaty odpovědi.

Návraty

PropustnostProperties pro kontejner, aktualizované o novou propustnost.

Návratový typ

Výjimky

Pro kontejner neexistují žádné vlastnosti propustnosti nebo se vlastnosti propustnosti nedají aktualizovat.

upsert_item

Vložte nebo aktualizujte zadanou položku.

Pokud položka již v kontejneru existuje, nahradí se. Pokud položka ještě neexistuje, vloží se.

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]

Parametry

body
Vyžadováno

Objekt podobný diktování představující položku, kterou chcete aktualizovat nebo vložit.

pre_trigger_include
Vyžadováno

ID triggeru, které se použije jako aktivační událost před operací.

post_trigger_include
Vyžadováno

ID triggeru, které se má použít jako aktivační událost po operaci.

session_token
str

Token pro použití s konzistencí relací.

initial_headers
dict[str,str]

Počáteční hlavičky, které se mají odeslat jako součást požadavku.

etag
str

Hodnota značky ETag nebo zástupný znak (*). Slouží ke kontrole, jestli se prostředek změnil, a k chování podle podmínky zadané parametrem match_condition .

match_condition
MatchConditions

Podmínka shody, která se má použít u značky etag.

response_hook
Callable

Volatelné vyvolání s metadaty odpovědi.

Návraty

Dikt představující položku upserted.

Návratový typ

Výjimky

Danou položku nelze vložit do upsertu.

Atributy

is_system_key

scripts