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:CosmosClient.get_database_client> methode.

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:ClientSession>
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 nog geen ThroughputProperties voor de database bestaat, wordt er een uitzondering gegenereerd. :keyword Callable response_hook: een aanroepbare die wordt aangeroepen met de antwoordmetagegevens. :retourneert: ThroughputProperties voor de database. :genereert ~azure.cosmos.exceptions.CosmosHttpResponseError: er bestaan geen doorvoereigenschappen voor de container of

de doorvoereigenschappen kunnen niet worden opgehaald.

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

Alle gebruikers retourneren die overeenkomen met de opgegeven query.

read

Lees de database-eigenschappen.

read_offer

Haal het object ThroughputProperties voor deze database op. Als er nog geen ThroughputProperties voor de database bestaat, wordt er een uitzondering gegenereerd. :keyword Callable response_hook: een aanroepbare die wordt aangeroepen met de antwoordmetagegevens. :retourneert: ThroughputProperties voor de database. :genereert ~azure.cosmos.exceptions.CosmosHttpResponseError: er bestaan geen doorvoereigenschappen voor de container of

de doorvoereigenschappen kunnen niet 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.

replace_throughput

Vervang de doorvoer op databaseniveau.

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.

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

Parameters

id
Vereist

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

partition_key
Vereist

De partitiesleutel die moet worden gebruikt voor de container.

indexing_policy
Vereist

Het indexeringsbeleid dat moet worden toegepast op de container.

default_ttl
Vereist

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

offer_throughput
int of <xref:azure.cosmos.ThroughputProperties.>
Vereist

De ingerichte doorvoer voor deze aanbieding.

unique_key_policy
Vereist

Het unieke sleutelbeleid dat moet worden toegepast op de container.

conflict_resolution_policy
Vereist

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

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

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

Parameters

id
Vereist

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

partition_key
Vereist

De partitiesleutel die moet worden gebruikt voor de container.

indexing_policy
Vereist

Het indexeringsbeleid dat moet worden toegepast op de container.

default_ttl
Vereist

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

populate_query_metrics
Vereist

Schakel het retourneren van metrische querygegevens in antwoordheaders in.

offer_throughput
Vereist

De ingerichte doorvoer voor deze aanbieding.

unique_key_policy
Vereist

Het unieke sleutelbeleid dat moet worden toegepast op de container.

conflict_resolution_policy
Vereist

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

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

Retourtype

Uitzonderingen

Het lezen of 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.

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

Parameters

body
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

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

Een container verwijderen.

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

Parameters

container
Vereist

De id (naam) van de container die moet worden verwijderd. U kunt de id van de container doorgeven om te verwijderen, een <xref:azure.cosmos.database.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

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.

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

Parameters

user
Vereist

De id (naam), de dicteerfunctie die de eigenschappen of <xref:azure.cosmos.database.UserProxy> het exemplaar van de gebruiker vertegenwoordigt die moeten worden verwijderd.

response_hook
Callable

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
Vereist

De id (naam) van de container, een <xref:azure.cosmos.database.ContainerProxy> exemplaar of een dict die de eigenschappen vertegenwoordigt van de container die moet worden opgehaald.

Retouren

Een ContainerProxy-exemplaar dat de opgehaalde database 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 nog geen ThroughputProperties voor de database bestaat, wordt er een uitzondering gegenereerd. :keyword Callable response_hook: een aanroepbare die wordt aangeroepen met de antwoordmetagegevens. :retourneert: ThroughputProperties voor de database. :genereert ~azure.cosmos.exceptions.CosmosHttpResponseError: er bestaan geen doorvoereigenschappen voor de container of

de doorvoereigenschappen kunnen niet worden opgehaald.

get_throughput(**kwargs: Any) -> ThroughputProperties

Retourtype

Uitzonderingen

Het maken van de container is mislukt.

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
Vereist

De id (naam), de dicteerfunctie die de eigenschappen of <xref:azure.cosmos.database.UserProxy> het exemplaar van de gebruiker vertegenwoordigt die moeten 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(max_item_count: int | None = None, populate_query_metrics: bool | None = None, **kwargs: Any) -> Iterable[Dict[str, Any]]

Parameters

max_item_count
Vereist

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

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

Retouren

Een iterable van containereigenschappen (dicts).

Retourtype

Uitzonderingen

Het maken van de container is mislukt.

Voorbeelden

Alle containers in de database weergeven:


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

list_users

Alle gebruikers in de container weergeven.

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

Parameters

max_item_count
Vereist

Maximum aantal gebruikers dat moet worden geretourneerd in de opsommingsbewerking.

response_hook
Callable

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

Retouren

Een iterable van gebruikerseigenschappen (dicts).

Retourtype

Uitzonderingen

Het maken van de container is mislukt.

query_containers

De eigenschappen voor containers in de huidige database weergeven.

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

Parameters

query
Vereist

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

parameters
Vereist

Optionele matrix met parameters voor de query. Genegeerd als er geen query is opgegeven.

max_item_count
Vereist

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

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

Retouren

Een iterable van containereigenschappen (dicts).

Retourtype

Uitzonderingen

Het maken van de container is mislukt.

query_users

Alle gebruikers retourneren die overeenkomen met de opgegeven query.

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

Parameters

query
Vereist

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

parameters
Vereist

Optionele matrix met parameters voor de query. Genegeerd als er geen query is opgegeven.

max_item_count
Vereist

Maximum aantal gebruikers dat moet worden geretourneerd in de opsommingsbewerking.

response_hook
Callable

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

Retouren

Een iterable van gebruikerseigenschappen (dicts).

Retourtype

Uitzonderingen

Het maken van de container is mislukt.

read

Lees de database-eigenschappen.

read(populate_query_metrics: bool | None = None, **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

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

Retourtype

Dict[<xref:Str>, Any]

Uitzonderingen

Als de opgegeven database niet kan worden opgehaald.

read_offer

Haal het object ThroughputProperties voor deze database op. Als er nog geen ThroughputProperties voor de database bestaat, wordt er een uitzondering gegenereerd. :keyword Callable response_hook: een aanroepbare die wordt aangeroepen met de antwoordmetagegevens. :retourneert: ThroughputProperties voor de database. :genereert ~azure.cosmos.exceptions.CosmosHttpResponseError: er bestaan geen doorvoereigenschappen voor de container of

de doorvoereigenschappen kunnen niet worden opgehaald.

read_offer(**kwargs: Any) -> ThroughputProperties

Retourtype

Uitzonderingen

Het maken van de container is mislukt.

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

Parameters

container
Vereist

De id (naam), dict die de eigenschappen of <xref:azure.cosmos.database.ContainerProxy> het exemplaar van de container vertegenwoordigt die moet worden vervangen.

partition_key
Vereist

De partitiesleutel die moet worden gebruikt voor de container.

indexing_policy
Vereist

Het indexeringsbeleid dat moet worden toegepast op de container.

default_ttl
Vereist

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

conflict_resolution_policy
Vereist

Het conflictoplossingsbeleid dat moet worden toegepast op de container.

populate_query_metrics
Vereist

Schakel het retourneren van metrische querygegevens in antwoordheaders in.

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

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

Vervang de doorvoer op databaseniveau.

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

Parameters

throughput
Vereist

De in te stellen doorvoer (een geheel getal).

response_hook
Callable

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

Retouren

DoorvoerEigenschappen voor de database, bijgewerkt met nieuwe doorvoer.

Retourtype

Uitzonderingen

Als er geen doorvoereigenschappen voor de database bestaan of als de doorvoereigenschappen niet kunnen worden bijgewerkt.

replace_user

Vervangt de opgegeven gebruiker als deze in de container bestaat.

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

Parameters

user
Vereist

De id (naam), de dicteerfunctie die de eigenschappen of <xref:azure.cosmos.database.UserProxy> het exemplaar van de gebruiker vertegenwoordigt die moeten worden vervangen.

body
Vereist

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

response_hook
Callable

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

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.

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

Parameters

body
Vereist

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

response_hook
Callable

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

Retouren

Een UserProxy-exemplaar dat de upserte gebruiker vertegenwoordigt.

Retourtype

Uitzonderingen

Als de opgegeven gebruiker niet kan worden upsert.