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.objectDatabaseProxy
Konstruktor
DatabaseProxy(client_connection: CosmosClientConnection, id: str, properties: Dict[str, Any] = None)
Paraméterek
- client_connection
- <xref:azure.cosmos.aio.CosmosClientConnection>
Az ügyfél, amelyből az adatbázist lekérte.
- properties
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
- 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.
- 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.
- 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
- 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.
- 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.
- 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
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.
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
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.
- 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.
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
A törölni kívánt felhasználó tulajdonságait vagy UserProxy példányát jelölő azonosító (név).
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
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
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
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.
Meghívható a válasz metaadataival.
Válaszok
Tárolótulajdonságok (diktálások) AsyncItemPaged 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)
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.
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
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
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.
Meghívható a válasz metaadataival.
Válaszok
Tárolótulajdonságok (diktálások) AsyncItemPaged 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 | Dict[str, Any], **kwargs: Any) -> AsyncItemPaged[Dict[str, Any]]
Paraméterek
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.
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
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.
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
A lecserélni kívánt tároló tulajdonságait vagy ContainerProxy példányát jelölő azonosító (név).
- default_ttl
- int
Alapértelmezett élettartam (TTL) a tárolóban lévő elemekhez. Ha nincs meghatározva, az elemek nem járnak le.
- 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.
- 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
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
A lecserélendő felhasználó tulajdonságait vagy UserProxy példányát jelölő azonosító (név).
Egy dict-szerű objektum, amely a lecserélni kívánt felhasználót jelöli.
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
A frissíteni vagy beszúrni kívánt felhasználót jelképező diktálásszerű objektum.
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.
Azure SDK for Python
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: