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.objectDatabaseProxy
Oluşturucu
DatabaseProxy(client_connection: CosmosClientConnection, id: str, properties: Dict[str, Any] = None)
Parametreler
- client_connection
- <xref:azure.cosmos.aio.CosmosClientConnection>
Bu veritabanının alındığı istemci.
- properties
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
- 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ı.
- 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.
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
- 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ı.
- 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.
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
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.
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
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ç.
- 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.
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
Silinecek kullanıcının özelliklerini veya UserProxy örneğini temsil eden kimlik (ad).
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
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
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
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ç.
Yanıt meta verileriyle çağrılabilir bir çağrılabilir.
Döndürülenler
AsyncItemPaged kapsayıcı özellikleri (dikteler).
Dönüş türü
Ö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ı.
Yanıt meta verileriyle çağrılabilir bir çağrılabilir.
Döndürülenler
AsyncItemPaged kullanıcı özellikleri (dikteler).
Dönüş türü
Ö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
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ç.
Yanıt meta verileriyle çağrılabilir bir çağrılabilir.
Döndürülenler
AsyncItemPaged kapsayıcı özellikleri (dikteler).
Dönüş türü
Ö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
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ı.
Yanıt meta verileriyle çağrılabilir bir çağrılabilir.
Döndürülenler
AsyncItemPaged kullanıcı özellikleri (dikteler).
Dönüş türü
Ö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ç.
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
Değiştirilecek kapsayıcının özelliklerini veya ContainerProxy örneğini temsil eden kimlik (ad), dikte.
- default_ttl
- int
Kapsayıcıdaki öğeler için varsayılan yaşam süresi (TTL). Belirtilmemişse, öğelerin süresi dolmaz.
- 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.
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
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
Değiştirilecek kullanıcının özelliklerini veya UserProxy örneğini temsil eden kimlik (ad).
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
Güncelleştirilecek veya eklenecek kullanıcıyı temsil eden dikte benzeri bir nesne.
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.
Azure SDK for Python
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin