Delen via


DatabaseProxy Klas

Een interface voor interactie met een specifieke database.

Deze klasse mag niet rechtstreeks worden geïnstantieerd. Gebruik in plaats daarvan de <xref:azure.cosmos.aio.cosmos_client.CosmosClient.get_database_client> methode om een bestaande database op te halen of de <xref:azure.cosmos.aio.cosmos_client.CosmosClient.create_database> methode om een nieuwe database te maken.

Een database bevat een of meer containers, die elk items, opgeslagen procedures, triggers en door de gebruiker gedefinieerde functies kunnen bevatten.

Een database kan ook gekoppelde gebruikers hebben, die elk zijn geconfigureerd met een set machtigingen voor toegang tot bepaalde containers, opgeslagen procedures, triggers, door de gebruiker gedefinieerde functies of items.

Een Azure Cosmos DB SQL API-database heeft de volgende door het systeem gegenereerde eigenschappen. Deze eigenschappen zijn alleen-lezen:

  • _rid: de resource-id.

  • _ts: wanneer de resource voor het laatst is bijgewerkt. De waarde is een tijdstempel.

  • _self: de unieke adresseerbare URI voor de resource.

  • _etag: de resource-etag die is vereist voor optimistisch gelijktijdigheidsbeheer.

  • _colls: het adresseerbare pad van de verzamelingsresource.

  • _users: het adresseerbare pad van de gebruikersresource.

Overname
builtins.object
DatabaseProxy

Constructor

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

Parameters

client_connection
<xref:azure.cosmos.aio.CosmosClientConnection>
Vereist

Client waaruit deze database is opgehaald.

id
str
Vereist

Id (naam) van de database.

properties
standaardwaarde: None

Variabelen

id

De id (naam) van de database.

Methoden

create_container

Maak een nieuwe container met de opgegeven id (naam).

Als er al een container met de opgegeven id bestaat, wordt een CosmosResourceExistsError gegenereerd.

create_container_if_not_exists

Maak een container als deze nog niet bestaat.

Als de container al bestaat, worden de bestaande instellingen geretourneerd. Opmerking: de bestaande containerinstellingen worden niet gecontroleerd of bijgewerkt en er wordt geen doorvoer aangeboden als deze verschillen van wat is doorgegeven aan de methode.

create_user

Maak een nieuwe gebruiker in de container.

Gebruik de <xref:ContainerProxy.upsert_user> methode om een bestaande gebruiker bij te werken of te vervangen.

delete_container

Een container verwijderen.

delete_user

Verwijder de opgegeven gebruiker uit de container.

get_container_client

Haal een ContainerProxy op voor een container met de opgegeven id (naam).

get_throughput

Haal het object ThroughputProperties voor deze database op.

Als er al geen ThroughputProperties voor de database bestaat, wordt er een uitzondering gegenereerd.

get_user_client

Haal een UserProxy op voor een gebruiker met de opgegeven id.

list_containers

Vermeld de containers in de database.

list_users

Alle gebruikers in de container weergeven.

query_containers

De eigenschappen voor containers in de huidige database weergeven.

query_users

Retourneer alle gebruikers die overeenkomen met de opgegeven query.

read

Lees de database-eigenschappen.

replace_container

Stel de eigenschappen van de container opnieuw in.

Wijzigingen in eigenschappen worden onmiddellijk doorgevoerd. Alle eigenschappen die niet zijn opgegeven, worden opnieuw ingesteld op de standaardwaarden.

replace_throughput

Vervang de doorvoer op databaseniveau.

Als er nog geen ThroughputProperties voor de database bestaan, wordt er een uitzondering gegenereerd.

replace_user

Vervangt de opgegeven gebruiker als deze in de container bestaat.

upsert_user

De opgegeven gebruiker invoegen of bijwerken.

Als de gebruiker al in de container bestaat, wordt deze vervangen. Als de gebruiker nog niet bestaat, wordt deze ingevoegd.

create_container

Maak een nieuwe container met de opgegeven id (naam).

Als er al een container met de opgegeven id bestaat, wordt een CosmosResourceExistsError gegenereerd.

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

Parameters

id
str
Vereist

Id (naam) van de container die moet worden gemaakt.

partition_key
PartitionKey
Vereist

De partitiesleutel die moet worden gebruikt voor de container.

indexing_policy
dict[str, str]

Het indexeringsbeleid dat moet worden toegepast op de container.

default_ttl
int

Standaard TTL (Time to Live) voor items in de container. Als dit niet wordt opgegeven, verlopen items niet.

offer_throughput
Union[int, ThroughputProperties]

De ingerichte doorvoer voor deze aanbieding.

unique_key_policy
dict[str, str]

Het unieke sleutelbeleid dat moet worden toegepast op de container.

conflict_resolution_policy
dict[str, str]

Het conflictoplossingsbeleid dat moet worden toegepast op de container.

session_token
str

Token voor gebruik met sessieconsistentie.

initial_headers
dict[str, str]

Eerste headers die moeten worden verzonden als onderdeel van de aanvraag.

etag
str

Een ETag-waarde of het jokerteken (*). Wordt gebruikt om te controleren of de resource is gewijzigd en om te handelen volgens de voorwaarde die is opgegeven door de parameter match_condition .

match_condition
MatchConditions

De overeenkomstvoorwaarde die moet worden gebruikt voor de etag.

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

Een aanroepbare die wordt aangeroepen met de metagegevens van het antwoord.

analytical_storage_ttl
int

TTL (Time to Live) voor analytische opslag voor items in de container. Een waarde van Geen laat analytische opslag uitgeschakeld en een waarde van -1 schakelt analytische opslag in zonder TTL. Houd er rekening mee dat analytische opslag alleen kan worden ingeschakeld voor Synapse Link ingeschakelde accounts.

Retouren

Een ContainerProxy-exemplaar dat de nieuwe container vertegenwoordigt.

Retourtype

Uitzonderingen

Het maken van de container is mislukt.

Voorbeelden

Maak een container met standaardinstellingen:


           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)

Een container met specifieke instellingen maken; in dit geval een aangepaste partitiesleutel:


           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

Maak een container als deze nog niet bestaat.

Als de container al bestaat, worden de bestaande instellingen geretourneerd. Opmerking: de bestaande containerinstellingen worden niet gecontroleerd of bijgewerkt en er wordt geen doorvoer aangeboden als deze verschillen van wat is doorgegeven aan de methode.

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

Parameters

id
str
Vereist

Id (naam) van de container die moet worden gemaakt.

partition_key
PartitionKey
Vereist

De partitiesleutel die moet worden gebruikt voor de container.

indexing_policy
dict[str, str]

Het indexeringsbeleid dat moet worden toegepast op de container.

default_ttl
int

Standaard TTL (Time to Live) voor items in de container. Als dit niet wordt opgegeven, verlopen items niet.

offer_throughput
Union[int, ThroughputProperties]

De ingerichte doorvoer voor deze aanbieding.

unique_key_policy
dict[str, str]

Het unieke sleutelbeleid dat moet worden toegepast op de container.

conflict_resolution_policy
dict[str, str]

Het conflictoplossingsbeleid dat moet worden toegepast op de container.

session_token
str

Token voor gebruik met sessieconsistentie.

initial_headers
dict[str, str]

Eerste headers die moeten worden verzonden als onderdeel van de aanvraag.

etag
str

Een ETag-waarde of het jokerteken (*). Wordt gebruikt om te controleren of de resource is gewijzigd en om te handelen volgens de voorwaarde die is opgegeven door de parameter match_condition .

match_condition
MatchConditions

De overeenkomstvoorwaarde die moet worden gebruikt voor de etag.

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

Een aanroepbare die wordt aangeroepen met de metagegevens van het antwoord.

analytical_storage_ttl
int

TTL (Time to Live) voor analytische opslag voor items in de container. Een waarde van Geen laat analytische opslag uitgeschakeld en een waarde van -1 schakelt analytische opslag in zonder TTL. Houd er rekening mee dat analytische opslag alleen kan worden ingeschakeld voor Synapse Link ingeschakelde accounts.

Retouren

Een ContainerProxy-exemplaar dat de nieuwe container vertegenwoordigt.

Retourtype

Uitzonderingen

Het maken van de container is mislukt.

create_user

Maak een nieuwe gebruiker in de container.

Gebruik de <xref:ContainerProxy.upsert_user> methode om een bestaande gebruiker bij te werken of te vervangen.

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

Parameters

body
Dict[str, Any]
Vereist

Een dict-achtig object met een id-sleutel en waarde die de gebruiker vertegenwoordigen die moet worden gemaakt. De gebruikers-id moet uniek zijn binnen de database en uit niet meer dan 255 tekens bestaan.

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

Een aanroepbare die wordt aangeroepen met de metagegevens van het antwoord.

Retouren

Een UserProxy-exemplaar dat de nieuwe gebruiker vertegenwoordigt.

Retourtype

Uitzonderingen

Als de opgegeven gebruiker niet kan worden gemaakt.

Voorbeelden

Een databasegebruiker maken:


           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

Een container verwijderen.

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

Parameters

container
str of Dict[str, Any] of ContainerProxy
Vereist

De id (naam) van de container die moet worden verwijderd. U kunt de id van de container doorgeven om te verwijderen, een ContainerProxy exemplaar of een dict die de eigenschappen van de container vertegenwoordigt.

session_token
str

Token voor gebruik met sessieconsistentie.

initial_headers
dict[str, str]

Eerste headers die moeten worden verzonden als onderdeel van de aanvraag.

etag
str

Een ETag-waarde of het jokerteken (*). Wordt gebruikt om te controleren of de resource is gewijzigd en om te handelen volgens de voorwaarde die is opgegeven door de parameter match_condition .

match_condition
MatchConditions

De overeenkomstvoorwaarde die moet worden gebruikt voor de etag.

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

Een aanroepbare die wordt aangeroepen met de metagegevens van het antwoord.

Retourtype

Uitzonderingen

Als de container niet kan worden verwijderd.

delete_user

Verwijder de opgegeven gebruiker uit de container.

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

Parameters

user
Union[str, Dict[str, Any], UserProxy]
Vereist

De id (naam), de dicteerfunctie die de eigenschappen of UserProxy het exemplaar van de gebruiker vertegenwoordigt die moeten worden verwijderd.

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

Een aanroepbare die wordt aangeroepen met de metagegevens van het antwoord.

Retourtype

Uitzonderingen

De gebruiker is niet verwijderd.

De gebruiker bestaat niet in de container.

get_container_client

Haal een ContainerProxy op voor een container met de opgegeven id (naam).

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

Parameters

container
Union[str, Dict[str, Any], ContainerProxy]
Vereist

De id (naam), de dict die de eigenschappen of ContainerProxy het exemplaar van de op te halen container vertegenwoordigt.

Retouren

Een ContainerProxy-exemplaar dat de container vertegenwoordigt.

Retourtype

Uitzonderingen

Het maken van de container is mislukt.

Voorbeelden

Haal een bestaande container op en verwerkt een fout als deze wordt aangetroffen:


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

get_throughput

Haal het object ThroughputProperties voor deze database op.

Als er al geen ThroughputProperties voor de database bestaat, wordt er een uitzondering gegenereerd.

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

Parameters

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

Een aanroepbare die wordt aangeroepen met de antwoordmetagegevens.

Retouren

ThroughputProperties voor de database.

Retourtype

Uitzonderingen

Er zijn geen doorvoereigenschappen voor de database of de doorvoereigenschappen kunnen niet worden opgehaald.

get_user_client

Haal een UserProxy op voor een gebruiker met de opgegeven id.

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

Parameters

user
Union[str, Dict[str, Any], UserProxy]
Vereist

De id (naam), het dict die de eigenschappen of UserProxy het exemplaar van de gebruiker vertegenwoordigt dat moet worden opgehaald.

Retouren

Een UserProxy-exemplaar dat de opgehaalde gebruiker vertegenwoordigt.

Retourtype

Uitzonderingen

Het maken van de container is mislukt.

list_containers

Vermeld de containers in de database.

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

Parameters

max_item_count
int

Maximum aantal items dat moet worden geretourneerd in de opsommingsbewerking.

session_token
str

Token voor gebruik met sessieconsistentie.

initial_headers
dict[str, str]

Eerste headers die moeten worden verzonden als onderdeel van de aanvraag.

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

Een aanroepbare die wordt aangeroepen met de antwoordmetagegevens.

Retouren

Een AsyncItemPagina van containereigenschappen (dicts).

Retourtype

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

Uitzonderingen

Het maken van de container is mislukt.

Voorbeelden

Alle containers in de database weergeven:


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

list_users

Alle gebruikers in de container weergeven.

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

Parameters

max_item_count
int

Maximum aantal gebruikers dat moet worden geretourneerd in de opsommingsbewerking.

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

Een aanroepbare die wordt aangeroepen met de antwoordmetagegevens.

Retouren

Een AsyncItemPagina van gebruikerseigenschappen (dicts).

Retourtype

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

Uitzonderingen

Het maken van de container is mislukt.

query_containers

De eigenschappen voor containers in de huidige database weergeven.

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

Parameters

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

De Azure Cosmos DB SQL-query die moet worden uitgevoerd.

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

Optionele matrix met parameters voor de query. Elke parameter is een dict() met de sleutels 'name' en 'value'.

max_item_count
int

Maximum aantal items dat moet worden geretourneerd in de opsommingsbewerking.

session_token
str

Token voor gebruik met sessieconsistentie.

initial_headers
dict[str, str]

Eerste headers die moeten worden verzonden als onderdeel van de aanvraag.

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

Een aanroepbare die wordt aangeroepen met de antwoordmetagegevens.

Retouren

Een AsyncItemPagina van containereigenschappen (dicts).

Retourtype

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

Uitzonderingen

Het maken van de container is mislukt.

query_users

Retourneer alle gebruikers die overeenkomen met de opgegeven query.

query_users(query: str | Dict[str, Any], **kwargs: Any) -> AsyncItemPaged[Dict[str, Any]]

Parameters

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

De Azure Cosmos DB SQL-query die moet worden uitgevoerd.

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

Optionele matrix met parameters voor de query. Elke parameter is een dict() met de sleutels 'name' en 'value'. Genegeerd als er geen query wordt opgegeven.

max_item_count
int

Maximum aantal gebruikers dat moet worden geretourneerd in de opsommingsbewerking.

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

Een aanroepbare die wordt aangeroepen met de antwoordmetagegevens.

Retouren

Een AsyncItemPagina van gebruikerseigenschappen (dicts).

Retourtype

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

Uitzonderingen

Het maken van de container is mislukt.

read

Lees de database-eigenschappen.

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

Parameters

session_token
str

Token voor gebruik met sessieconsistentie.

initial_headers
dict[str, str]

Eerste headers die moeten worden verzonden als onderdeel van de aanvraag.

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

Een aanroepbare die wordt aangeroepen met de antwoordmetagegevens.

Retouren

Een dict die de database-eigenschappen vertegenwoordigt

Retourtype

Uitzonderingen

Als de opgegeven database niet kan worden opgehaald.

replace_container

Stel de eigenschappen van de container opnieuw in.

Wijzigingen in eigenschappen worden onmiddellijk doorgevoerd. Alle eigenschappen die niet zijn opgegeven, worden opnieuw ingesteld op de standaardwaarden.

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

Parameters

container
Union[str, Dict[str, Any], ContainerProxy]
Vereist

De id (naam), dict die de eigenschappen of ContainerProxy het exemplaar van de te vervangen container vertegenwoordigt.

partition_key
PartitionKey
Vereist

De partitiesleutel die moet worden gebruikt voor de container.

indexing_policy
dict[str, str]

Het indexeringsbeleid dat moet worden toegepast op de container.

default_ttl
int

Standaard TTL (Time to Live) voor items in de container. Als dit niet wordt opgegeven, verlopen items niet.

conflict_resolution_policy
dict[str, str]

Het conflictoplossingsbeleid dat moet worden toegepast op de container.

session_token
str

Token voor gebruik met sessieconsistentie.

etag
str

Een ETag-waarde of het jokerteken (*). Wordt gebruikt om te controleren of de resource is gewijzigd en om te handelen volgens de voorwaarde die is opgegeven door de parameter match_condition .

match_condition
MatchConditions

De overeenkomstvoorwaarde die moet worden gebruikt voor de etag.

initial_headers
dict[str, str]

Eerste headers die moeten worden verzonden als onderdeel van de aanvraag.

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

Een aanroepbare die wordt aangeroepen met de antwoordmetagegevens.

analytical_storage_ttl
int

TTL (Analytical Store Time to Live) voor items in de container. Met de waarde Geen wordt analytische opslag uitgeschakeld en met de waarde -1 wordt analytische opslag ingeschakeld zonder TTL. Houd er rekening mee dat analytische opslag alleen kan worden ingeschakeld voor Synapse Link ingeschakelde accounts.

Retouren

Een ContainerProxy-exemplaar dat de container vertegenwoordigt nadat de vervanging is voltooid.

Retourtype

Uitzonderingen

Verhoogd als de container niet kan worden vervangen. Dit geldt ook als de container met de opgegeven id niet bestaat.

Voorbeelden

Stel de eigenschap TTL in een container opnieuw in en geef de bijgewerkte eigenschappen weer:


           # 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

Vervang de doorvoer op databaseniveau.

Als er nog geen ThroughputProperties voor de database bestaan, wordt er een uitzondering gegenereerd.

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

Parameters

throughput
Union[int, ThroughputProperties]
Vereist

De in te stellen doorvoer.

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

Een aanroepbare die wordt aangeroepen met de antwoordmetagegevens.

Retouren

ThroughputProperties voor de database, bijgewerkt met nieuwe doorvoer.

Retourtype

Uitzonderingen

Er zijn geen doorvoereigenschappen voor de database of de doorvoereigenschappen kunnen niet worden bijgewerkt.

replace_user

Vervangt de opgegeven gebruiker als deze in de container bestaat.

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

Parameters

user
Union[str, Dict[str, Any], UserProxy]
Vereist

De id (naam), dict die de eigenschappen of UserProxy het exemplaar van de gebruiker vertegenwoordigt die moeten worden vervangen.

body
Dict[str, Any]
Vereist

Een dict-achtig object dat de gebruiker vertegenwoordigt die moet worden vervangen.

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

Een aanroepbare die wordt aangeroepen met de antwoordmetagegevens.

Retouren

Een UserProxy-exemplaar dat de gebruiker vertegenwoordigt nadat de vervanging is uitgevoerd.

Retourtype

Uitzonderingen

Als de vervanging is mislukt of als de gebruiker met de opgegeven id niet bestaat.

upsert_user

De opgegeven gebruiker invoegen of bijwerken.

Als de gebruiker al in de container bestaat, wordt deze vervangen. Als de gebruiker nog niet bestaat, wordt deze ingevoegd.

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

Parameters

body
Dict[str, Any]
Vereist

Een dicteerobject dat de gebruiker vertegenwoordigt die moet worden bijgewerkt of ingevoegd.

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

Een aanroepbare die wordt aangeroepen met de antwoordmetagegevens.

Retouren

Een UserProxy-exemplaar dat de gebruiker met upserte vertegenwoordigt.

Retourtype

Uitzonderingen

Als de opgegeven gebruiker niet kan worden upsert.