DatabaseProxy Kelas
Antarmuka untuk berinteraksi dengan database tertentu.
Kelas ini tidak boleh diinstansiasi secara langsung. Sebagai gantinya <xref:azure.cosmos.aio.cosmos_client.CosmosClient.get_database_client> gunakan metode untuk mendapatkan database yang sudah ada, atau <xref:azure.cosmos.aio.cosmos_client.CosmosClient.create_database> metode untuk membuat database baru.
Database berisi satu atau beberapa kontainer, yang masing-masing dapat berisi item, prosedur tersimpan, pemicu, dan fungsi yang ditentukan pengguna.
Database juga dapat memiliki pengguna terkait, yang masing-masing dikonfigurasi dengan sekumpulan izin untuk mengakses kontainer tertentu, prosedur tersimpan, pemicu, fungsi yang ditentukan pengguna, atau item.
Database Azure Cosmos DB SQL API memiliki properti yang dihasilkan sistem berikut. Properti ini bersifat baca-saja:
_rid: ID sumber daya.
_ts: Kapan sumber daya terakhir diperbarui. Nilainya adalah tanda waktu.
_self: URI unik yang dapat diatasi untuk sumber daya.
_etag: Etag sumber daya yang diperlukan untuk kontrol konkurensi optimis.
_colls: Jalur sumber daya koleksi yang dapat diatasi.
_users: Jalur sumber daya pengguna yang dapat diatasi.
- Warisan
-
builtins.objectDatabaseProxy
Konstruktor
DatabaseProxy(client_connection: CosmosClientConnection, id: str, properties: Dict[str, Any] = None)
Parameter
- client_connection
- <xref:azure.cosmos.aio.CosmosClientConnection>
Klien tempat database ini diambil.
- properties
Variabel
- id
ID (nama) database.
Metode
create_container |
Buat kontainer baru dengan ID (nama) yang diberikan. Jika kontainer dengan ID yang diberikan sudah ada, CosmosResourceExistsError akan dinaikkan. |
create_container_if_not_exists |
Buat kontainer jika belum ada. Jika kontainer sudah ada, pengaturan yang ada akan dikembalikan. Catatan: ini tidak memeriksa atau memperbarui pengaturan kontainer yang ada atau menawarkan throughput jika berbeda dari apa yang diteruskan ke metode . |
create_user |
Buat pengguna baru di kontainer. Untuk memperbarui atau mengganti pengguna yang sudah ada, gunakan metode .<xref:ContainerProxy.upsert_user> |
delete_container |
Hapus kontainer. |
delete_user |
Hapus pengguna yang ditentukan dari kontainer. |
get_container_client |
Dapatkan ContainerProxy untuk kontainer dengan ID (nama) tertentu. |
get_throughput |
Dapatkan objek ThroughputProperties untuk database ini. Jika tidak ada ThroughputProperties yang sudah ada untuk database, pengecualian akan dimunculkan. |
get_user_client |
Dapatkan UserProxy untuk pengguna dengan ID tertentu. |
list_containers |
Mencantumkan kontainer dalam database. |
list_users |
Mencantumkan semua pengguna dalam kontainer. |
query_containers |
Mencantumkan properti untuk kontainer dalam database saat ini. |
query_users |
Mengembalikan semua pengguna yang cocok dengan kueri yang diberikan. |
read |
Membaca properti database. |
replace_container |
Reset properti kontainer. Perubahan properti segera dipertahankan. Properti apa pun yang tidak ditentukan akan diatur ulang ke nilai defaultnya. |
replace_throughput |
Ganti throughput tingkat database. Jika tidak ada ThroughputProperties yang sudah ada untuk database, pengecualian akan dinaikkan. |
replace_user |
Menggantikan pengguna yang ditentukan jika ada dalam kontainer. |
upsert_user |
Sisipkan atau perbarui pengguna yang ditentukan. Jika pengguna sudah ada dalam kontainer, pengguna akan diganti. Jika pengguna belum ada, pengguna akan dimasukkan. |
create_container
Buat kontainer baru dengan ID (nama) yang diberikan.
Jika kontainer dengan ID yang diberikan sudah ada, CosmosResourceExistsError akan dinaikkan.
async create_container(id: str, partition_key: PartitionKey, **kwargs: Any) -> ContainerProxy
Parameter
- default_ttl
- int
Waktu hidup (TTL) default untuk item dalam kontainer. Jika tidak ditentukan, item tidak kedaluwarsa.
- offer_throughput
- Union[int, ThroughputProperties]
Throughput yang disediakan untuk penawaran ini.
- session_token
- str
Token untuk digunakan dengan konsistensi Sesi.
- etag
- str
Nilai ETag, atau karakter kartubebas (*). Digunakan untuk memeriksa apakah sumber daya telah berubah, dan bertindak sesuai dengan kondisi yang ditentukan oleh parameter match_condition .
- match_condition
- MatchConditions
Kondisi kecocokan untuk digunakan pada etag.
Panggilan yang dipanggil dengan metadata respons.
- analytical_storage_ttl
- int
Time to live (TTL) penyimpanan analitis untuk item dalam kontainer. Nilai Tidak Ada membuat penyimpanan analitis nonaktif dan nilai -1 mengaktifkan penyimpanan analitik tanpa TTL. Harap dicatat bahwa penyimpanan analitik hanya dapat diaktifkan pada akun yang diaktifkan Synapse Link.
Mengembalikan
Instans ContainerProxy yang mewakili kontainer baru.
Tipe hasil
Pengecualian
Pembuatan kontainer gagal.
Contoh
Buat kontainer dengan pengaturan default:
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)
Membuat kontainer dengan pengaturan tertentu; dalam hal ini, kunci partisi kustom:
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
Buat kontainer jika belum ada.
Jika kontainer sudah ada, pengaturan yang ada akan dikembalikan. Catatan: ini tidak memeriksa atau memperbarui pengaturan kontainer yang ada atau menawarkan throughput jika berbeda dari apa yang diteruskan ke metode .
async create_container_if_not_exists(id: str, partition_key: PartitionKey, **kwargs: Any) -> ContainerProxy
Parameter
- default_ttl
- int
Waktu hidup (TTL) default untuk item dalam kontainer. Jika tidak ditentukan, item tidak kedaluwarsa.
- offer_throughput
- Union[int, ThroughputProperties]
Throughput yang disediakan untuk penawaran ini.
- session_token
- str
Token untuk digunakan dengan konsistensi Sesi.
- etag
- str
Nilai ETag, atau karakter kartubebas (*). Digunakan untuk memeriksa apakah sumber daya telah berubah, dan bertindak sesuai dengan kondisi yang ditentukan oleh parameter match_condition .
- match_condition
- MatchConditions
Kondisi kecocokan untuk digunakan pada etag.
Panggilan yang dipanggil dengan metadata respons.
- analytical_storage_ttl
- int
Time to live (TTL) penyimpanan analitis untuk item dalam kontainer. Nilai Tidak Ada membuat penyimpanan analitis nonaktif dan nilai -1 mengaktifkan penyimpanan analitik tanpa TTL. Harap dicatat bahwa penyimpanan analitik hanya dapat diaktifkan pada akun yang diaktifkan Synapse Link.
Mengembalikan
Instans ContainerProxy yang mewakili kontainer baru.
Tipe hasil
Pengecualian
Pembuatan kontainer gagal.
create_user
Buat pengguna baru di kontainer.
Untuk memperbarui atau mengganti pengguna yang sudah ada, gunakan metode .<xref:ContainerProxy.upsert_user>
async create_user(body: Dict[str, Any], **kwargs: Any) -> UserProxy
Parameter
Objek seperti dict dengan kunci id dan nilai yang mewakili pengguna yang akan dibuat. ID pengguna harus unik dalam database, dan tidak lebih dari 255 karakter.
Panggilan yang dipanggil dengan metadata respons.
Mengembalikan
Instans UserProxy yang mewakili pengguna baru.
Tipe hasil
Pengecualian
Jika pengguna yang diberikan tidak dapat dibuat.
Contoh
Membuat pengguna database:
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
Hapus kontainer.
async delete_container(container: str | ContainerProxy | Dict[str, Any], **kwargs: Any) -> None
Parameter
- container
- str atau Dict[str, Any] atau ContainerProxy
ID (nama) kontainer yang akan dihapus. Anda dapat meneruskan ID kontainer untuk dihapus, instans, ContainerProxy atau dict yang mewakili properti kontainer.
- session_token
- str
Token untuk digunakan dengan konsistensi Sesi.
- etag
- str
Nilai ETag, atau karakter kartubebas (*). Digunakan untuk memeriksa apakah sumber daya telah berubah, dan bertindak sesuai dengan kondisi yang ditentukan oleh parameter match_condition .
- match_condition
- MatchConditions
Kondisi kecocokan untuk digunakan pada etag.
Panggilan yang dipanggil dengan metadata respons.
Tipe hasil
Pengecualian
Jika kontainer tidak dapat dihapus.
delete_user
Hapus pengguna yang ditentukan dari kontainer.
async delete_user(user: str | UserProxy | Dict[str, Any], **kwargs: Any) -> None
Parameter
ID (nama), dict yang mewakili properti atau UserProxy instans pengguna yang akan dihapus.
Panggilan yang dipanggil dengan metadata respons.
Tipe hasil
Pengecualian
Pengguna tidak berhasil dihapus.
Pengguna tidak ada dalam kontainer.
get_container_client
Dapatkan ContainerProxy untuk kontainer dengan ID (nama) tertentu.
get_container_client(container: str | ContainerProxy | Dict[str, Any]) -> ContainerProxy
Parameter
ID (nama), dict yang mewakili properti, atau ContainerProxy instans kontainer yang akan didapatkan.
Mengembalikan
Instans ContainerProxy yang mewakili kontainer.
Tipe hasil
Pengecualian
Pembuatan kontainer gagal.
Contoh
Dapatkan kontainer yang sudah ada, menangani kegagalan jika ditemui:
database = client.get_database_client(database_name)
container = database.get_container_client(container_name)
get_throughput
Dapatkan objek ThroughputProperties untuk database ini.
Jika tidak ada ThroughputProperties yang sudah ada untuk database, pengecualian akan dimunculkan.
async get_throughput(**kwargs: Any) -> ThroughputProperties
Parameter
Panggilan yang dipanggil dengan metadata respons.
Mengembalikan
ThroughputProperties untuk database.
Tipe hasil
Pengecualian
Tidak ada properti throughput untuk database atau properti throughput yang tidak dapat diambil.
get_user_client
Dapatkan UserProxy untuk pengguna dengan ID tertentu.
get_user_client(user: str | UserProxy | Dict[str, Any]) -> UserProxy
Parameter
ID (nama), dict yang mewakili properti, atau UserProxy instans pengguna yang akan didapatkan.
Mengembalikan
Instans UserProxy yang mewakili pengguna yang diambil.
Tipe hasil
Pengecualian
Pembuatan kontainer gagal.
list_containers
Mencantumkan kontainer dalam database.
list_containers(**kwargs) -> AsyncItemPaged[Dict[str, Any]]
Parameter
- max_item_count
- int
Jumlah maksimum item yang akan dikembalikan dalam operasi enumerasi.
- session_token
- str
Token untuk digunakan dengan konsistensi Sesi.
Panggilan yang dipanggil dengan metadata respons.
Mengembalikan
AsyncItemPaged dari properti kontainer (dicts).
Tipe hasil
Pengecualian
Pembuatan kontainer gagal.
Contoh
Cantumkan semua kontainer dalam database:
database = client.get_database_client(database_name)
async for container in database.list_containers():
print("Container ID: {}".format(container['id']))
list_users
Mencantumkan semua pengguna dalam kontainer.
list_users(**kwargs: Any) -> AsyncItemPaged[Dict[str, Any]]
Parameter
- max_item_count
- int
Jumlah maksimum pengguna yang akan dikembalikan dalam operasi enumerasi.
Panggilan yang dipanggil dengan metadata respons.
Mengembalikan
AsyncItemPaged dari properti pengguna (dicts).
Tipe hasil
Pengecualian
Pembuatan kontainer gagal.
query_containers
Mencantumkan properti untuk kontainer dalam database saat ini.
query_containers(**kwargs: Any) -> AsyncItemPaged[Dict[str, Any]]
Parameter
Array parameter opsional ke kueri. Setiap parameter adalah dict() dengan kunci 'nama' dan 'nilai'.
- max_item_count
- int
Jumlah maksimum item yang akan dikembalikan dalam operasi enumerasi.
- session_token
- str
Token untuk digunakan dengan konsistensi Sesi.
Panggilan yang dipanggil dengan metadata respons.
Mengembalikan
AsyncItemPaged dari properti kontainer (dicts).
Tipe hasil
Pengecualian
Pembuatan kontainer gagal.
query_users
Mengembalikan semua pengguna yang cocok dengan kueri yang diberikan.
query_users(query: str | Dict[str, Any], **kwargs: Any) -> AsyncItemPaged[Dict[str, Any]]
Parameter
Array parameter opsional ke kueri. Setiap parameter adalah dict() dengan kunci 'nama' dan 'nilai'. Diabaikan jika tidak ada kueri yang disediakan.
- max_item_count
- int
Jumlah maksimum pengguna yang akan dikembalikan dalam operasi enumerasi.
Panggilan yang dipanggil dengan metadata respons.
Mengembalikan
AsyncItemPaged dari properti pengguna (dicts).
Tipe hasil
Pengecualian
Pembuatan kontainer gagal.
read
Membaca properti database.
async read(**kwargs: Any) -> Dict[str, Any]
Parameter
- session_token
- str
Token untuk digunakan dengan konsistensi Sesi.
Panggilan yang dipanggil dengan metadata respons.
Mengembalikan
Dict yang mewakili properti database
Tipe hasil
Pengecualian
Jika database yang diberikan tidak dapat diambil.
replace_container
Reset properti kontainer.
Perubahan properti segera dipertahankan. Properti apa pun yang tidak ditentukan akan diatur ulang ke nilai defaultnya.
async replace_container(container: str | ContainerProxy | Dict[str, Any], partition_key: PartitionKey, **kwargs: Any) -> ContainerProxy
Parameter
ID (nama), dict yang mewakili properti atau ContainerProxy instans kontainer yang akan diganti.
- default_ttl
- int
Waktu hidup (TTL) default untuk item dalam kontainer. Jika tidak ditentukan, item tidak kedaluwarsa.
- session_token
- str
Token untuk digunakan dengan konsistensi Sesi.
- etag
- str
Nilai ETag, atau karakter kartubebas (*). Digunakan untuk memeriksa apakah sumber daya telah berubah, dan bertindak sesuai dengan kondisi yang ditentukan oleh parameter match_condition .
- match_condition
- MatchConditions
Kondisi kecocokan untuk digunakan pada etag.
Panggilan yang dipanggil dengan metadata respons.
- analytical_storage_ttl
- int
Time to live (TTL) penyimpanan analitis untuk item dalam kontainer. Nilai Tidak Ada membuat penyimpanan analitis nonaktif dan nilai -1 mengaktifkan penyimpanan analitik tanpa TTL. Harap dicatat bahwa penyimpanan analitik hanya dapat diaktifkan pada akun yang diaktifkan Synapse Link.
Mengembalikan
Instans ContainerProxy yang mewakili kontainer setelah penggantian selesai.
Tipe hasil
Pengecualian
Dimunculkan jika kontainer tidak dapat diganti. Ini termasuk jika kontainer dengan id yang diberikan tidak ada.
Contoh
Reset properti TTL pada kontainer, dan tampilkan properti yang diperbarui:
# 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
Ganti throughput tingkat database.
Jika tidak ada ThroughputProperties yang sudah ada untuk database, pengecualian akan dinaikkan.
async replace_throughput(throughput: int | ThroughputProperties, **kwargs: Any) -> ThroughputProperties
Parameter
Panggilan yang dipanggil dengan metadata respons.
Mengembalikan
ThroughputProperties untuk database, diperbarui dengan throughput baru.
Tipe hasil
Pengecualian
Tidak ada properti throughput untuk database atau properti throughput yang tidak dapat diperbarui.
replace_user
Menggantikan pengguna yang ditentukan jika ada dalam kontainer.
async replace_user(user: str | UserProxy | Dict[str, Any], body: Dict[str, Any], **kwargs: Any) -> UserProxy
Parameter
ID (nama), dict yang mewakili properti atau UserProxy instans pengguna yang akan diganti.
Panggilan yang dipanggil dengan metadata respons.
Mengembalikan
Instans UserProxy yang mewakili pengguna setelah penggantian dilalui.
Tipe hasil
Pengecualian
Jika penggantian gagal atau pengguna dengan ID yang diberikan tidak ada.
upsert_user
Sisipkan atau perbarui pengguna yang ditentukan.
Jika pengguna sudah ada dalam kontainer, pengguna akan diganti. Jika pengguna belum ada, pengguna akan dimasukkan.
async upsert_user(body: Dict[str, Any], **kwargs: Any) -> UserProxy
Parameter
Objek seperti dikte yang mewakili pengguna untuk diperbarui atau disisipkan.
Panggilan yang dipanggil dengan metadata respons.
Mengembalikan
Instans UserProxy yang mewakili pengguna yang ditingkatkan.
Tipe hasil
Pengecualian
Jika pengguna yang diberikan tidak dapat di-upsert.
Azure SDK for Python
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk