Share via


DatabaseProxy Osztály

Egy adott adatbázist kezelő felület.

Ezt az osztályt nem szabad közvetlenül példányosítani. Ehelyett használja a metódust get_database_client .

Az adatbázisok egy vagy több tárolót tartalmaznak, amelyek mindegyike tartalmazhat elemeket, tárolt eljárásokat, eseményindítókat és felhasználó által definiált függvényeket.

Az adatbázisokhoz társított felhasználók is tartozhatnak, amelyek mindegyike bizonyos tárolókhoz, tárolt eljárásokhoz, eseményindítókhoz, felhasználó által definiált függvényekhez vagy elemekhez való hozzáféréshez szükséges engedélyekkel van konfigurálva.

Az Azure Cosmos DB SQL API-adatbázisok a következő rendszer által létrehozott tulajdonságokkal rendelkeznek. Ezek a tulajdonságok írásvédettek:

  • _rid: Az erőforrás-azonosító.

  • _ts: Az erőforrás utolsó frissítésének időpontja. Az érték egy időbélyeg.

  • _self: Az erőforrás egyedi címezhető URI-ja.

  • _etag: Az optimista egyidejűség-vezérléshez szükséges erőforráscímke.

  • _colls: A gyűjtemények erőforrásának címezhető elérési útja.

  • _users: A felhasználói erőforrás címezhető elérési útja.

Öröklődés
builtins.object
DatabaseProxy

Konstruktor

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

Paraméterek

client_connection
<xref:ClientSession>
Kötelező

Az ügyfél, amelyből az adatbázist lekérte.

id
str
Kötelező

Az adatbázis azonosítója (neve).

properties
alapértelmezett érték: None

Változók

id

Az adatbázis azonosítója (neve).

Metódusok

create_container

Hozzon létre egy új tárolót a megadott azonosítóval (névvel).

Ha a megadott azonosítóval rendelkező tároló már létezik, a rendszer egy CosmosResourceExistsError nevű tárolót hoz létre.

create_container_if_not_exists

Hozzon létre egy tárolót, ha még nem létezik.

Ha a tároló már létezik, a rendszer a meglévő beállításokat adja vissza. Megjegyzés: nem ellenőrzi vagy frissíti a meglévő tárolóbeállításokat, és nem kínál átviteli sebességet, ha eltérnek a metódusnak átadotttól.

create_user

Hozzon létre egy új felhasználót a tárolóban.

Meglévő felhasználó frissítéséhez vagy cseréjéhez használja a metódust <xref:ContainerProxy.upsert_user> .

delete_container

Tároló törlése.

delete_user

Törölje a megadott felhasználót a tárolóból.

get_container_client

Kérje le a ContainerProxyt egy megadott azonosítóval (névvel) rendelkező tárolóhoz.

get_throughput

Kérje le az adatbázis Átviteli sebességtulajdonságok objektumát. Ha az adatbázishoz még nem létezik Átviteli sebességTulajdonságok, kivétel keletkezik. :keyword Callable response_hook: A válasz metaadataival meghívott hívható. :returns: ThroughputProperties az adatbázishoz. :raises ~azure.cosmos.exceptions.CosmosHttpResponseError: Nincs átviteli sebesség tulajdonság a tárolóhoz vagy

az átviteli sebesség tulajdonságai nem kérhetők le.

get_user_client

Felhasználóproxy lekérése megadott azonosítóval rendelkező felhasználóhoz.

list_containers

Az adatbázisban található tárolók listázása.

list_users

A tároló összes felhasználójának listázása.

query_containers

Az aktuális adatbázisban lévő tárolók tulajdonságainak listázása.

query_users

Adja vissza az adott lekérdezésnek megfelelő összes felhasználót.

read

Olvassa el az adatbázis tulajdonságait.

read_offer

Kérje le az adatbázis Átviteli sebességtulajdonságok objektumát. Ha az adatbázishoz még nem létezik Átviteli sebességTulajdonságok, kivétel keletkezik. :keyword Callable response_hook: A válasz metaadataival meghívott hívható. :returns: ThroughputProperties az adatbázishoz. :raises ~azure.cosmos.exceptions.CosmosHttpResponseError: Nincs átviteli sebesség tulajdonság a tárolóhoz vagy

az átviteli sebesség tulajdonságai nem kérhetők le.

replace_container

Állítsa alaphelyzetbe a tároló tulajdonságait.

A tulajdonságmódosítások azonnal megmaradnak. A nem megadott tulajdonságok az alapértelmezett értékükre lesznek visszaállítva.

replace_throughput

Cserélje le az adatbázisszintű átviteli sebességet.

replace_user

Lecseréli a megadott felhasználót, ha létezik a tárolóban.

upsert_user

A megadott felhasználó beszúrása vagy frissítése.

Ha a felhasználó már létezik a tárolóban, a rendszer lecseréli. Ha a felhasználó még nem létezik, akkor a rendszer beszúrja.

create_container

Hozzon létre egy új tárolót a megadott azonosítóval (névvel).

Ha a megadott azonosítóval rendelkező tároló már létezik, a rendszer egy CosmosResourceExistsError nevű tárolót hoz létre.

create_container(id: str, partition_key: Any, indexing_policy: Dict[str, Any] | None = None, default_ttl: int | None = None, populate_query_metrics: bool | None = None, offer_throughput: int | ThroughputProperties | None = None, unique_key_policy: Dict[str, Any] | None = None, conflict_resolution_policy: Dict[str, Any] | None = None, **kwargs: Any) -> ContainerProxy

Paraméterek

id
Kötelező

A létrehozandó tároló azonosítója (neve).

partition_key
Kötelező

A tárolóhoz használandó partíciókulcs.

indexing_policy
Kötelező

A tárolóra alkalmazandó indexelési szabályzat.

default_ttl
Kötelező

Alapértelmezett élettartam (TTL) a tárolóban lévő elemekhez. Ha nincs meghatározva, az elemek nem járnak le.

offer_throughput
int vagy <xref:azure.cosmos.ThroughputProperties.>
Kötelező

Az ajánlathoz kiosztott átviteli sebesség.

unique_key_policy
Kötelező

A tárolóra alkalmazandó egyedi kulcsszabályzat.

conflict_resolution_policy
Kötelező

A tárolóra alkalmazandó ütközésfeloldási szabályzat.

session_token
str

Jogkivonat a munkamenet-konzisztenciához.

initial_headers
dict[str,str]

A kérés részeként elküldendő kezdeti fejlécek.

etag
str

ETag-érték vagy helyettesítő karakter (*). Annak ellenőrzésére szolgál, hogy az erőforrás megváltozott-e, és a match_condition paraméter által megadott feltételnek megfelelően működik-e.

match_condition
MatchConditions

Az etagen használandó egyezési feltétel.

response_hook
Callable

Meghívható a válasz metaadataival.

analytical_storage_ttl
int

Elemzési tár élettartam (TTL) a tárolóban lévő elemek esetében. A Nincs érték kikapcsolja az elemzési tárterületet, és a -1 érték TTL nélkül kapcsolja be az elemzési tárat. Vegye figyelembe, hogy az elemzési tárterület csak Synapse Link engedélyezett fiókokon engedélyezhető.

Válaszok

Az új tárolót jelölő ContainerProxy-példány .

Visszatérési típus

Kivételek

A tároló létrehozása nem sikerült.

Példák

Hozzon létre egy tárolót az alapértelmezett beállításokkal:


   container_name = "products"
   try:
       container = database.create_container(
           id=container_name, partition_key=PartitionKey(path="/productName")
       )
   except exceptions.CosmosResourceExistsError:
       container = database.get_container_client(container_name)

Hozzon létre egy adott beállításokkal rendelkező tárolót; ebben az esetben egy egyéni partíciókulcs:


   customer_container_name = "customers"
   try:
       customer_container = database.create_container(
           id=customer_container_name,
           partition_key=PartitionKey(path="/city"),
           default_ttl=200,
       )
   except exceptions.CosmosResourceExistsError:
       customer_container = database.get_container_client(customer_container_name)

create_container_if_not_exists

Hozzon létre egy tárolót, ha még nem létezik.

Ha a tároló már létezik, a rendszer a meglévő beállításokat adja vissza. Megjegyzés: nem ellenőrzi vagy frissíti a meglévő tárolóbeállításokat, és nem kínál átviteli sebességet, ha eltérnek a metódusnak átadotttól.

create_container_if_not_exists(id: str, partition_key: Any, indexing_policy: Dict[str, Any] | None = None, default_ttl: int | None = None, populate_query_metrics: bool | None = None, offer_throughput: int | ThroughputProperties | None = None, unique_key_policy: Dict[str, Any] | None = None, conflict_resolution_policy: Dict[str, Any] | None = None, **kwargs: Any) -> ContainerProxy

Paraméterek

id
Kötelező

Az olvasni vagy létrehozni kívánt tároló azonosítója (neve).

partition_key
Kötelező

A tárolóhoz használandó partíciókulcs.

indexing_policy
Kötelező

A tárolóra alkalmazandó indexelési szabályzat.

default_ttl
Kötelező

Alapértelmezett élettartam (TTL) a tárolóban lévő elemekhez. Ha nincs meghatározva, az elemek nem járnak le.

populate_query_metrics
Kötelező

Lekérdezési metrikák visszaadásának engedélyezése a válaszfejlécekben.

offer_throughput
Kötelező

Az ajánlathoz kiosztott átviteli sebesség.

unique_key_policy
Kötelező

A tárolóra alkalmazandó egyedi kulcsszabályzat.

conflict_resolution_policy
Kötelező

A tárolóra alkalmazandó ütközésfeloldási szabályzat.

session_token
str

Jogkivonat a munkamenet-konzisztenciához.

initial_headers
dict[str,str]

A kérés részeként elküldendő kezdeti fejlécek.

etag
str

ETag-érték vagy helyettesítő karakter (*). Annak ellenőrzésére szolgál, hogy az erőforrás megváltozott-e, és a match_condition paraméter által megadott feltételnek megfelelően működik-e.

match_condition
MatchConditions

Az etagen használandó egyezési feltétel.

response_hook
Callable

Meghívható a válasz metaadataival.

analytical_storage_ttl
int

Elemzési tár élettartam (TTL) a tárolóban lévő elemek esetében. A Nincs érték kikapcsolja az elemzési tárterületet, és a -1 érték TTL nélkül kapcsolja be az elemzési tárat. Vegye figyelembe, hogy az elemzési tárterület csak Synapse Link engedélyezett fiókokon engedélyezhető.

Válaszok

A tárolót jelölő ContainerProxy-példány .

Visszatérési típus

Kivételek

A tároló olvasása vagy létrehozása nem sikerült.

create_user

Hozzon létre egy új felhasználót a tárolóban.

Meglévő felhasználó frissítéséhez vagy cseréjéhez használja a metódust <xref:ContainerProxy.upsert_user> .

create_user(body: Dict[str, Any], **kwargs: Any) -> UserProxy

Paraméterek

body
Kötelező

Diktátorszerű objektum , amelynek azonosítókulcsa és értéke a létrehozandó felhasználót jelöli. A felhasználói azonosítónak egyedinek kell lennie az adatbázisban, és legfeljebb 255 karakterből állhat.

response_hook
Callable

Meghívható a válasz metaadataival.

Válaszok

Az új felhasználót képviselő UserProxy-példány .

Visszatérési típus

Kivételek

Ha az adott felhasználó nem hozható létre.

Példák

Adatbázis-felhasználó létrehozása:


   try:
       database.create_user(dict(id="Walter Harp"))
   except exceptions.CosmosResourceExistsError:
       print("A user with that ID already exists.")
   except exceptions.CosmosHttpResponseError as failure:
       print("Failed to create user. Status code:{}".format(failure.status_code))

delete_container

Tároló törlése.

delete_container(container: str | ContainerProxy | Dict[str, Any], populate_query_metrics: bool | None = None, **kwargs: Any) -> None

Paraméterek

container
Kötelező

A törölni kívánt tároló azonosítója (neve). Megadhatja a törölni kívánt tároló azonosítóját, egy ContainerProxy példányt vagy egy, a tároló tulajdonságait képviselő diktáltot.

session_token
str

Jogkivonat a munkamenet-konzisztenciához.

initial_headers
dict[str,str]

A kérés részeként elküldendő kezdeti fejlécek.

etag
str

ETag-érték vagy helyettesítő karakter (*). Annak ellenőrzésére szolgál, hogy az erőforrás megváltozott-e, és a match_condition paraméter által megadott feltételnek megfelelően működik-e.

match_condition
MatchConditions

Az etagen használandó egyezési feltétel.

response_hook
Callable

Meghívható a válasz metaadataival.

Visszatérési típus

Kivételek

Ha a tároló nem törölhető.

delete_user

Törölje a megadott felhasználót a tárolóból.

delete_user(user: str | UserProxy | Dict[str, Any], **kwargs: Any) -> None

Paraméterek

user
Kötelező

A törölni kívánt felhasználó tulajdonságait vagy UserProxy példányát jelölő azonosító (név).

response_hook
Callable

Meghívható a válasz metaadataival.

Visszatérési típus

Kivételek

A felhasználó törlése nem sikerült.

A felhasználó nem létezik a tárolóban.

get_container_client

Kérje le a ContainerProxyt egy megadott azonosítóval (névvel) rendelkező tárolóhoz.

get_container_client(container: str | ContainerProxy | Dict[str, Any]) -> ContainerProxy

Paraméterek

container
Kötelező

A lekérendő tároló tulajdonságainak megfelelő azonosító (név) a tároló, egy ContainerProxy példány vagy egy diktálás.

Válaszok

A lekért adatbázist képviselő ContainerProxy-példány .

Visszatérési típus

Kivételek

A tároló létrehozása nem sikerült.

Példák

Szerezzen be egy meglévő tárolót, és kezelje a hibát, ha az a következőt tapasztalja:


   database = client.get_database_client(database_name)
   container = database.get_container_client(container_name)

get_throughput

Kérje le az adatbázis Átviteli sebességtulajdonságok objektumát. Ha az adatbázishoz még nem létezik Átviteli sebességTulajdonságok, kivétel keletkezik. :keyword Callable response_hook: A válasz metaadataival meghívott hívható. :returns: ThroughputProperties az adatbázishoz. :raises ~azure.cosmos.exceptions.CosmosHttpResponseError: Nincs átviteli sebesség tulajdonság a tárolóhoz vagy

az átviteli sebesség tulajdonságai nem kérhetők le.

get_throughput(**kwargs: Any) -> ThroughputProperties

Visszatérési típus

Kivételek

A tároló létrehozása nem sikerült.

get_user_client

Felhasználóproxy lekérése megadott azonosítóval rendelkező felhasználóhoz.

get_user_client(user: str | UserProxy | Dict[str, Any]) -> UserProxy

Paraméterek

user
Kötelező

A lekérendő felhasználó tulajdonságait vagy UserProxy példányát képviselő azonosító (név).

Válaszok

A lekért felhasználót képviselő UserProxy-példány .

Visszatérési típus

Kivételek

A tároló létrehozása nem sikerült.

list_containers

Az adatbázisban található tárolók listázása.

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

Paraméterek

max_item_count
Kötelező

Az enumerálási műveletben visszaadandó elemek maximális száma.

session_token
str

Jogkivonat a munkamenet konzisztenciájával való használathoz.

initial_headers
dict[str,str]

A kérés részeként elküldendő kezdeti fejlécek.

response_hook
Callable

Meghívható hívás a válasz metaadataival.

Válaszok

A tárolótulajdonságok (diktálások) Iterable tulajdonsága.

Visszatérési típus

Kivételek

A tároló létrehozása nem sikerült.

Példák

Az adatbázis összes tárolójának listázása:


   database = client.get_database_client(database_name)
   for container in database.list_containers():
       print("Container ID: {}".format(container['id']))

list_users

A tároló összes felhasználójának listázása.

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

Paraméterek

max_item_count
Kötelező

Az enumerálási műveletben visszaadandó felhasználók maximális száma.

response_hook
Callable

Meghívható hívás a válasz metaadataival.

Válaszok

A felhasználói tulajdonságok (diktálások) Iterable értéke.

Visszatérési típus

Kivételek

A tároló létrehozása nem sikerült.

query_containers

Az aktuális adatbázisban lévő tárolók tulajdonságainak listázása.

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

Paraméterek

query
Kötelező

A végrehajtandó Azure Cosmos DB SQL-lekérdezés.

parameters
Kötelező

A lekérdezéshez választható paraméterek tömbje. Figyelmen kívül hagyja, ha nincs megadva lekérdezés.

max_item_count
Kötelező

Az enumerálási műveletben visszaadandó elemek maximális száma.

session_token
str

Jogkivonat a munkamenet konzisztenciájával való használathoz.

initial_headers
dict[str,str]

A kérés részeként elküldendő kezdeti fejlécek.

response_hook
Callable

Meghívható hívás a válasz metaadataival.

Válaszok

A tárolótulajdonságok (diktálások) Iterable tulajdonsága.

Visszatérési típus

Kivételek

A tároló létrehozása nem sikerült.

query_users

Adja vissza az adott lekérdezésnek megfelelő összes felhasználót.

query_users(query: str, parameters: List[str] | None = None, max_item_count: int | None = None, **kwargs: Any) -> Iterable[Dict[str, Any]]

Paraméterek

query
Kötelező

A végrehajtandó Azure Cosmos DB SQL-lekérdezés.

parameters
Kötelező

A lekérdezéshez választható paraméterek tömbje. Figyelmen kívül hagyja, ha nincs megadva lekérdezés.

max_item_count
Kötelező

Az enumerálási műveletben visszaadandó felhasználók maximális száma.

response_hook
Callable

Meghívható hívás a válasz metaadataival.

Válaszok

A felhasználói tulajdonságok (diktálások) Iterable értéke.

Visszatérési típus

Kivételek

A tároló létrehozása nem sikerült.

read

Olvassa el az adatbázis tulajdonságait.

read(populate_query_metrics: bool | None = None, **kwargs: Any) -> Dict[str, Any]

Paraméterek

session_token
str

Jogkivonat a munkamenet konzisztenciájával való használathoz.

initial_headers
dict[str,str]

A kérés részeként elküldendő kezdeti fejlécek.

response_hook
Callable

Meghívható hívás a válasz metaadataival.

Visszatérési típus

Dict[<xref:Str>, Any]

Kivételek

Ha a megadott adatbázist nem sikerült lekérni.

read_offer

Kérje le az adatbázis Átviteli sebességtulajdonságok objektumát. Ha az adatbázishoz még nem létezik Átviteli sebességTulajdonságok, kivétel keletkezik. :keyword Callable response_hook: A válasz metaadataival meghívott hívható. :returns: ThroughputProperties az adatbázishoz. :raises ~azure.cosmos.exceptions.CosmosHttpResponseError: Nincs átviteli sebesség tulajdonság a tárolóhoz vagy

az átviteli sebesség tulajdonságai nem kérhetők le.

read_offer(**kwargs: Any) -> ThroughputProperties

Visszatérési típus

Kivételek

A tároló létrehozása nem sikerült.

replace_container

Állítsa alaphelyzetbe a tároló tulajdonságait.

A tulajdonságmódosítások azonnal megmaradnak. A nem megadott tulajdonságok az alapértelmezett értékükre lesznek visszaállítva.

replace_container(container: str | ContainerProxy | Dict[str, Any], partition_key: Any, indexing_policy: Dict[str, Any] | None = None, default_ttl: int | None = None, conflict_resolution_policy: Dict[str, Any] | None = None, populate_query_metrics: bool | None = None, **kwargs: Any) -> ContainerProxy

Paraméterek

container
Kötelező

A lecserélni kívánt tároló tulajdonságait vagy ContainerProxy példányát képviselő azonosító (név).

partition_key
Kötelező

A tárolóhoz használandó partíciókulcs.

indexing_policy
Kötelező

A tárolóra alkalmazandó indexelési szabályzat.

default_ttl
Kötelező

Alapértelmezett élettartam (TTL) a tárolóban lévő elemek esetében. Ha nincs meghatározva, az elemek nem járnak le.

conflict_resolution_policy
Kötelező

A tárolóra alkalmazandó ütközésfeloldási szabályzat.

populate_query_metrics
Kötelező

Lekérdezési metrikák visszaadásának engedélyezése a válaszfejlécekben.

session_token
str

Jogkivonat a munkamenet konzisztenciájával való használathoz.

etag
str

ETag-érték vagy helyettesítő karakter (*). Annak ellenőrzésére szolgál, hogy az erőforrás megváltozott-e, és a match_condition paraméter által megadott feltételnek megfelelően jár-e el.

match_condition
MatchConditions

Az etagen használni kívánt egyeztetési feltétel.

initial_headers
dict[str,str]

A kérés részeként elküldendő kezdeti fejlécek.

response_hook
Callable

Meghívható hívás a válasz metaadataival.

analytical_storage_ttl
int

Elemzési tár élettartam (TTL) a tárolóban lévő elemek esetében. A Nincs érték kikapcsolja az elemzési tárterületet, és a -1 érték bekapcsolja az elemzési tárolást TTL nélkül. Vegye figyelembe, hogy az elemzési tár csak Synapse Link engedélyezett fiókokon engedélyezhető.

Válaszok

A csere befejezése után a tárolót képviselő ContainerProxy-példány .

Visszatérési típus

Kivételek

Fel van emelve, ha a tárolót nem sikerült lecserélni. Ez magában foglalja, ha a megadott azonosítóval rendelkező tároló nem létezik.

Példák

Állítsa alaphelyzetbe a TTL tulajdonságot egy tárolón, és jelenítse meg a frissített tulajdonságokat:


   # Set the TTL on the container to 3600 seconds (one hour)
   database.replace_container(container, partition_key=PartitionKey(path='/productName'), default_ttl=3600)

   # Display the new TTL setting for the container
   container_props = database.get_container_client(container_name).read()
   print("New container TTL: {}".format(json.dumps(container_props['defaultTtl'])))

replace_throughput

Cserélje le az adatbázisszintű átviteli sebességet.

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

Paraméterek

throughput
Kötelező

A beállítandó átviteli sebesség (egész szám).

response_hook
Callable

Meghívható hívás a válasz metaadataival.

Válaszok

Átviteli sebességTulajdonságok az adatbázishoz, új átviteli sebességgel frissítve.

Visszatérési típus

Kivételek

Ha az adatbázishoz nincs átviteli sebességtulajdonság, vagy ha az átviteli sebesség tulajdonságai nem frissíthetők.

replace_user

Lecseréli a megadott felhasználót, ha létezik a tárolóban.

replace_user(user: str | UserProxy | Dict[str, Any], body: Dict[str, Any], **kwargs: Any) -> UserProxy

Paraméterek

user
Kötelező

A lecserélendő felhasználó tulajdonságait vagy UserProxy példányát képviselő azonosító (név).

body
Kötelező

A lecserélni kívánt felhasználót jelképező diktálásszerű objektum.

response_hook
Callable

Meghívható hívás a válasz metaadataival.

Válaszok

Egy UserProxy-példány , amely a felhasználót jelöli a csere után.

Visszatérési típus

Kivételek

Ha a csere meghiúsult, vagy a megadott azonosítóval rendelkező felhasználó nem létezik.

upsert_user

A megadott felhasználó beszúrása vagy frissítése.

Ha a felhasználó már létezik a tárolóban, a rendszer lecseréli. Ha a felhasználó még nem létezik, akkor a rendszer beszúrja.

upsert_user(body: Dict[str, Any], **kwargs: Any) -> UserProxy

Paraméterek

body
Kötelező

A frissíteni vagy beszúrni kívánt felhasználót jelképező diktálásszerű objektum.

response_hook
Callable

Meghívható hívás a válasz metaadataival.

Válaszok

A felhasználót képviselő UserProxy-példány .

Visszatérési típus

Kivételek

Ha az adott felhasználót nem sikerült beszúrni.