Megosztás a következőn keresztül:


DatabaseProxy Osztály

Egy adott adatbázissal való interakcióra szolgáló felület.

Ezt az osztályt nem szabad közvetlenül példányosítani. Ehelyett használja a <xref:azure.cosmos.aio.cosmos_client.CosmosClient.get_database_client> metódust egy meglévő adatbázis lekéréséhez, vagy egy <xref:azure.cosmos.aio.cosmos_client.CosmosClient.create_database> új adatbázis létrehozásához.

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:azure.cosmos.aio.CosmosClientConnection>
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 ThroughputProperties objektumát.

Ha az adatbázishoz még nem létezik Átviteli sebességTulajdonságok, kivétel keletkezik.

get_user_client

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

list_containers

Az adatbázis tárolóinak listázása.

list_users

Sorolja fel a tároló összes felhasználóját.

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.

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.

Ha az adatbázishoz még nem létezik Átviteli sebességTulajdonságok, kivétel keletkezik.

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

async create_container(id: str, partition_key: PartitionKey, **kwargs: Any) -> ContainerProxy

Paraméterek

id
str
Kötelező

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

partition_key
PartitionKey
Kötelező

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

indexing_policy
dict[str, str]

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

default_ttl
int

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

offer_throughput
Union[int, ThroughputProperties]

Az ajánlathoz kiosztott átviteli sebesség.

unique_key_policy
dict[str, str]

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

conflict_resolution_policy
dict[str, str]

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[[Dict[str, str], Dict[str, Any]], None]

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 = await 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 = await 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.

async create_container_if_not_exists(id: str, partition_key: PartitionKey, **kwargs: Any) -> ContainerProxy

Paraméterek

id
str
Kötelező

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

partition_key
PartitionKey
Kötelező

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

indexing_policy
dict[str, str]

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

default_ttl
int

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

offer_throughput
Union[int, ThroughputProperties]

Az ajánlathoz kiosztott átviteli sebesség.

unique_key_policy
dict[str, str]

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

conflict_resolution_policy
dict[str, str]

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[[Dict[str, str], Dict[str, Any]], None]

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.

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

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

Paraméterek

body
Dict[str, Any]
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[[Dict[str, str], Dict[str, Any]], None]

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:
               await database.create_user(dict(id="Walter Harp"))
               print("Created user 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.

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

Paraméterek

container
str vagy Dict[str, Any] vagy ContainerProxy
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[[Dict[str, str], None], None]

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.

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

Paraméterek

user
Union[str, Dict[str, Any], UserProxy]
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[[Dict[str, str], None], None]

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
Union[str, Dict[str, Any], ContainerProxy]
Kötelező

A lekérni kívánt tároló tulajdonságait vagy ContainerProxy példányát jelölő azonosító (név).

Válaszok

A 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

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 ThroughputProperties objektumát.

Ha az adatbázishoz még nem létezik Átviteli sebességTulajdonságok, kivétel keletkezik.

async get_throughput(**kwargs: Any) -> ThroughputProperties

Paraméterek

response_hook
Callable[[Dict[str, str], List[Dict[str, Any]]], None]

Meghívható a válasz metaadataival.

Válaszok

Az adatbázis átviteli sebességeTulajdonságok.

Visszatérési típus

Kivételek

Az adatbázishoz nem léteznek átvitelisebesség-tulajdonságok, 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.

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

Paraméterek

user
Union[str, Dict[str, Any], UserProxy]
Kötelező

Az azonosító (név), a lekérendő felhasználó tulajdonságait vagy UserProxy példányát jelölő diktálás.

Válaszok

A beolvasott felhasználót jelölő UserProxy-példány .

Visszatérési típus

Kivételek

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

list_containers

Az adatbázis tárolóinak listázása.

list_containers(**kwargs) -> AsyncItemPaged[Dict[str, Any]]

Paraméterek

max_item_count
int

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

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.

response_hook
Callable[[Dict[str, str], <xref:AsyncItemPaged>[Dict[str, Any]]], None]

Meghívható a válasz metaadataival.

Válaszok

Tárolótulajdonságok (diktálások) AsyncItemPaged tulajdonsága.

Visszatérési típus

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

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)
           async for container in database.list_containers():
               print("Container ID: {}".format(container['id']))

list_users

Sorolja fel a tároló összes felhasználóját.

list_users(**kwargs: Any) -> AsyncItemPaged[Dict[str, Any]]

Paraméterek

max_item_count
int

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

response_hook
Callable[[Dict[str, str], <xref:AsyncItemPaged>[Dict[str, Any]]], None]

Meghívható a válasz metaadataival.

Válaszok

A felhasználói tulajdonságok (diktálások) AsyncItemPaged tulajdonsága.

Visszatérési típus

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

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(**kwargs: Any) -> AsyncItemPaged[Dict[str, Any]]

Paraméterek

query
Union[str, Dict[str, Any]]

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

parameters
Optional[List[Dict[str, Any]]]

Nem kötelező paramétertömb a lekérdezéshez. Minden paraméter egy "name" és "value" kulcsokkal rendelkező dict().

max_item_count
int

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

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.

response_hook
Callable[[Dict[str, str], <xref:AsyncItemPaged>[Dict[str, Any]]], None]

Meghívható a válasz metaadataival.

Válaszok

Tárolótulajdonságok (diktálások) AsyncItemPaged tulajdonsága.

Visszatérési típus

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

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 | Dict[str, Any], **kwargs: Any) -> AsyncItemPaged[Dict[str, Any]]

Paraméterek

query
Union[str, Dict[str, Any]]
Kötelező

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

parameters
Optional[List[Dict[str, Any]]]

Nem kötelező paramétertömb a lekérdezéshez. Minden paraméter egy "name" és "value" kulcsokkal rendelkező dict(). Figyelmen kívül hagyja, ha nincs megadva lekérdezés.

max_item_count
int

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

response_hook
Callable[[Dict[str, str], <xref:AsyncItemPaged>[Dict[str, Any]]], None]

Meghívható a válasz metaadataival.

Válaszok

A felhasználói tulajdonságok (diktálások) AsyncItemPaged tulajdonsága.

Visszatérési típus

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

Kivételek

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

read

Olvassa el az adatbázis tulajdonságait.

async read(**kwargs: Any) -> Dict[str, Any]

Paraméterek

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.

response_hook
Callable[[Dict[str, str], Dict[str, Any]], None]

Meghívható a válasz metaadataival.

Válaszok

Az adatbázis-tulajdonságokat jelölő diktálás

Visszatérési típus

Kivételek

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

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.

async replace_container(container: str | ContainerProxy | Dict[str, Any], partition_key: PartitionKey, **kwargs: Any) -> ContainerProxy

Paraméterek

container
Union[str, Dict[str, Any], ContainerProxy]
Kötelező

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

partition_key
PartitionKey
Kötelező

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

indexing_policy
dict[str, str]

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

default_ttl
int

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

conflict_resolution_policy
dict[str, str]

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

session_token
str

Jogkivonat a munkamenet-konzisztenciához.

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.

initial_headers
dict[str, str]

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

response_hook
Callable[[Dict[str, str], Dict[str, Any]], None]

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 csere befejezése után a tárolót jelölő ContainerProxy-példány .

Visszatérési típus

Kivételek

Fel van emelve, ha a tárolót nem sikerült lecserélni. Ebbe beletartozik az is, 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)
           await database.replace_container(container, partition_key=PartitionKey(path='/productName'), default_ttl=3600)

           # Display the new TTL setting for the container
           container_props = await 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.

Ha az adatbázishoz még nem létezik Átviteli sebességTulajdonságok, kivétel keletkezik.

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

Paraméterek

throughput
Union[int, ThroughputProperties]
Kötelező

A beállítandó átviteli sebesség.

response_hook
Callable[[Dict[str, str], Dict[str, Any]], None]

Meghívható 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

Az adatbázishoz nem léteznek átvitelisebesség-tulajdonságok, vagy 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.

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

Paraméterek

user
Union[str, Dict[str, Any], UserProxy]
Kötelező

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

body
Dict[str, Any]
Kötelező

Egy dict-szerű objektum, amely a lecserélni kívánt felhasználót jelöli.

response_hook
Callable[[Dict[str, str], Dict[str, Any]], None]

Meghívható a válasz metaadataival.

Válaszok

A csere után a felhasználót jelölő UserProxy-példány .

Visszatérési típus

Kivételek

Ha a csere sikertelen volt, 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, a rendszer beszúrja.

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

Paraméterek

body
Dict[str, Any]
Kötelező

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

response_hook
Callable[[Dict[str, str], Dict[str, Any]], None]

Meghívható a válasz metaadataival.

Válaszok

A beszúrt felhasználót jelölő UserProxy-példány .

Visszatérési típus

Kivételek

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