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.objectDatabaseProxy
Constructor
DatabaseProxy(client_connection: CosmosClientConnection, id: str, properties: Dict[str, Any] = None)
Parameters
- client_connection
- <xref:azure.cosmos.aio.CosmosClientConnection>
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 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
- 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.
Het unieke sleutelbeleid dat moet worden toegepast op de container.
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.
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
- 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.
Het unieke sleutelbeleid dat moet worden toegepast op de container.
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.
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
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.
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
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.
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.
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
De id (naam), de dicteerfunctie die de eigenschappen of UserProxy het exemplaar van de gebruiker vertegenwoordigt die moeten worden verwijderd.
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
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
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
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.
Eerste headers die moeten worden verzonden als onderdeel van de aanvraag.
Een aanroepbare die wordt aangeroepen met de antwoordmetagegevens.
Retouren
Een AsyncItemPagina 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)
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.
Een aanroepbare die wordt aangeroepen met de antwoordmetagegevens.
Retouren
Een AsyncItemPagina 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(**kwargs: Any) -> AsyncItemPaged[Dict[str, Any]]
Parameters
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.
Eerste headers die moeten worden verzonden als onderdeel van de aanvraag.
Een aanroepbare die wordt aangeroepen met de antwoordmetagegevens.
Retouren
Een AsyncItemPagina van containereigenschappen (dicts).
Retourtype
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
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.
Een aanroepbare die wordt aangeroepen met de antwoordmetagegevens.
Retouren
Een AsyncItemPagina van gebruikerseigenschappen (dicts).
Retourtype
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.
Eerste headers die moeten worden verzonden als onderdeel van de aanvraag.
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
De id (naam), dict die de eigenschappen of ContainerProxy het exemplaar van de te vervangen container vertegenwoordigt.
- default_ttl
- int
Standaard TTL (Time to Live) voor items in de container. Als dit niet wordt opgegeven, verlopen items niet.
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.
Eerste headers die moeten worden verzonden als onderdeel van de aanvraag.
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
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
De id (naam), dict die de eigenschappen of UserProxy het exemplaar van de gebruiker vertegenwoordigt die moeten worden vervangen.
Een dict-achtig object dat de gebruiker vertegenwoordigt die moet worden vervangen.
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
Een dicteerobject dat de gebruiker vertegenwoordigt die moet worden bijgewerkt of ingevoegd.
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.
Azure SDK for Python