Udostępnij za pośrednictwem


CosmosClient Klasa

Logiczna reprezentacja konta usługi Azure Cosmos DB po stronie klienta.

Ten klient służy do konfigurowania i wykonywania żądań do usługi Azure Cosmos DB.

Zaleca się utrzymanie pojedynczego wystąpienia usługi CosmosClient na okres istnienia aplikacji, co umożliwia wydajne zarządzanie połączeniami i wydajność.

Inicjowanie usługi CosmosClient jest operacją ciężką — nie używaj inicjalizacji wystąpień cosmosClient jako poświadczeń ani weryfikacji łączności sieciowej.

Utwórz wystąpienie nowego obiektu CosmosClient.

Dziedziczenie
builtins.object
CosmosClient

Konstruktor

CosmosClient(url: str, credential: Any, consistency_level: str | None = None, **kwargs: Any)

Parametry

url
str
Wymagane

Adres URL konta usługi Cosmos DB.

credential
Union[str, Dict[str, str], TokenCredential]
Wymagane

Może być kluczem konta lub słownikiem tokenów zasobów.

consistency_level
str
wartość domyślna: None

Poziom spójności do użycia dla sesji. Wartość domyślna to Brak (poziom konta). Więcej informacji na temat poziomów spójności i możliwych wartości: https://aka.ms/cosmos-consistency-levels

timeout
int

Bezwzględny limit czasu w sekundach dla połączonego żądania HTTP i przetwarzania odpowiedzi.

connection_timeout
int

Limit czasu żądania HTTP w sekundach.

connection_mode
str

Tryb połączenia dla klienta — obecnie obsługuje tylko bramę.

proxy_config
ProxyConfiguration

Konfiguracja serwera proxy połączenia.

ssl_config
SSLConfiguration

Konfiguracja protokołu SSL połączenia.

connection_verify
bool

Czy zweryfikować połączenie, wartość domyślna to True.

connection_cert
str

Alternatywny certyfikat umożliwiający zweryfikowanie połączenia.

retry_total
int

Maksymalna liczba ponownych prób.

retry_backoff_max
int

Maksymalny czas oczekiwania ponawiania prób w sekundach.

retry_fixed_interval
int

Naprawiono interwał ponawiania prób w milisekundach.

retry_read
int

Maksymalna liczba prób ponawiania prób odczytu gniazda.

retry_connect
int

Maksymalna liczba ponownych prób ponawiania próby połączenia.

retry_status
int

Maksymalna liczba ponownych prób w kodach stanu błędu.

retry_on_status_codes
list[int]

Lista określonych kodów stanu do ponawiania próby.

retry_backoff_factor
float

Współczynnik obliczania czasu oczekiwania między próbami ponawiania próby.

enable_endpoint_discovery
bool

Włącz odnajdywanie punktów końcowych dla kont bazy danych replikowanych geograficznie. (Wartość domyślna: Prawda)

preferred_locations
list[str]

Preferowane lokalizacje kont baz danych replikowanych geograficznie.

enable_diagnostics_logging
bool

Włącz zasady CosmosHttpLogging. Musi być używany wraz z rejestratorem do pracy.

logger
Logger

Rejestrator używany do zbierania diagnostyki żądań. Można przekazać na poziomie klienta (w celu rejestrowania wszystkich żądań) lub na jednym poziomie żądania. Żądania będą rejestrowane na poziomie INFORMACJI.

Przykłady

Utwórz nowe wystąpienie klienta usługi Cosmos DB:


   from azure.cosmos import exceptions, CosmosClient, PartitionKey

   import os

   url = os.environ["ACCOUNT_URI"]
   key = os.environ["ACCOUNT_KEY"]
   client = CosmosClient(url, key)

Metody

create_database

Utwórz nową bazę danych o podanym identyfikatorze (nazwie).

create_database_if_not_exists

Utwórz bazę danych, jeśli jeszcze nie istnieje.

Jeśli baza danych już istnieje, zostaną zwrócone istniejące ustawienia.

.. uwaga:: Ta funkcja nie sprawdza ani nie aktualizuje istniejących ustawień bazy danych ani nie oferuje przepływności, jeśli różnią się od tego, co jest przekazywane.

delete_database

Usuń bazę danych z podanym identyfikatorem (nazwą).

from_connection_string

Utwórz wystąpienie usługi CosmosClient na podstawie parametrów połączenia.

Można to pobrać z Azure Portal. Aby uzyskać pełną listę opcjonalnych argumentów słów kluczowych, zobacz konstruktor CosmosClient.

get_database_account

Pobierz informacje o koncie bazy danych.

get_database_client

Pobierz istniejącą bazę danych z identyfikatorem (nazwą).

list_databases

Wyświetl listę baz danych na koncie bazy danych SQL usługi Cosmos DB.

query_databases

Wykonywanie zapytań dotyczących baz danych na koncie bazy danych SQL usługi Cosmos DB.

create_database

Utwórz nową bazę danych o podanym identyfikatorze (nazwie).

create_database(id: str, populate_query_metrics: bool | None = None, offer_throughput: int | ThroughputProperties | None = None, **kwargs: Any) -> DatabaseProxy

Parametry

id
Wymagane

Identyfikator (nazwa) bazy danych do utworzenia.

offer_throughput
Wymagane

Aprowizowana przepływność dla tej oferty.

session_token
str

Token do użycia z spójnością sesji.

initial_headers
dict[str,str]

Początkowe nagłówki, które mają być wysyłane w ramach żądania.

etag
str

Wartość ETag lub symbol wieloznaczny (*). Służy do sprawdzania, czy zasób uległ zmianie i działa zgodnie z warunkiem określonym przez parametr match_condition .

match_condition
MatchConditions

Warunek dopasowania do użycia na etagu.

response_hook
Callable

Wywołanie wywoływane przy użyciu metadanych odpowiedzi.

Zwraca

Wystąpienie DatabaseProxy reprezentujące nową bazę danych.

Typ zwracany

Wyjątki

Baza danych o danym identyfikatorze już istnieje.

Przykłady

Utwórz bazę danych na koncie usługi Cosmos DB:


   database_name = "testDatabase"
   try:
       database = client.create_database(id=database_name)
   except exceptions.CosmosResourceExistsError:
       database = client.get_database_client(database=database_name)

create_database_if_not_exists

Utwórz bazę danych, jeśli jeszcze nie istnieje.

Jeśli baza danych już istnieje, zostaną zwrócone istniejące ustawienia.

.. uwaga:: Ta funkcja nie sprawdza ani nie aktualizuje istniejących ustawień bazy danych ani nie oferuje przepływności, jeśli różnią się od tego, co jest przekazywane.

create_database_if_not_exists(id: str, populate_query_metrics: bool | None = None, offer_throughput: int | ThroughputProperties | None = None, **kwargs: Any) -> DatabaseProxy

Parametry

id
Wymagane

Identyfikator (nazwa) bazy danych do odczytu lub utworzenia.

populate_query_metrics
bool
Wymagane

Włącz zwracanie metryk zapytań w nagłówkach odpowiedzi.

offer_throughput
int lub <xref:azure.cosmos.ThroughputProperties.>
Wymagane

Aprowizowana przepływność dla tej oferty.

session_token
str

Token do użycia z spójnością sesji.

initial_headers
dict[str,str]

Początkowe nagłówki, które mają być wysyłane w ramach żądania.

etag
str

Wartość ETag lub symbol wieloznaczny (*). Służy do sprawdzania, czy zasób uległ zmianie i działa zgodnie z warunkiem określonym przez parametr match_condition .

match_condition
MatchConditions

Warunek dopasowania do użycia na etagu.

response_hook
Callable

Wywołanie wywoływane przy użyciu metadanych odpowiedzi.

Zwraca

Wystąpienie DatabaseProxy reprezentujące bazę danych.

Typ zwracany

Wyjątki

Nie można odczytać lub utworzyć bazy danych.

delete_database

Usuń bazę danych z podanym identyfikatorem (nazwą).

delete_database(database: str | DatabaseProxy | Dict[str, Any], populate_query_metrics: bool | None = None, **kwargs: Any) -> None

Parametry

database
str lub dict(str, str) lub DatabaseProxy
Wymagane

Identyfikator (nazwa), dykt reprezentujący właściwości lub <xref:azure.cosmos.cosmos_client.DatabaseProxy> wystąpienie bazy danych do usunięcia.

session_token
str

Token do użycia z spójnością sesji.

initial_headers
dict[str,str]

Początkowe nagłówki, które mają być wysyłane w ramach żądania.

etag
str

Wartość ETag lub symbol wieloznaczny (*). Służy do sprawdzania, czy zasób uległ zmianie i działa zgodnie z warunkiem określonym przez parametr match_condition .

match_condition
MatchConditions

Warunek dopasowania do użycia na etagu.

response_hook
Callable

Wywołanie wywoływane przy użyciu metadanych odpowiedzi.

Typ zwracany

Wyjątki

Jeśli nie można usunąć bazy danych.

from_connection_string

Utwórz wystąpienie usługi CosmosClient na podstawie parametrów połączenia.

Można to pobrać z Azure Portal. Aby uzyskać pełną listę opcjonalnych argumentów słów kluczowych, zobacz konstruktor CosmosClient.

from_connection_string(conn_str: str, credential: Any | None = None, consistency_level: str | None = None, **kwargs: Any) -> CosmosClient

Parametry

conn_str
str
Wymagane

Parametry połączenia.

credential
str lub dict(str, str)
wartość domyślna: None

Alternatywne poświadczenia do użycia zamiast klucza podanego w parametrach połączenia.

consistency_level
Optional[str]
wartość domyślna: None

Poziom spójności do użycia dla sesji. Wartość domyślna to Brak (poziom konta).

Wyjątki

Baza danych o danym identyfikatorze już istnieje.

get_database_account

Pobierz informacje o koncie bazy danych.

get_database_account(**kwargs: Any) -> DatabaseAccount

Parametry

response_hook
Callable

Wywołanie wywoływane przy użyciu metadanych odpowiedzi.

Zwraca

Wystąpienie databaseAccount reprezentujące konto bazy danych usługi Cosmos DB.

Typ zwracany

Wyjątki

Baza danych o danym identyfikatorze już istnieje.

get_database_client

Pobierz istniejącą bazę danych z identyfikatorem (nazwą).

get_database_client(database: str | DatabaseProxy | Dict[str, Any]) -> DatabaseProxy

Parametry

database
str lub dict(str, str) lub DatabaseProxy
Wymagane

Identyfikator (nazwa), dykt reprezentujący właściwości lub wystąpienie DatabaseProxy bazy danych do odczytu.

Zwraca

Wystąpienie DatabaseProxy reprezentujące pobraną bazę danych.

Typ zwracany

Wyjątki

Baza danych o danym identyfikatorze już istnieje.

list_databases

Wyświetl listę baz danych na koncie bazy danych SQL usługi Cosmos DB.

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

Parametry

max_item_count
int
Wymagane

Maksymalna liczba elementów do zwrócenia w operacji wyliczenia.

session_token
str

Token do użycia z spójnością sesji.

initial_headers
dict[str,str]

Początkowe nagłówki, które mają być wysyłane w ramach żądania.

response_hook
Callable

Wywołanie wywoływane przy użyciu metadanych odpowiedzi.

Zwraca

Iterable właściwości bazy danych (dykt).

Typ zwracany

Wyjątki

Baza danych o danym identyfikatorze już istnieje.

query_databases

Wykonywanie zapytań dotyczących baz danych na koncie bazy danych SQL usługi Cosmos DB.

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

Parametry

query
str
Wymagane

Zapytanie SQL usługi Azure Cosmos DB do wykonania.

parameters
List[Dict[str, Any]]
Wymagane

Opcjonalna tablica parametrów zapytania. Ignorowane, jeśli nie podano kwerendy.

enable_cross_partition_query
bool
Wymagane

Zezwalaj na skanowanie zapytań, których nie można obsłużyć jako indeksowanie zostało odrzucone na żądanych ścieżkach.

max_item_count
int
Wymagane

Maksymalna liczba elementów do zwrócenia w operacji wyliczenia.

session_token
str

Token do użycia z spójnością sesji.

initial_headers
dict[str,str]

Początkowe nagłówki, które mają być wysyłane w ramach żądania.

response_hook
Callable

Wywołanie wywoływane przy użyciu metadanych odpowiedzi.

Zwraca

Iterable właściwości bazy danych (dykt).

Typ zwracany

Wyjątki

Baza danych o danym identyfikatorze już istnieje.