Aracılığıyla paylaş


DatabaseProxy Sınıf

Belirli bir veritabanıyla etkileşime geçmek için bir arabirim.

Bu sınıf doğrudan örneklenmemelidir. Bunun yerine mevcut bir veritabanını almak için yöntemini veya <xref:azure.cosmos.aio.cosmos_client.CosmosClient.create_database> yeni bir veritabanı oluşturmak için yöntemini kullanın<xref:azure.cosmos.aio.cosmos_client.CosmosClient.get_database_client>.

Veritabanı, her biri öğe, saklı yordam, tetikleyici ve kullanıcı tanımlı işlev içerebilen bir veya daha fazla kapsayıcı içerir.

Bir veritabanı, her biri belirli kapsayıcılara, saklı yordamlara, tetikleyicilere, kullanıcı tanımlı işlevlere veya öğelere erişmek için bir dizi izinle yapılandırılmış ilişkili kullanıcılara da sahip olabilir.

Azure Cosmos DB SQL API veritabanı aşağıdaki sistem tarafından oluşturulan özelliklere sahiptir. Bu özellikler salt okunur:

  • _rid: Kaynak kimliği.

  • _ts: Kaynak en son ne zaman güncelleştirildi? Değer bir zaman damgasıdır.

  • _self: Kaynağın benzersiz adreslenebilir URI'si.

  • _etag: İyimser eşzamanlılık denetimi için gereken kaynak etiketi.

  • _colls: Koleksiyon kaynağının adreslenebilir yolu.

  • _users: Kullanıcı kaynağının adreslenebilir yolu.

Devralma
builtins.object
DatabaseProxy

Oluşturucu

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

Parametreler

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

Bu veritabanının alındığı istemci.

id
str
Gerekli

Veritabanının kimliği (adı).

properties
varsayılan değer: None

Değişkenler

id

Veritabanının kimliği (adı).

Yöntemler

create_container

Verilen kimlikle (ad) yeni bir kapsayıcı oluşturun.

Verilen kimlikli bir kapsayıcı zaten varsa, CosmosResourceExistsError oluşturulur.

create_container_if_not_exists

Henüz yoksa bir kapsayıcı oluşturun.

Kapsayıcı zaten varsa, mevcut ayarlar döndürülür. Not: Mevcut kapsayıcı ayarlarını denetlemez veya güncelleştirmez ya da yönteme geçirilenden farklıysa aktarım hızı sunmaz.

create_user

Kapsayıcıda yeni bir kullanıcı oluşturun.

Mevcut bir kullanıcıyı güncelleştirmek veya değiştirmek için yöntemini kullanın <xref:ContainerProxy.upsert_user> .

delete_container

Kapsayıcıyı silme.

delete_user

Belirtilen kullanıcıyı kapsayıcıdan silin.

get_container_client

Belirtilen kimlik (ad) ile bir kapsayıcı için ContainerProxy alın.

get_throughput

Bu veritabanı için ThroughputProperties nesnesini alın.

Veritabanı için zaten bir ThroughputProperties yoksa, bir özel durum oluşur.

get_user_client

Belirtilen kimliği olan bir kullanıcı için UserProxy alın.

list_containers

Veritabanındaki kapsayıcıları listeleyin.

list_users

Kapsayıcıdaki tüm kullanıcıları listeleyin.

query_containers

Geçerli veritabanındaki kapsayıcıların özelliklerini listeleyin.

query_users

Verilen sorguyla eşleşen tüm kullanıcıları döndürür.

read

Veritabanı özelliklerini okuyun.

replace_container

Kapsayıcının özelliklerini sıfırlayın.

Özellik değişiklikleri hemen kalıcı hale gelir. Belirtilmeyen tüm özellikler varsayılan değerlerine sıfırlanır.

replace_throughput

Veritabanı düzeyinde aktarım hızını değiştirin.

Veritabanı için zaten bir ThroughputProperties yoksa, bir özel durum oluşturulur.

replace_user

Kapsayıcıda varsa belirtilen kullanıcıyı değiştirir.

upsert_user

Belirtilen kullanıcıyı ekleyin veya güncelleştirin.

Kullanıcı kapsayıcıda zaten varsa, değiştirilir. Kullanıcı zaten yoksa eklenir.

create_container

Verilen kimlikle (ad) yeni bir kapsayıcı oluşturun.

Verilen kimlikli bir kapsayıcı zaten varsa, CosmosResourceExistsError oluşturulur.

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

Parametreler

id
str
Gerekli

Oluşturulacak kapsayıcının kimliği (adı).

partition_key
PartitionKey
Gerekli

Kapsayıcı için kullanılacak bölüm anahtarı.

indexing_policy
dict[str, str]

Kapsayıcıya uygulanacak dizin oluşturma ilkesi.

default_ttl
int

Kapsayıcıdaki öğeler için varsayılan yaşam süresi (TTL). Belirtilmemişse, öğelerin süresi dolmaz.

offer_throughput
Union[int, ThroughputProperties]

Bu teklif için sağlanan aktarım hızı.

unique_key_policy
dict[str, str]

Kapsayıcıya uygulanacak benzersiz anahtar ilkesi.

conflict_resolution_policy
dict[str, str]

Kapsayıcıya uygulanacak çakışma çözümleme ilkesi.

session_token
str

Oturum tutarlılığı ile kullanılacak belirteç.

initial_headers
dict[str, str]

İsteğin bir parçası olarak gönderilecek ilk üst bilgiler.

etag
str

ETag değeri veya joker karakter (*). Kaynağın değişip değişmediğini denetlemek ve match_condition parametresi tarafından belirtilen koşula göre hareket etmek için kullanılır.

match_condition
MatchConditions

Etag üzerinde kullanılacak eşleştirme koşulu.

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

Yanıt meta verileriyle çağrılabilir bir çağrılabilir.

analytical_storage_ttl
int

Kapsayıcıdaki öğeler için analiz deposu yaşam süresi (TTL). Yok değeri analitik depolamayı kapalı bırakır ve -1 değeri TTL olmadan analitik depolamayı açar. Analitik depolamanın yalnızca etkinleştirilmiş Synapse Link hesaplarda etkinleştirilebileceğini lütfen unutmayın.

Döndürülenler

Yeni kapsayıcıyı temsil eden bir ContainerProxy örneği.

Dönüş türü

Özel durumlar

Kapsayıcı oluşturulamadı.

Örnekler

Varsayılan ayarlarla bir kapsayıcı oluşturun:


           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)

Belirli ayarlarla kapsayıcı oluşturma; bu durumda, özel bir bölüm anahtarı:


           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

Henüz yoksa bir kapsayıcı oluşturun.

Kapsayıcı zaten varsa, mevcut ayarlar döndürülür. Not: Mevcut kapsayıcı ayarlarını denetlemez veya güncelleştirmez ya da yönteme geçirilenden farklıysa aktarım hızı sunmaz.

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

Parametreler

id
str
Gerekli

Oluşturulacak kapsayıcının kimliği (adı).

partition_key
PartitionKey
Gerekli

Kapsayıcı için kullanılacak bölüm anahtarı.

indexing_policy
dict[str, str]

Kapsayıcıya uygulanacak dizin oluşturma ilkesi.

default_ttl
int

Kapsayıcıdaki öğeler için varsayılan yaşam süresi (TTL). Belirtilmemişse, öğelerin süresi dolmaz.

offer_throughput
Union[int, ThroughputProperties]

Bu teklif için sağlanan aktarım hızı.

unique_key_policy
dict[str, str]

Kapsayıcıya uygulanacak benzersiz anahtar ilkesi.

conflict_resolution_policy
dict[str, str]

Kapsayıcıya uygulanacak çakışma çözümleme ilkesi.

session_token
str

Oturum tutarlılığı ile kullanılacak belirteç.

initial_headers
dict[str, str]

İsteğin bir parçası olarak gönderilecek ilk üst bilgiler.

etag
str

ETag değeri veya joker karakter (*). Kaynağın değişip değişmediğini denetlemek ve match_condition parametresi tarafından belirtilen koşula göre hareket etmek için kullanılır.

match_condition
MatchConditions

Etag üzerinde kullanılacak eşleştirme koşulu.

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

Yanıt meta verileriyle çağrılabilir bir çağrılabilir.

analytical_storage_ttl
int

Kapsayıcıdaki öğeler için analiz deposu yaşam süresi (TTL). Yok değeri analitik depolamayı kapalı bırakır ve -1 değeri TTL olmadan analitik depolamayı açar. Analitik depolamanın yalnızca etkinleştirilmiş Synapse Link hesaplarda etkinleştirilebileceğini lütfen unutmayın.

Döndürülenler

Yeni kapsayıcıyı temsil eden bir ContainerProxy örneği.

Dönüş türü

Özel durumlar

Kapsayıcı oluşturulamadı.

create_user

Kapsayıcıda yeni bir kullanıcı oluşturun.

Mevcut bir kullanıcıyı güncelleştirmek veya değiştirmek için yöntemini kullanın <xref:ContainerProxy.upsert_user> .

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

Parametreler

body
Dict[str, Any]
Gerekli

Oluşturulacak kullanıcıyı temsil eden bir kimlik anahtarına ve değere sahip dikte benzeri bir nesne. Kullanıcı kimliği veritabanında benzersiz olmalı ve en fazla 255 karakterden oluşmalıdır.

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

Yanıt meta verileriyle çağrılabilir bir çağrılabilir.

Döndürülenler

Yeni kullanıcıyı temsil eden bir UserProxy örneği.

Dönüş türü

Özel durumlar

Verilen kullanıcı oluşturulamadıysa.

Örnekler

Veritabanı kullanıcısı oluşturma:


           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

Kapsayıcıyı silme.

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

Parametreler

container
str veya Dict[str, Any] veya ContainerProxy
Gerekli

Silinecek kapsayıcının kimliği (adı). Silmek için kapsayıcının kimliğini, kapsayıcının özelliklerini temsil eden bir ContainerProxy örneği veya bir dikte geçirebilirsiniz.

session_token
str

Oturum tutarlılığı ile kullanılacak belirteç.

initial_headers
dict[str, str]

İsteğin bir parçası olarak gönderilecek ilk üst bilgiler.

etag
str

ETag değeri veya joker karakter (*). Kaynağın değişip değişmediğini denetlemek ve match_condition parametresi tarafından belirtilen koşula göre hareket etmek için kullanılır.

match_condition
MatchConditions

Etag üzerinde kullanılacak eşleştirme koşulu.

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

Yanıt meta verileriyle çağrılabilir bir çağrılabilir.

Dönüş türü

Özel durumlar

Kapsayıcı silinemediyse.

delete_user

Belirtilen kullanıcıyı kapsayıcıdan silin.

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

Parametreler

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

Silinecek kullanıcının özelliklerini veya UserProxy örneğini temsil eden kimlik (ad).

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

Yanıt meta verileriyle çağrılabilir bir çağrılabilir.

Dönüş türü

Özel durumlar

Kullanıcı başarıyla silinemedi.

Kullanıcı kapsayıcıda yok.

get_container_client

Belirtilen kimlik (ad) ile bir kapsayıcı için ContainerProxy alın.

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

Parametreler

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

Kimlik (ad), özellikleri temsil eden dikte veya ContainerProxy alınacak kapsayıcının örneği.

Döndürülenler

Kapsayıcıyı temsil eden containerProxy örneği.

Dönüş türü

Özel durumlar

Kapsayıcı oluşturulamadı.

Örnekler

Karşılaşılan bir hatayı işleyen mevcut bir kapsayıcıyı alın:


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

get_throughput

Bu veritabanı için ThroughputProperties nesnesini alın.

Veritabanı için zaten bir ThroughputProperties yoksa, bir özel durum oluşur.

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

Parametreler

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

Yanıt meta verileriyle çağrılabilir bir çağrılabilir.

Döndürülenler

Veritabanı için ThroughputProperties.

Dönüş türü

Özel durumlar

Veritabanı için aktarım hızı özelliği yok veya aktarım hızı özellikleri alınamadı.

get_user_client

Belirtilen kimliği olan bir kullanıcı için UserProxy alın.

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

Parametreler

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

Kimlik (ad), özellikleri temsil eden dikte veya UserProxy kullanıcının alınacak örneği.

Döndürülenler

Alınan kullanıcıyı temsil eden bir UserProxy örneği.

Dönüş türü

Özel durumlar

Kapsayıcı oluşturulamadı.

list_containers

Veritabanındaki kapsayıcıları listeleyin.

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

Parametreler

max_item_count
int

Numaralandırma işleminde döndürülecek en fazla öğe sayısı.

session_token
str

Oturum tutarlılığı ile kullanılacak belirteç.

initial_headers
dict[str, str]

İsteğin bir parçası olarak gönderilecek ilk üst bilgiler.

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

Yanıt meta verileriyle çağrılabilir bir çağrılabilir.

Döndürülenler

AsyncItemPaged kapsayıcı özellikleri (dikteler).

Dönüş türü

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

Özel durumlar

Kapsayıcı oluşturulamadı.

Örnekler

Veritabanındaki tüm kapsayıcıları listeleyin:


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

list_users

Kapsayıcıdaki tüm kullanıcıları listeleyin.

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

Parametreler

max_item_count
int

Numaralandırma işleminde döndürülecek en fazla kullanıcı sayısı.

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

Yanıt meta verileriyle çağrılabilir bir çağrılabilir.

Döndürülenler

AsyncItemPaged kullanıcı özellikleri (dikteler).

Dönüş türü

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

Özel durumlar

Kapsayıcı oluşturulamadı.

query_containers

Geçerli veritabanındaki kapsayıcıların özelliklerini listeleyin.

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

Parametreler

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

Yürütülecek Azure Cosmos DB SQL sorgusu.

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

Sorguya isteğe bağlı parametre dizisi. Her parametre , 'name' ve 'value' anahtarları olan bir dict() değeridir.

max_item_count
int

Numaralandırma işleminde döndürülecek en fazla öğe sayısı.

session_token
str

Oturum tutarlılığı ile kullanılacak belirteç.

initial_headers
dict[str, str]

İsteğin bir parçası olarak gönderilecek ilk üst bilgiler.

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

Yanıt meta verileriyle çağrılabilir bir çağrılabilir.

Döndürülenler

AsyncItemPaged kapsayıcı özellikleri (dikteler).

Dönüş türü

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

Özel durumlar

Kapsayıcı oluşturulamadı.

query_users

Verilen sorguyla eşleşen tüm kullanıcıları döndürür.

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

Parametreler

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

Yürütülecek Azure Cosmos DB SQL sorgusu.

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

Sorguya isteğe bağlı parametre dizisi. Her parametre , 'name' ve 'value' anahtarları olan bir dict() değeridir. Sorgu sağlanmazsa yoksayılır.

max_item_count
int

Numaralandırma işleminde döndürülecek en fazla kullanıcı sayısı.

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

Yanıt meta verileriyle çağrılabilir bir çağrılabilir.

Döndürülenler

AsyncItemPaged kullanıcı özellikleri (dikteler).

Dönüş türü

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

Özel durumlar

Kapsayıcı oluşturulamadı.

read

Veritabanı özelliklerini okuyun.

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

Parametreler

session_token
str

Oturum tutarlılığı ile kullanılacak belirteç.

initial_headers
dict[str, str]

İsteğin bir parçası olarak gönderilecek ilk üst bilgiler.

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

Yanıt meta verileriyle çağrılabilir bir çağrılabilir.

Döndürülenler

Veritabanı özelliklerini temsil eden bir dikte

Dönüş türü

Özel durumlar

Verilen veritabanı alınamadıysa.

replace_container

Kapsayıcının özelliklerini sıfırlayın.

Özellik değişiklikleri hemen kalıcı hale gelir. Belirtilmeyen tüm özellikler varsayılan değerlerine sıfırlanır.

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

Parametreler

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

Değiştirilecek kapsayıcının özelliklerini veya ContainerProxy örneğini temsil eden kimlik (ad), dikte.

partition_key
PartitionKey
Gerekli

Kapsayıcı için kullanılacak bölüm anahtarı.

indexing_policy
dict[str, str]

Kapsayıcıya uygulanacak dizin oluşturma ilkesi.

default_ttl
int

Kapsayıcıdaki öğeler için varsayılan yaşam süresi (TTL). Belirtilmemişse, öğelerin süresi dolmaz.

conflict_resolution_policy
dict[str, str]

Kapsayıcıya uygulanacak çakışma çözümleme ilkesi.

session_token
str

Oturum tutarlılığı ile kullanılacak belirteç.

etag
str

ETag değeri veya joker karakter (*). Kaynağın değişip değişmediğini denetlemek ve match_condition parametresi tarafından belirtilen koşula göre hareket etmek için kullanılır.

match_condition
MatchConditions

Etag üzerinde kullanılacak eşleştirme koşulu.

initial_headers
dict[str, str]

İsteğin bir parçası olarak gönderilecek ilk üst bilgiler.

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

Yanıt meta verileriyle çağrılabilir bir çağrılabilir.

analytical_storage_ttl
int

Kapsayıcıdaki öğeler için analiz deposu yaşam süresi (TTL). Yok değeri analitik depolamayı kapalı bırakır ve -1 değeri TTL olmadan analitik depolamayı açar. Analitik depolamanın yalnızca etkinleştirilmiş Synapse Link hesaplarda etkinleştirilebileceğini lütfen unutmayın.

Döndürülenler

Değiştirme tamamlandıktan sonra kapsayıcıyı temsil eden bir ContainerProxy örneği.

Dönüş türü

Özel durumlar

Kapsayıcı değiştirilemediyse yükseltildi. Bu, verilen kimliği olan kapsayıcının mevcut olup olmadığını içerir.

Örnekler

Kapsayıcıdaki TTL özelliğini sıfırlayın ve güncelleştirilmiş özellikleri görüntüleyin:


           # 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

Veritabanı düzeyinde aktarım hızını değiştirin.

Veritabanı için zaten bir ThroughputProperties yoksa, bir özel durum oluşturulur.

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

Parametreler

throughput
Union[int, ThroughputProperties]
Gerekli

Ayarlanacak aktarım hızı.

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

Yanıt meta verileriyle çağrılabilir bir çağrılabilir.

Döndürülenler

Veritabanı için ThroughputProperties, yeni aktarım hızıyla güncelleştirildi.

Dönüş türü

Özel durumlar

Veritabanı için aktarım hızı özelliği yok veya aktarım hızı özellikleri güncelleştirilemedi.

replace_user

Kapsayıcıda varsa belirtilen kullanıcıyı değiştirir.

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

Parametreler

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

Değiştirilecek kullanıcının özelliklerini veya UserProxy örneğini temsil eden kimlik (ad).

body
Dict[str, Any]
Gerekli

Değiştirilebilecek kullanıcıyı temsil eden dikte benzeri bir nesne.

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

Yanıt meta verileriyle çağrılabilir bir çağrılabilir.

Döndürülenler

Değiştirme işleminden sonra kullanıcıyı temsil eden bir UserProxy örneği geçti.

Dönüş türü

Özel durumlar

Değiştirme başarısız olduysa veya verilen kimliği olan kullanıcı yoksa.

upsert_user

Belirtilen kullanıcıyı ekleyin veya güncelleştirin.

Kullanıcı kapsayıcıda zaten varsa, değiştirilir. Kullanıcı zaten yoksa eklenir.

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

Parametreler

body
Dict[str, Any]
Gerekli

Güncelleştirilecek veya eklenecek kullanıcıyı temsil eden dikte benzeri bir nesne.

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

Yanıt meta verileriyle çağrılabilir bir çağrılabilir.

Döndürülenler

Upserted kullanıcıyı temsil eden bir UserProxy örneği.

Dönüş türü

Özel durumlar

Verilen kullanıcı yukarı eklenemediyse.