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 <xref:CosmosClient.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ója.
_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ás-etag.
_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:ClientSession>
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 Á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
A létrehozandó tároló azonosítója (neve).
- partition_key
A tárolóhoz használandó partíciókulcs.
- indexing_policy
A tárolóra alkalmazandó indexelési szabályzat.
- default_ttl
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.>
Az ajánlathoz kiosztott átviteli sebesség.
- unique_key_policy
A tárolóra alkalmazandó egyedi kulcsszabályzat.
- conflict_resolution_policy
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.
- 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
Az olvasni vagy létrehozni kívánt tároló azonosítója (neve).
- partition_key
A tárolóhoz használandó partíciókulcs.
- indexing_policy
A tárolóra alkalmazandó indexelési szabályzat.
- default_ttl
Alapértelmezett élettartam (TTL) a tárolóban lévő elemekhez. Ha nincs meghatározva, az elemek nem járnak le.
- populate_query_metrics
Lekérdezési metrikák visszaadásának engedélyezése a válaszfejlécekben.
- offer_throughput
Az ajánlathoz kiosztott átviteli sebesség.
- unique_key_policy
A tárolóra alkalmazandó egyedi kulcsszabályzat.
- conflict_resolution_policy
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.
- 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
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
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 <xref:azure.cosmos.database.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.
- 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
A törölni kívánt felhasználó tulajdonságait vagy <xref:azure.cosmos.database.UserProxy> példányát jelölő azonosító (név).
- response_hook
- Callable
Meghívható hívás 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
A lekérendő tároló tulajdonságainak megfelelő azonosító (név) a tároló, egy <xref:azure.cosmos.database.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
A lekérendő felhasználó tulajdonságait vagy <xref:azure.cosmos.database.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
Az enumerálási műveletben visszaadandó elemek maximális száma.
- session_token
- str
Jogkivonat a munkamenet konzisztenciájával való használathoz.
- 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
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
A végrehajtandó Azure Cosmos DB SQL-lekérdezés.
- parameters
A lekérdezéshez választható paraméterek tömbje. Figyelmen kívül hagyja, ha nincs megadva lekérdezés.
- max_item_count
Az enumerálási műveletben visszaadandó elemek maximális száma.
- session_token
- str
Jogkivonat a munkamenet konzisztenciájával való használathoz.
- 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
A végrehajtandó Azure Cosmos DB SQL-lekérdezés.
- parameters
A lekérdezéshez választható paraméterek tömbje. Figyelmen kívül hagyja, ha nincs megadva lekérdezés.
- max_item_count
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.
- response_hook
- Callable
Meghívható hívás a válasz metaadataival.
Visszatérési típus
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
A lecserélni kívánt tároló tulajdonságait vagy <xref:azure.cosmos.database.ContainerProxy> példányát képviselő azonosító (név).
- partition_key
A tárolóhoz használandó partíciókulcs.
- indexing_policy
A tárolóra alkalmazandó indexelési szabályzat.
- default_ttl
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
A tárolóra alkalmazandó ütközésfeloldási szabályzat.
- populate_query_metrics
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.
- 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
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
A lecserélendő felhasználó tulajdonságait vagy <xref:azure.cosmos.database.UserProxy> példányát képviselő azonosító (név).
- body
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
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.
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: