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 yöntemini kullanın 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:ClientSession>
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şturulur. :keyword Çağrılabilir response_hook: Yanıt meta verileriyle çağrılabilir. :returns: Veritabanı için ThroughputProperties. :raises ~azure.cosmos.exceptions.CosmosHttpResponseError: Kapsayıcı 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. |
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. |
read_offer |
Bu veritabanı için ThroughputProperties nesnesini alın. Veritabanı için zaten bir ThroughputProperties yoksa, bir özel durum oluşturulur. :keyword Çağrılabilir response_hook: Yanıt meta verileriyle çağrılabilir. :returns: Veritabanı için ThroughputProperties. :raises ~azure.cosmos.exceptions.CosmosHttpResponseError: Kapsayıcı için aktarım hızı özelliği yok veya aktarım hızı özellikleri alınamadı. |
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. |
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.
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
Parametreler
- id
Oluşturulacak kapsayıcının kimliği (adı).
- partition_key
Kapsayıcı için kullanılacak bölüm anahtarı.
- indexing_policy
Kapsayıcıya uygulanacak dizin oluşturma ilkesi.
- default_ttl
Kapsayıcıdaki öğeler için varsayılan yaşam süresi (TTL). Belirtilmemişse, öğelerin süresi dolmaz.
- offer_throughput
- int veya <xref:azure.cosmos.ThroughputProperties.>
Bu teklif için sağlanan aktarım hızı.
- unique_key_policy
Kapsayıcıya uygulanacak benzersiz anahtar ilkesi.
- conflict_resolution_policy
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.
- response_hook
- Callable
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 = 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 = 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.
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
Parametreler
- id
Okunacak veya oluşturulacak kapsayıcının kimliği (adı).
- partition_key
Kapsayıcı için kullanılacak bölüm anahtarı.
- indexing_policy
Kapsayıcıya uygulanacak dizin oluşturma ilkesi.
- default_ttl
Kapsayıcıdaki öğeler için varsayılan yaşam süresi (TTL). Belirtilmemişse, öğelerin süresi dolmaz.
- populate_query_metrics
Yanıt üst bilgilerinde sorgu ölçümlerini döndürmeyi etkinleştirin.
- offer_throughput
Bu teklif için sağlanan aktarım hızı.
- unique_key_policy
Kapsayıcıya uygulanacak benzersiz anahtar ilkesi.
- conflict_resolution_policy
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.
- response_hook
- Callable
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
Kapsayıcıyı temsil eden containerProxy örneği.
Dönüş türü
Özel durumlar
Kapsayıcı okunamadı veya 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> .
create_user(body: Dict[str, Any], **kwargs: Any) -> UserProxy
Parametreler
- body
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
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:
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
Kapsayıcıyı silme.
delete_container(container: str | ContainerProxy | Dict[str, Any], populate_query_metrics: bool | None = None, **kwargs: Any) -> None
Parametreler
- container
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.
- response_hook
- Callable
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.
delete_user(user: str | UserProxy | Dict[str, Any], **kwargs: Any) -> None
Parametreler
- response_hook
- Callable
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
Kapsayıcının kimliği (adı), alınacak kapsayıcının ContainerProxy özelliklerini temsil eden bir örnek veya bir dikte.
Döndürülenler
Alınan veritabanını temsil eden bir 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şturulur. :keyword Çağrılabilir response_hook: Yanıt meta verileriyle çağrılabilir. :returns: Veritabanı için ThroughputProperties. :raises ~azure.cosmos.exceptions.CosmosHttpResponseError: Kapsayıcı için aktarım hızı özelliği yok veya
aktarım hızı özellikleri alınamadı.
get_throughput(**kwargs: Any) -> ThroughputProperties
Dönüş türü
Özel durumlar
Kapsayıcı oluşturulamadı.
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
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(max_item_count: int | None = None, populate_query_metrics: bool | None = None, **kwargs: Any) -> Iterable[Dict[str, Any]]
Parametreler
- max_item_count
Numaralandırma işleminde döndürülecek en fazla öğe sayısı.
- session_token
- str
Oturum tutarlılığı ile kullanılacak belirteç.
- response_hook
- Callable
Yanıt meta verileriyle çağrılabilir bir çağrılabilir.
Döndürülenler
Kapsayıcı özelliklerinin (dikteler) Yinelenebilir olması.
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)
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(max_item_count: int | None = None, **kwargs: Any) -> Iterable[Dict[str, Any]]
Parametreler
- max_item_count
Numaralandırma işleminde döndürülecek en fazla kullanıcı sayısı.
- response_hook
- Callable
Yanıt meta verileriyle çağrılabilir bir çağrılabilir.
Döndürülenler
Kullanıcı özelliklerinin (dikteler) Yinelenebilir olması.
Dönüş türü
Özel durumlar
Kapsayıcı oluşturulamadı.
query_containers
Geçerli veritabanındaki kapsayıcıların özelliklerini listeleyin.
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]]
Parametreler
- query
Yürütülecek Azure Cosmos DB SQL sorgusu.
- parameters
Sorguya isteğe bağlı parametre dizisi. Sorgu sağlanmazsa yoksayılır.
- max_item_count
Numaralandırma işleminde döndürülecek en fazla öğe sayısı.
- session_token
- str
Oturum tutarlılığı ile kullanılacak belirteç.
- response_hook
- Callable
Yanıt meta verileriyle çağrılabilir bir çağrılabilir.
Döndürülenler
Kapsayıcı özelliklerinin (dikteler) Yinelenebilir olması.
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, parameters: List[str] | None = None, max_item_count: int | None = None, **kwargs: Any) -> Iterable[Dict[str, Any]]
Parametreler
- query
Yürütülecek Azure Cosmos DB SQL sorgusu.
- parameters
Sorguya isteğe bağlı parametre dizisi. Sorgu sağlanmazsa yoksayılır.
- max_item_count
Numaralandırma işleminde döndürülecek en fazla kullanıcı sayısı.
- response_hook
- Callable
Yanıt meta verileriyle çağrılabilir bir çağrılabilir.
Döndürülenler
Kullanıcı özelliklerinin (dikteler) Yinelenebilir olması.
Dönüş türü
Özel durumlar
Kapsayıcı oluşturulamadı.
read
Veritabanı özelliklerini okuyun.
read(populate_query_metrics: bool | None = None, **kwargs: Any) -> Dict[str, Any]
Parametreler
- session_token
- str
Oturum tutarlılığı ile kullanılacak belirteç.
- response_hook
- Callable
Yanıt meta verileriyle çağrılabilir bir çağrılabilir.
Dönüş türü
Özel durumlar
Verilen veritabanı alınamadıysa.
read_offer
Bu veritabanı için ThroughputProperties nesnesini alın. Veritabanı için zaten bir ThroughputProperties yoksa, bir özel durum oluşturulur. :keyword Çağrılabilir response_hook: Yanıt meta verileriyle çağrılabilir. :returns: Veritabanı için ThroughputProperties. :raises ~azure.cosmos.exceptions.CosmosHttpResponseError: Kapsayıcı için aktarım hızı özelliği yok veya
aktarım hızı özellikleri alınamadı.
read_offer(**kwargs: Any) -> ThroughputProperties
Dönüş türü
Özel durumlar
Kapsayıcı oluşturulamadı.
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_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
Parametreler
- container
Değiştirilecek kapsayıcının özelliklerini veya ContainerProxy örneğini temsil eden kimlik (ad), dikte.
- partition_key
Kapsayıcı için kullanılacak bölüm anahtarı.
- indexing_policy
Kapsayıcıya uygulanacak dizin oluşturma ilkesi.
- default_ttl
Kapsayıcıdaki öğeler için varsayılan yaşam süresi (TTL). Belirtilmemişse, öğelerin süresi dolmaz.
- conflict_resolution_policy
Kapsayıcıya uygulanacak çakışma çözümleme ilkesi.
- populate_query_metrics
Yanıt üst bilgilerinde sorgu ölçümlerini döndürmeyi etkinleştirin.
- 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.
- response_hook
- Callable
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)
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
Veritabanı düzeyinde aktarım hızını değiştirin.
replace_throughput(throughput: int | ThroughputProperties | None, **kwargs: Any) -> ThroughputProperties
Parametreler
- throughput
Ayarlanacak aktarım hızı (tamsayı).
- response_hook
- Callable
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ı özellikleri yoksa veya aktarım hızı özellikleri güncelleştirilemediyse.
replace_user
Kapsayıcıda varsa belirtilen kullanıcıyı değiştirir.
replace_user(user: str | UserProxy | Dict[str, Any], body: Dict[str, Any], **kwargs: Any) -> UserProxy
Parametreler
- user
Değiştirilecek kullanıcının özelliklerini veya UserProxy örneğini temsil eden kimlik (ad).
- body
Değiştirilebilecek kullanıcıyı temsil eden dikte benzeri bir nesne.
- response_hook
- Callable
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.
upsert_user(body: Dict[str, Any], **kwargs: Any) -> UserProxy
Parametreler
- body
Güncelleştirilecek veya eklenecek kullanıcıyı temsil eden dikte benzeri bir nesne.
- response_hook
- Callable
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