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í pomocí klíče oddílu je omezená tak, aby spotřebovala maximálně 10 % celkového dostupného RU/s v kontejneru každou 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, vyvolá se 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, 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.

list_conflicts

Vypíše všechny konflikty v kontejneru.

patch_item

Prozatímní metoda Opraví zadanou položku se zadanými operacemi, pokud existuje v kontejneru.

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.

V klauzuli FROM můžete pro název kontejneru 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 pro pokračování odpovědi v odpovědi na dotaz. Platné hodnoty jsou kladná celá čísla. Hodnota 0 je stejná jako nepředání hodnoty (výchozí hodnota bez omezení). :keyword int max_integrated_cache_staleness_in_ms: Maximální neautnost mezipaměti pro integrovanou mezipaměť v

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

query_items_change_feed

Získá seřazený seznam položek, které byly změněny, v pořadí, ve které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íská položku identifikovanou položkou.

read_offer

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.

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, dojde k výjimce.

upsert_item

Vložte nebo aktualizujte zadanou položku.

Pokud položka již v kontejneru existuje, je nahrazena. 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 má použít jako aktivační událost po operaci.

indexing_directive
Vyžadováno

Určete, jestli 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í 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í 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í pomocí klíče oddílu je omezená tak, aby spotřebovala maximálně 10 % celkového dostupného RU/s v kontejneru každou 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 má použít jako aktivační událost po operaci.

session_token
str

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

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á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, vyvolá se výjimka.

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

Parametry

conflict
Vyžadováno

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

partition_key
Vyžadováno

Klíč oddílu pro odstranění konfliktu.

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 diktát 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 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ávratový typ

Výjimky

Položka nebyla úspěšně odstraněna.

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 diktát 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

Dikt představující načtený konflikt.

Návratový typ

Výjimky

Daný konflikt nelze načíst.

get_throughput

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.

get_throughput(**kwargs: Any) -> ThroughputProperties

Návratový typ

Výjimky

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

list_conflicts

Vypíše 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é se mají vrátit 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 se zadanými operacemi, pokud existuje v kontejneru.

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 diktát 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 pro 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 má použít jako aktivační událost po operaci.

session_token
str

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

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 po provedení operací oprav.

Návratový typ

Výjimky

Operace opravy selhaly nebo položka s daný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. Ignorováno, pokud není zadaný žádný dotaz.

enable_cross_partition_query
Vyžadováno

Umožňuje odeslat více než jeden požadavek na spuštění 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é se mají vrátit 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.

V klauzuli FROM můžete pro název kontejneru 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 pro pokračování odpovědi v odpovědi na dotaz. Platné hodnoty jsou kladná celá čísla. Hodnota 0 je stejná jako nepředání hodnoty (výchozí hodnota bez omezení). :keyword int max_integrated_cache_staleness_in_ms: Maximální neautnost mezipaměti pro integrovanou mezipaměť v

Milisekund. U účtů nakonfigurovaných tak, aby používaly integrovanou mezipaměť pomocí konzistence typu Relace nebo Případná, 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íská seřazený seznam položek, které byly změněny, v pořadí, ve které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 Kanálu změn je možné spouštět pro konkrétní rozsahy klíčů oddílů. Používá se ke zpracování kanálu změn paralelně mezi několika příjemci.

partition_key
Vyžadováno

klíč oddílu, na který cílí požadavky kanálu změn.

is_start_from_beginning
Vyžadováno

Umožňuje zjistit, jestli má kanál změn začínat od začátku (true) nebo od aktuálního (false). Ve výchozím nastavení začíná od aktuálního stavu (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é mají být vráceny 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, která se vrací.

populate_quota_info
bool

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

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.

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á se, 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é mají být vráceny v operaci výčtu.

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.

response_hook
Callable

Volatelný vyvolán s metadaty odpovědi.

max_integrated_cache_staleness_in_ms
int

Maximální nestaralost mezipaměti pro integrovanou mezipaměť v milisekundách. U účtů nakonfigurovaných tak, aby používaly integrovanou mezipaměť pomocí konzistence typu Relace nebo Případná, 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íská položku identifikovanou položkou.

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 diktování 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 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.

response_hook
Callable

Volatelný vyvolán s metadaty odpovědi.

max_integrated_cache_staleness_in_ms
int

Maximální nestaralost mezipaměti pro integrovanou mezipaměť v milisekundách. U účtů nakonfigurovaných tak, aby používaly integrovanou mezipaměť pomocí konzistence typu Relace nebo Případná, je zaručeno, že odpovědi nebudou zastaralá než tato hodnota.

Návraty

Dict 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, 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.

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 diktování 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 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ávraty

Diktování představující položku po nahrazení prošlo.

Návratový typ

Výjimky

Nahrazení se nezdařilo nebo položka se zadaným ID neexistuje.

replace_throughput

Nahraďte propustnost kontejneru.

Pokud pro kontejner ještě neexistují žádné vlastnosti propustnosti, dojde k výjimce.

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

Vlastnosti propustnosti kontejneru aktualizované o novou propustnost

Návratový typ

Výjimky

Pro kontejner neexistují žádné vlastnosti propustnosti nebo vlastnosti propustnosti nebylo možné aktualizovat.

upsert_item

Vložte nebo aktualizujte zadanou položku.

Pokud položka již v kontejneru existuje, je nahrazena. 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 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ávraty

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

Návratový typ

Výjimky

Danou položku nelze přenést.

Atributy

is_system_key

scripts