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.objectDatabaseProxy
Constructor
DatabaseProxy(client_connection: CosmosClientConnection, id: str, properties: Dict[str, Any] = None)
Parameters
- client_connection
- <xref:ClientSession>
Client waaruit deze database is opgehaald.
- properties
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
Id (naam) van de container die moet worden gemaakt.
- partition_key
De partitiesleutel die moet worden gebruikt voor de container.
- indexing_policy
Het indexeringsbeleid dat moet worden toegepast op de container.
- default_ttl
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.>
De ingerichte doorvoer voor deze aanbieding.
- unique_key_policy
Het unieke sleutelbeleid dat moet worden toegepast op de container.
- conflict_resolution_policy
Het conflictoplossingsbeleid dat moet worden toegepast op de container.
- session_token
- str
Token voor gebruik met sessieconsistentie.
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
Id (naam) van de container die moet worden gelezen of gemaakt.
- partition_key
De partitiesleutel die moet worden gebruikt voor de container.
- indexing_policy
Het indexeringsbeleid dat moet worden toegepast op de container.
- default_ttl
Standaard TTL (Time to Live) voor items in de container. Als dit niet wordt opgegeven, verlopen items niet.
- populate_query_metrics
Schakel het retourneren van metrische querygegevens in antwoordheaders in.
- offer_throughput
De ingerichte doorvoer voor deze aanbieding.
- unique_key_policy
Het unieke sleutelbeleid dat moet worden toegepast op de container.
- conflict_resolution_policy
Het conflictoplossingsbeleid dat moet worden toegepast op de container.
- session_token
- str
Token voor gebruik met sessieconsistentie.
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
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
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.
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
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
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
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
Maximum aantal items dat moet worden geretourneerd in de opsommingsbewerking.
- session_token
- str
Token voor gebruik met sessieconsistentie.
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
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
De Azure Cosmos DB SQL-query die moet worden uitgevoerd.
- parameters
Optionele matrix met parameters voor de query. Genegeerd als er geen query is opgegeven.
- max_item_count
Maximum aantal items dat moet worden geretourneerd in de opsommingsbewerking.
- session_token
- str
Token voor gebruik met sessieconsistentie.
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
De Azure Cosmos DB SQL-query die moet worden uitgevoerd.
- parameters
Optionele matrix met parameters voor de query. Genegeerd als er geen query is opgegeven.
- max_item_count
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.
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
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
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
De partitiesleutel die moet worden gebruikt voor de container.
- indexing_policy
Het indexeringsbeleid dat moet worden toegepast op de container.
- default_ttl
Standaard TTL (Time to Live) voor items in de container. Als dit niet wordt opgegeven, verlopen items niet.
- conflict_resolution_policy
Het conflictoplossingsbeleid dat moet worden toegepast op de container.
- populate_query_metrics
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.
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
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
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
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
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.
Azure SDK for Python