Dela via


ContainerProxy Klass

Ett gränssnitt för att interagera med en specifik DB-container.

Den här klassen ska inte instansieras direkt. Använd get_container_client i stället metoden för att hämta en befintlig container eller create_container metoden för att skapa en ny container.

En container i en Azure Cosmos DB SQL API-databas är en samling dokument som var och en representeras som ett objekt.

Arv
builtins.object
ContainerProxy

Konstruktor

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

Parametrar

client_connection
database_link
id
properties
standardvärde: None

Variabler

id
str

ID (namn) för containern

session_token
str

Sessionstoken för containern.

Metoder

create_item

Skapa ett objekt i containern.

Om du vill uppdatera eller ersätta ett befintligt objekt använder du upsert_item metoden .

delete_all_items_by_partition_key

Funktionen ta bort med partitionsnyckel är en asynkron bakgrundsåtgärd som gör att du kan ta bort alla dokument med samma logiska partitionsnyckelvärde med hjälp av Cosmos SDK. Åtgärden ta bort av partitionsnyckeln är begränsad till högst 10 % av det totala antalet tillgängliga RU/s i containern varje sekund. Detta hjälper till att begränsa de resurser som används av den här bakgrundsaktiviteten.

delete_conflict

Ta bort en angiven konflikt från containern.

Om konflikten inte redan finns i containern utlöses ett undantag.

delete_item

Ta bort det angivna objektet från containern.

Om objektet inte redan finns i containern utlöses ett undantag.

get_conflict

Hämta konflikten som identifieras av en konflikt.

get_throughput

Hämta objektet ThroughputProperties för den här containern.

Om det inte redan finns några DataflödeEgenskaper för containern utlöses ett undantag. :keyword Callable response_hook: En anropbar som anropas med svarsmetadata. :returns: Dataflöde för containern. :genererar ~azure.cosmos.exceptions.CosmosHttpResponseError: Det finns inga dataflödesegenskaper för containern eller

Det gick inte att hämta dataflödesegenskaperna.

list_conflicts

Visa en lista över alla konflikter i containern.

patch_item

Provisorisk metod Korrigerar det angivna objektet med de angivna åtgärderna om det finns i containern.

Om objektet inte redan finns i containern utlöses ett undantag.

query_conflicts

Returnera alla konflikter som matchar en viss fråga.

query_items

Returnera alla resultat som matchar den angivna frågan.

Du kan använda valfritt värde för containernamnet i FROM-satsen, men ofta används containernamnet. I exemplen nedan är containernamnet "products" och aliaset "p" för enklare hänvisning i WHERE-satsen.

svarsfortsättningstoken i frågesvaret. Giltiga värden är positiva heltal. Värdet 0 är detsamma som att inte skicka ett värde (ingen standardgräns). :keyword int max_integrated_cache_staleness_in_ms: Den maximala cache-inaktuellheten för den integrerade cachen i

Millisekunder. För konton som har konfigurerats för att använda den integrerade cachen, med hjälp av sessions- eller slutlig konsekvens, är svaren garanterat inte inaktuella än det här värdet.

query_items_change_feed

Hämta en sorterad lista över objekt som har ändrats i den ordning som de ändrades.

read

Läs containeregenskaperna.

read_all_items

Visa en lista över alla objekt i containern.

read_item

Hämta objektet som identifieras av objektet.

read_offer

Hämta objektet ThroughputProperties för den här containern. Om det inte redan finns några DataflödeEgenskaper för containern utlöses ett undantag. :keyword Callable response_hook: En anropbar som anropas med svarsmetadata. :returns: Dataflöde för containern. :genererar ~azure.cosmos.exceptions.CosmosHttpResponseError: Det finns inga dataflödesegenskaper för containern eller

Det gick inte att hämta dataflödesegenskaperna.

replace_item

Ersätter det angivna objektet om det finns i containern.

Om objektet inte redan finns i containern utlöses ett undantag.

replace_throughput

Ersätt containerns dataflöde.

Om det inte redan finns några DataflödeEgenskaper för containern utlöses ett undantag.

upsert_item

Infoga eller uppdatera det angivna objektet.

Om objektet redan finns i containern ersätts det. Om objektet inte redan finns infogas det.

create_item

Skapa ett objekt i containern.

Om du vill uppdatera eller ersätta ett befintligt objekt använder du upsert_item metoden .

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]

Parametrar

body
Obligatorisk

Ett diktaliknande objekt som representerar objektet som ska skapas.

pre_trigger_include
Obligatorisk

utlösar-ID som ska användas som föråtgärdsutlösare.

post_trigger_include
Obligatorisk

utlösar-ID som ska användas som utlösare efter åtgärden.

indexing_directive
Obligatorisk

Ange om dokumentet ska utelämnas från indexering.

enable_automatic_id_generation
bool

Aktivera automatisk ID-generering om inget ID finns.

session_token
str

Token för användning med sessionskonsekvens.

initial_headers
dict[str,str]

Inledande rubriker som ska skickas som en del av begäran.

etag
str

Ett ETag-värde eller jokertecknet (*). Används för att kontrollera om resursen har ändrats och agera enligt villkoret som anges av parametern match_condition .

match_condition
MatchConditions

Matchningsvillkoret som ska användas på etag.

response_hook
Callable

En anropsbar anropad med svarsmetadata.

Returer

En diktamen som representerar det nya objektet.

Returtyp

Undantag

Objektet med det angivna ID:t finns redan.

delete_all_items_by_partition_key

Funktionen ta bort med partitionsnyckel är en asynkron bakgrundsåtgärd som gör att du kan ta bort alla dokument med samma logiska partitionsnyckelvärde med hjälp av Cosmos SDK. Åtgärden ta bort av partitionsnyckeln är begränsad till högst 10 % av det totala antalet tillgängliga RU/s i containern varje sekund. Detta hjälper till att begränsa de resurser som används av den här bakgrundsaktiviteten.

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

Parametrar

partition_key
Any
Obligatorisk

Partitionsnyckel för de objekt som ska tas bort.

pre_trigger_include
str

utlösar-ID som ska användas som föråtgärdsutlösare.

post_trigger_include
str

utlösar-ID som ska användas som utlösare efter åtgärden.

session_token
str

Token för användning med sessionskonsekvens.

etag
str

Ett ETag-värde eller jokertecknet (*). Används för att kontrollera om resursen har ändrats och agera enligt villkoret som anges av parametern match_condition .

match_condition
MatchConditions

Matchningsvillkoret som ska användas på etag.

response_hook
Callable

En anropsbar anropad med svarsmetadata.

Returtyp

Undantag

Objektet med det angivna ID:t finns redan.

delete_conflict

Ta bort en angiven konflikt från containern.

Om konflikten inte redan finns i containern utlöses ett undantag.

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

Parametrar

conflict
Obligatorisk

Det ID (namn) eller diktat som representerar konflikten som ska tas bort.

partition_key
Obligatorisk

Partitionsnyckel för konflikten som ska tas bort.

response_hook
Callable

En anropsbar anropad med svarsmetadata.

Returtyp

Undantag

Konflikten har inte tagits bort.

Konflikten finns inte i containern.

delete_item

Ta bort det angivna objektet från containern.

Om objektet inte redan finns i containern utlöses ett undantag.

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

Parametrar

item
Obligatorisk

Det ID (namn) eller diktat som representerar objektet som ska tas bort.

partition_key
Obligatorisk

Anger partitionsnyckelvärdet för objektet.

pre_trigger_include
Obligatorisk

utlösar-ID som ska användas som föråtgärdsutlösare.

post_trigger_include
Obligatorisk

utlösar-ID som ska användas som utlösare efter åtgärden.

session_token
str

Token för användning med sessionskonsekvens.

initial_headers
dict[str,str]

Inledande rubriker som ska skickas som en del av begäran.

etag
str

Ett ETag-värde eller jokertecknet (*). Används för att kontrollera om resursen har ändrats och agera enligt villkoret som anges av parametern match_condition .

match_condition
MatchConditions

Matchningsvillkoret som ska användas på etag.

response_hook
Callable

En anropsbar anropad med svarsmetadata.

Returtyp

Undantag

Objektet har inte tagits bort.

Objektet finns inte i containern.

get_conflict

Hämta konflikten som identifieras av en konflikt.

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

Parametrar

conflict
Obligatorisk

Det ID (namn) eller diktat som representerar konflikten som ska hämtas.

partition_key
Obligatorisk

Partitionsnyckel för konflikten som ska hämtas.

response_hook
Callable

En anropsbar anropad med svarsmetadata.

Returer

En diktamen som representerar den hämtade konflikten.

Returtyp

Undantag

Det gick inte att hämta den angivna konflikten.

get_throughput

Hämta objektet ThroughputProperties för den här containern.

Om det inte redan finns några DataflödeEgenskaper för containern utlöses ett undantag. :keyword Callable response_hook: En anropbar som anropas med svarsmetadata. :returns: Dataflöde för containern. :genererar ~azure.cosmos.exceptions.CosmosHttpResponseError: Det finns inga dataflödesegenskaper för containern eller

Det gick inte att hämta dataflödesegenskaperna.

get_throughput(**kwargs: Any) -> ThroughputProperties

Returtyp

Undantag

Objektet med det angivna ID:t finns redan.

list_conflicts

Visa en lista över alla konflikter i containern.

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

Parametrar

max_item_count
Obligatorisk

Maximalt antal objekt som ska returneras i uppräkningsåtgärden.

response_hook
Callable

En anropsbar anropad med svarsmetadata.

Returer

En iterabel konflikt (dikta).

Returtyp

Undantag

Objektet med det angivna ID:t finns redan.

patch_item

Provisorisk metod Korrigerar det angivna objektet med de angivna åtgärderna om det finns i containern.

Om objektet inte redan finns i containern utlöses ett undantag.

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

Parametrar

item
Union[str, Dict[str, Any]]
Obligatorisk

Det ID (namn) eller diktat som representerar objektet som ska korrigeras.

partition_key
Union[str, int, float, bool]
Obligatorisk

Partitionsnyckeln för objektet som ska korrigeras.

patch_operations
List[Dict[str, Any]]
Obligatorisk

Listan över korrigeringsåtgärder som ska tillämpas på objektet.

filter_predicate
str

villkorsstyrt filter som ska tillämpas på korrigeringsåtgärder.

pre_trigger_include
str

utlösar-ID som ska användas som föråtgärdsutlösare.

post_trigger_include
str

utlösar-ID som ska användas som utlösare efter åtgärden.

session_token
str

Token för användning med sessionskonsekvens.

etag
str

Ett ETag-värde eller jokertecknet (*). Används för att kontrollera om resursen har ändrats och agera enligt villkoret som anges av parametern match_condition .

match_condition
MatchConditions

Matchningsvillkoret som ska användas på etag.

response_hook
Callable

En anropsbar anropad med svarsmetadata.

Returer

En diktamen som representerar objektet efter att korrigeringsåtgärderna gick igenom.

Returtyp

Undantag

Korrigeringsåtgärderna misslyckades eller så finns inte objektet med angivet ID.

query_conflicts

Returnera alla konflikter som matchar en viss fråga.

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

Parametrar

query
Obligatorisk

Azure Cosmos DB SQL-frågan som ska köras.

parameters
Obligatorisk

Valfri matris med parametrar i frågan. Ignoreras om ingen fråga har angetts.

enable_cross_partition_query
Obligatorisk

Tillåter att fler än en begäran skickas för att köra frågan i Azure Cosmos DB-tjänsten. Mer än en begäran krävs om frågan inte är begränsad till ett enda partitionsnyckelvärde.

partition_key
Obligatorisk

Anger partitionsnyckelvärdet för objektet.

max_item_count
Obligatorisk

Maximalt antal objekt som ska returneras i uppräkningsåtgärden.

response_hook
Callable

En anropsbar anropad med svarsmetadata.

Returer

En iterabel konflikt (dikta).

Returtyp

Undantag

Objektet med det angivna ID:t finns redan.

query_items

Returnera alla resultat som matchar den angivna frågan.

Du kan använda valfritt värde för containernamnet i FROM-satsen, men ofta används containernamnet. I exemplen nedan är containernamnet "products" och aliaset "p" för enklare hänvisning i WHERE-satsen.

svarsfortsättningstoken i frågesvaret. Giltiga värden är positiva heltal. Värdet 0 är detsamma som att inte skicka ett värde (ingen standardgräns). :keyword int max_integrated_cache_staleness_in_ms: Den maximala cache-inaktuellheten för den integrerade cachen i

Millisekunder. För konton som har konfigurerats för att använda den integrerade cachen, med hjälp av sessions- eller slutlig konsekvens, är svaren garanterat inte inaktuella än det här värdet.

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

Returer

En iterabel av objekt (diktamen).

Returtyp

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

Undantag

Objektet med det angivna ID:t finns redan.

Exempel

Hämta alla produkter som inte har upphört:


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

Parameteriserad fråga för att hämta alla produkter som har avbrutits:


   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

Hämta en sorterad lista över objekt som har ändrats i den ordning som de ändrades.

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

Parametrar

partition_key_range_id
Obligatorisk

ChangeFeed-begäranden kan köras mot specifika partitionsnyckelintervall. Detta används för att bearbeta ändringsflödet parallellt mellan flera konsumenter.

partition_key
Obligatorisk

partitionsnyckel där ChangeFeed-begäranden är mål för.

is_start_from_beginning
Obligatorisk

Hämta om ändringsflödet ska börja från början (sant) eller från aktuell (falskt). Som standard börjar den från aktuell (false).

continuation
Obligatorisk

e_tag värde som ska användas som fortsättning för läsning av ändringsflöde.

max_item_count
Obligatorisk

Maximalt antal objekt som ska returneras i uppräkningsåtgärden.

response_hook
Callable

En anropsbar anropad med svarsmetadata.

Returer

En iterabel av objekt (diktamen).

Returtyp

Undantag

Objektet med det angivna ID:t finns redan.

read

Läs containeregenskaperna.

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

Parametrar

populate_partition_key_range_statistics
bool

Aktivera returnering av statistik för partitionsnyckelintervall i svarshuvuden.

populate_quota_info
bool

Aktivera returnering av kvotinformation för samlingslagring i svarshuvuden.

session_token
str

Token för användning med sessionskonsekvens.

initial_headers
dict[str,str]

Inledande rubriker som ska skickas som en del av begäran.

response_hook
Callable

En anropsbar anropad med svarsmetadata.

Returer

Diktamen som representerar den hämtade containern.

Returtyp

Undantag

Upphöjt om containern inte kunde hämtas. Detta inkluderar om containern inte finns.

read_all_items

Visa en lista över alla objekt i containern.

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

Parametrar

max_item_count
Obligatorisk

Maximalt antal objekt som ska returneras i uppräkningsåtgärden.

session_token
str

Token för användning med sessionskonsekvens.

initial_headers
dict[str,str]

Inledande rubriker som ska skickas som en del av begäran.

response_hook
Callable

En anropsbar anropad med svarsmetadata.

max_integrated_cache_staleness_in_ms
int

Maximal cacheföråldring för den integrerade cachen i millisekunder. För konton som har konfigurerats för att använda den integrerade cachen, med hjälp av sessions- eller slutlig konsekvens, är svaren garanterat inte inaktuella än det här värdet.

Returer

En iterabel av objekt (diktamen).

Returtyp

Undantag

Objektet med det angivna ID:t finns redan.

read_item

Hämta objektet som identifieras av objektet.

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]

Parametrar

item
Obligatorisk

Det ID (namn) eller diktat som representerar objektet som ska hämtas.

partition_key
Obligatorisk

Partitionsnyckel för objektet som ska hämtas.

post_trigger_include
Obligatorisk

utlösar-ID som ska användas som utlösare efter åtgärden.

session_token
str

Token för användning med sessionskonsekvens.

initial_headers
dict[str,str]

Inledande rubriker som ska skickas som en del av begäran.

response_hook
Callable

En anropsbar anropad med svarsmetadata.

max_integrated_cache_staleness_in_ms
int

Maximal cacheföråldring för den integrerade cachen i millisekunder. För konton som har konfigurerats för att använda den integrerade cachen, med hjälp av sessions- eller slutlig konsekvens, är svaren garanterat inte inaktuella än det här värdet.

Returer

Diktamen som representerar det objekt som ska hämtas.

Returtyp

Undantag

Det gick inte att hämta det angivna objektet.

Exempel

Hämta ett objekt från databasen och uppdatera en av dess egenskaper:


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

read_offer

Hämta objektet ThroughputProperties för den här containern. Om det inte redan finns några DataflödeEgenskaper för containern utlöses ett undantag. :keyword Callable response_hook: En anropbar som anropas med svarsmetadata. :returns: Dataflöde för containern. :genererar ~azure.cosmos.exceptions.CosmosHttpResponseError: Det finns inga dataflödesegenskaper för containern eller

Det gick inte att hämta dataflödesegenskaperna.

read_offer(**kwargs: Any) -> Offer

Returtyp

Undantag

Objektet med det angivna ID:t finns redan.

replace_item

Ersätter det angivna objektet om det finns i containern.

Om objektet inte redan finns i containern utlöses ett undantag.

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]

Parametrar

item
Obligatorisk

Det ID (namn) eller diktat som representerar objektet som ska ersättas.

body
Obligatorisk

Ett diktaliknande objekt som representerar objektet som ska ersättas.

pre_trigger_include
Obligatorisk

utlösar-ID som ska användas som föråtgärdsutlösare.

post_trigger_include
Obligatorisk

utlösar-ID som ska användas som utlösare efter åtgärden.

session_token
str

Token för användning med sessionskonsekvens.

initial_headers
dict[str,str]

Inledande rubriker som ska skickas som en del av begäran.

etag
str

Ett ETag-värde eller jokertecknet (*). Används för att kontrollera om resursen har ändrats och agera enligt villkoret som anges av parametern match_condition .

match_condition
MatchConditions

Matchningsvillkoret som ska användas på etag.

response_hook
Callable

En anropsbar anropad med svarsmetadata.

Returer

En diktamen som representerar objektet efter ersättningen gick igenom.

Returtyp

Undantag

Ersätt misslyckades eller så finns inte objektet med angivet ID.

replace_throughput

Ersätt containerns dataflöde.

Om det inte redan finns några DataflödeEgenskaper för containern utlöses ett undantag.

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

Parametrar

throughput
Obligatorisk

Det dataflöde som ska anges (ett heltal).

response_hook
Callable

En anropsbar anropad med svarsmetadata.

Returer

DataflödeEgenskaper för containern, uppdaterad med nytt dataflöde.

Returtyp

Undantag

Det finns inga dataflödesegenskaper för containern eller så gick det inte att uppdatera dataflödesegenskaperna.

upsert_item

Infoga eller uppdatera det angivna objektet.

Om objektet redan finns i containern ersätts det. Om objektet inte redan finns infogas det.

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]

Parametrar

body
Obligatorisk

Ett diktaliknande objekt som representerar objektet som ska uppdateras eller infogas.

pre_trigger_include
Obligatorisk

utlösar-ID som ska användas som föråtgärdsutlösare.

post_trigger_include
Obligatorisk

utlösar-ID som ska användas som utlösare efter åtgärden.

session_token
str

Token för användning med sessionskonsekvens.

initial_headers
dict[str,str]

Inledande rubriker som ska skickas som en del av begäran.

etag
str

Ett ETag-värde eller jokertecknet (*). Används för att kontrollera om resursen har ändrats och agera enligt villkoret som anges av parametern match_condition .

match_condition
MatchConditions

Matchningsvillkoret som ska användas på etag.

response_hook
Callable

En anropsbar anropad med svarsmetadata.

Returer

En diktamen som representerar det upserted objektet.

Returtyp

Undantag

Det gick inte att öka det angivna objektet.

Attribut

is_system_key

scripts