Bagikan melalui


ContainerProxy Kelas

Antarmuka untuk berinteraksi dengan Kontainer DB tertentu.

Kelas ini tidak boleh diinstansiasi secara langsung. Sebagai gantinya <xref:azure.cosmos.aio.database.DatabaseProxy.get_container_client> , gunakan metode untuk mendapatkan kontainer yang ada, atau <xref:azure.cosmos.aio.database.DatabaseProxy.create_container> metode untuk membuat kontainer baru.

Kontainer dalam database Azure Cosmos DB SQL API adalah kumpulan dokumen, yang masing-masing direpresentasikan sebagai Item.

Warisan
builtins.object
ContainerProxy

Konstruktor

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

Parameter

client_connection
database_link
id
properties
nilai default: None

Variabel

id
str

ID (nama) kontainer

session_token
str

Token sesi untuk kontainer.

Metode

create_item

Buat item dalam kontainer.

Untuk memperbarui atau mengganti item yang ada, gunakan upsert_item metode .

delete_all_items_by_partition_key

Fitur hapus menurut kunci partisi adalah operasi latar belakang asinkron yang memungkinkan Anda menghapus semua dokumen dengan nilai kunci partisi logis yang sama, menggunakan Cosmos SDK. Operasi hapus menurut kunci partisi dibatasi untuk mengonsumsi paling banyak 10% dari total RU/dtk yang tersedia pada kontainer setiap detik. Ini membantu membatasi sumber daya yang digunakan oleh tugas latar belakang ini.

delete_conflict

Hapus konflik yang ditentukan dari kontainer.

Jika konflik belum ada dalam kontainer, pengecualian akan dimunculkan.

delete_item

Hapus item yang ditentukan dari kontainer.

Jika item belum ada dalam kontainer, pengecualian akan dinaikkan.

get_conflict

Dapatkan konflik yang diidentifikasi oleh konflik.

get_throughput

Dapatkan objek ThroughputProperties untuk kontainer ini.

Jika tidak ada ThroughputProperties yang sudah ada untuk kontainer, pengecualian akan dimunculkan.

list_conflicts

Cantumkan semua konflik dalam kontainer.

patch_item

Metode provisi Menambal item yang ditentukan dengan operasi yang disediakan jika ada dalam kontainer.

Jika item belum ada dalam kontainer, pengecualian akan dinaikkan.

query_conflicts

Mengembalikan semua konflik yang cocok dengan kueri tertentu.

query_items

Mengembalikan semua hasil yang cocok dengan kueri yang diberikan.

Anda dapat menggunakan nilai apa pun untuk nama kontainer dalam klausa FROM, tetapi sering kali nama kontainer digunakan. Dalam contoh di bawah ini, nama kontainer adalah "produk," dan diberi alias sebagai "p" untuk referensi yang lebih mudah dalam klausul WHERE.

token kelanjutan respons dalam respons kueri. Nilai yang valid adalah bilangan bulat positif. Nilai 0 sama dengan tidak meneruskan nilai (default tanpa batas). :kata kunci int max_integrated_cache_staleness_in_ms: Keusangan cache maks untuk cache terintegrasi di

Milidetik. Untuk akun yang dikonfigurasi untuk menggunakan cache terintegrasi, menggunakan konsistensi Sesi atau Akhir, respons dijamin tidak akan lebih lama dari nilai ini.

query_items_change_feed

Dapatkan daftar item yang diurutkan yang diubah, sesuai urutan perubahannya.

read

Baca properti kontainer.

read_all_items

Cantumkan semua item dalam kontainer.

read_item

Dapatkan item yang diidentifikasi berdasarkan item.

replace_item

Menggantikan item yang ditentukan jika ada dalam kontainer.

Jika item belum ada dalam kontainer, pengecualian akan dinaikkan.

replace_throughput

Ganti throughput kontainer.

Jika tidak ada ThroughputProperties yang sudah ada untuk kontainer, pengecualian akan dinaikkan.

upsert_item

Sisipkan atau perbarui item yang ditentukan.

Jika item sudah ada dalam kontainer, item akan diganti. Jika item belum ada, item akan disisipkan.

create_item

Buat item dalam kontainer.

Untuk memperbarui atau mengganti item yang ada, gunakan upsert_item metode .

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

Parameter

body
dict[str, str]
Diperlukan

Objek seperti dikte yang mewakili item yang akan dibuat.

pre_trigger_include
str

id pemicu yang akan digunakan sebagai pemicu pra-operasi.

post_trigger_include
str

id pemicu yang akan digunakan sebagai pemicu pasca operasi.

indexing_directive
Union[int, IndexingDirective]

Menghitung nilai yang mungkin untuk menunjukkan apakah dokumen harus dihilangkan dari pengindeksan. Nilai yang mungkin termasuk: 0 untuk Default, 1 untuk Kecualikan, atau 2 untuk Sertakan.

enable_automatic_id_generation
bool

Aktifkan pembuatan id otomatis jika tidak ada id.

session_token
str

Token untuk digunakan dengan konsistensi Sesi.

initial_headers
dict[str, str]

Header awal yang akan dikirim sebagai bagian dari permintaan.

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.

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

Panggilan yang dipanggil dengan metadata respons.

Mengembalikan

Dict yang mewakili item baru.

Tipe hasil

Pengecualian

Item dengan ID yang diberikan sudah ada.

delete_all_items_by_partition_key

Fitur hapus menurut kunci partisi adalah operasi latar belakang asinkron yang memungkinkan Anda menghapus semua dokumen dengan nilai kunci partisi logis yang sama, menggunakan Cosmos SDK. Operasi hapus menurut kunci partisi dibatasi untuk mengonsumsi paling banyak 10% dari total RU/dtk yang tersedia pada kontainer setiap detik. Ini membantu membatasi sumber daya yang digunakan oleh tugas latar belakang ini.

async delete_all_items_by_partition_key(partition_key: str | int | float | bool, **kwargs: Any) -> None

Parameter

partition_key
Any
Diperlukan

Kunci partisi untuk item yang akan dihapus.

pre_trigger_include
str

id pemicu yang akan digunakan sebagai pemicu pra-operasi.

post_trigger_include
str

id pemicu yang akan digunakan sebagai pemicu pasca operasi.

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.

response_hook
Callable

Panggilan yang dipanggil dengan metadata respons.

Tipe hasil

Pengecualian

Item dengan ID yang diberikan sudah ada.

delete_conflict

Hapus konflik yang ditentukan dari kontainer.

Jika konflik belum ada dalam kontainer, pengecualian akan dimunculkan.

async delete_conflict(conflict: str | Dict[str, Any], partition_key: str | int | float | bool, **kwargs: Any) -> None

Parameter

conflict
Union[str, Dict[str, Any]]
Diperlukan

ID (nama) atau dict yang mewakili konflik yang akan diambil.

partition_key
Union[str, int, float, bool]
Diperlukan

Kunci partisi untuk konflik yang akan diambil.

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

Panggilan yang dipanggil dengan metadata respons.

Tipe hasil

Pengecualian

Konflik tidak berhasil dihapus.

Konflik tidak ada dalam kontainer.

delete_item

Hapus item yang ditentukan dari kontainer.

Jika item belum ada dalam kontainer, pengecualian akan dinaikkan.

async delete_item(item: str | Dict[str, Any], partition_key: str | int | float | bool, **kwargs: Any) -> None

Parameter

item
Union[str, Dict[str, Any]]
Diperlukan

ID (nama) atau dict yang mewakili item yang akan dihapus.

partition_key
Union[str, int, float, bool]
Diperlukan

Menentukan nilai kunci partisi untuk item.

pre_trigger_include
str

id pemicu yang akan digunakan sebagai pemicu pra-operasi.

post_trigger_include
str

id pemicu yang akan digunakan sebagai pemicu pasca operasi.

session_token
str

Token untuk digunakan dengan konsistensi Sesi.

initial_headers
dict[str, str]

Header awal yang akan dikirim sebagai bagian dari permintaan.

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.

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

Panggilan yang dipanggil dengan metadata respons.

Tipe hasil

Pengecualian

Item tidak berhasil dihapus.

Item tidak ada dalam kontainer.

get_conflict

Dapatkan konflik yang diidentifikasi oleh konflik.

async get_conflict(conflict: str | Dict[str, Any], partition_key: str | int | float | bool, **kwargs: Any) -> Dict[str, Any]

Parameter

conflict
Union[str, Dict[str, Any]]
Diperlukan

ID (nama) atau dict yang mewakili konflik yang akan diambil.

partition_key
Union[str, int, float, bool]
Diperlukan

Kunci partisi untuk konflik yang akan diambil.

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

Panggilan yang dipanggil dengan metadata respons.

Mengembalikan

Dict yang mewakili konflik yang diambil.

Tipe hasil

Pengecualian

Konflik yang diberikan tidak dapat diambil.

get_throughput

Dapatkan objek ThroughputProperties untuk kontainer ini.

Jika tidak ada ThroughputProperties yang sudah ada untuk kontainer, pengecualian akan dimunculkan.

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

Parameter

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

Panggilan yang dipanggil dengan metadata respons.

Mengembalikan

ThroughputProperties untuk kontainer.

Tipe hasil

Pengecualian

Tidak ada properti throughput untuk kontainer atau properti throughput tidak dapat diambil.

list_conflicts

Cantumkan semua konflik dalam kontainer.

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

Parameter

max_item_count
int

Jumlah maksimum item yang akan dikembalikan dalam operasi enumerasi.

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

Panggilan yang dipanggil dengan metadata respons.

Mengembalikan

AsyncItemPaged dari konflik (dicts).

Tipe hasil

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

Pengecualian

Item dengan ID yang diberikan sudah ada.

patch_item

Metode provisi Menambal item yang ditentukan dengan operasi yang disediakan jika ada dalam kontainer.

Jika item belum ada dalam kontainer, pengecualian akan dinaikkan.

async patch_item(item: str | Dict[str, Any], partition_key: str | int | float | bool, patch_operations: List[Dict[str, Any]], **kwargs: Any) -> Dict[str, Any]

Parameter

item
Union[str, Dict[str, Any]]
Diperlukan

ID (nama) atau dict yang mewakili item yang akan di-patch.

partition_key
Union[str, int, float, bool]
Diperlukan

Kunci partisi objek untuk di-patch.

patch_operations
List[Dict[str, Any]]
Diperlukan

Daftar operasi patch yang akan diterapkan ke item.

filter_predicate
str

filter kondisional untuk diterapkan pada operasi Patch.

pre_trigger_include
str

id pemicu yang akan digunakan sebagai pemicu pra-operasi.

post_trigger_include
str

id pemicu yang akan digunakan sebagai pemicu pasca operasi.

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.

response_hook
Callable

Panggilan yang dipanggil dengan metadata respons.

Mengembalikan

Dict yang mewakili item setelah operasi patch dilalui.

Tipe hasil

Pengecualian

Operasi patch gagal atau item dengan id yang diberikan tidak ada.

query_conflicts

Mengembalikan semua konflik yang cocok dengan kueri tertentu.

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

Parameter

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

Kueri Azure Cosmos DB SQL untuk dijalankan.

parameters
List[Dict[str, Any]]

Array parameter opsional ke kueri. Diabaikan jika tidak ada kueri yang disediakan.

partition_key
Union[str, int, float, bool]

Menentukan nilai kunci partisi untuk item. Jika tidak ada yang diteruskan, kueri lintas partisi akan dijalankan.

max_item_count
int

Jumlah maksimum item yang akan dikembalikan dalam operasi enumerasi.

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

Panggilan yang dipanggil dengan metadata respons.

Mengembalikan

AsyncItemPaged dari konflik (dicts).

Tipe hasil

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

Pengecualian

Item dengan ID yang diberikan sudah ada.

query_items

Mengembalikan semua hasil yang cocok dengan kueri yang diberikan.

Anda dapat menggunakan nilai apa pun untuk nama kontainer dalam klausa FROM, tetapi sering kali nama kontainer digunakan. Dalam contoh di bawah ini, nama kontainer adalah "produk," dan diberi alias sebagai "p" untuk referensi yang lebih mudah dalam klausul WHERE.

token kelanjutan respons dalam respons kueri. Nilai yang valid adalah bilangan bulat positif. Nilai 0 sama dengan tidak meneruskan nilai (default tanpa batas). :kata kunci int max_integrated_cache_staleness_in_ms: Keusangan cache maks untuk cache terintegrasi di

Milidetik. Untuk akun yang dikonfigurasi untuk menggunakan cache terintegrasi, menggunakan konsistensi Sesi atau Akhir, respons dijamin tidak akan lebih lama dari nilai ini.

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

Mengembalikan

AsyncItemPaged item (dicts).

Tipe hasil

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

Pengecualian

Item dengan ID yang diberikan sudah ada.

Contoh

Dapatkan semua produk yang belum dihentikan:


           import json

           async for item in container.query_items(
                   query='SELECT * FROM products p WHERE p.productModel <> "DISCONTINUED"'
           ):
               print(json.dumps(item, indent=True))

Kueri berparameter untuk mendapatkan semua produk yang telah dihentikan:


           discontinued_items = container.query_items(
               query='SELECT * FROM products p WHERE p.productModel = @model AND p.productName="Widget"',
               parameters=[dict(name="@model", value="DISCONTINUED")],
           )
           async for item in discontinued_items:
               print(json.dumps(item, indent=True))

query_items_change_feed

Dapatkan daftar item yang diurutkan yang diubah, sesuai urutan perubahannya.

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

Parameter

is_start_from_beginning
bool

Dapatkan apakah umpan perubahan harus dimulai dari awal (benar) atau dari saat ini (salah). Secara default, ini dimulai dari saat ini (salah).

partition_key_range_id
str

Permintaan ChangeFeed dapat dijalankan terhadap rentang kunci partisi tertentu. Ini digunakan untuk memproses umpan perubahan secara paralel di beberapa konsumen.

continuation
str

e_tag nilai yang akan digunakan sebagai kelanjutan untuk membaca umpan perubahan.

max_item_count
int

Jumlah maksimum item yang akan dikembalikan dalam operasi enumerasi.

partition_key
Union[str, int, float, bool]

kunci partisi di mana permintaan ChangeFeed ditargetkan.

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

Panggilan yang dipanggil dengan metadata respons.

Mengembalikan

AsyncItemPaged item (dicts).

Tipe hasil

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

Pengecualian

Item dengan ID yang diberikan sudah ada.

read

Baca properti kontainer.

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

Parameter

populate_partition_key_range_statistics
bool

Aktifkan statistik rentang kunci partisi yang dikembalikan di header respons.

populate_quota_info
bool

Aktifkan mengembalikan informasi kuota penyimpanan koleksi di header respons.

session_token
str

Token untuk digunakan dengan konsistensi Sesi.

initial_headers
dict[str, str]

Header awal yang akan dikirim sebagai bagian dari permintaan.

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

Panggilan yang dipanggil dengan metadata respons.

Mengembalikan

Dict yang mewakili kontainer yang diambil.

Tipe hasil

Pengecualian

Dimunculkan jika kontainer tidak dapat diambil. Ini termasuk jika kontainer tidak ada.

read_all_items

Cantumkan semua item dalam kontainer.

read_all_items(**kwargs: Any) -> 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.

initial_headers
dict[str, str]

Header awal yang akan dikirim sebagai bagian dari permintaan.

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

Panggilan yang dipanggil dengan metadata respons.

max_integrated_cache_staleness_in_ms
int

Keusangan cache maksimum untuk cache terintegrasi dalam milidetik. Untuk akun yang dikonfigurasi untuk menggunakan cache terintegrasi, menggunakan konsistensi Sesi atau Akhir, respons dijamin tidak akan lebih lama dari nilai ini.

Mengembalikan

AsyncItemPaged item (dicts).

Tipe hasil

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

Pengecualian

Item dengan ID yang diberikan sudah ada.

read_item

Dapatkan item yang diidentifikasi berdasarkan item.

async read_item(item: str | Dict[str, Any], partition_key: str | int | float | bool, **kwargs: Any) -> Dict[str, Any]

Parameter

item
Union[str, Dict[str, Any]]
Diperlukan

ID (nama) atau dict yang mewakili item yang akan diambil.

partition_key
Union[str, int, float, bool]
Diperlukan

Kunci partisi untuk item yang akan diambil.

post_trigger_include
str

id pemicu yang akan digunakan sebagai pemicu pasca operasi.

session_token
str

Token untuk digunakan dengan konsistensi Sesi.

initial_headers
dict[str, str]

Header awal yang akan dikirim sebagai bagian dari permintaan.

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

Panggilan yang dipanggil dengan metadata respons.

max_integrated_cache_staleness_in_ms
int

Keusangan cache maksimum untuk cache terintegrasi dalam milidetik. Untuk akun yang dikonfigurasi untuk menggunakan cache terintegrasi, menggunakan konsistensi Sesi atau Akhir, respons dijamin tidak akan lebih lama dari nilai ini.

Mengembalikan

Dict mewakili item yang akan diambil.

Tipe hasil

Pengecualian

Item yang diberikan tidak dapat diambil.

Contoh

Dapatkan item dari database dan perbarui salah satu propertinya:


           item = await container.read_item("item2", partition_key="Widget")
           item["productModel"] = "DISCONTINUED"
           updated_item = await container.upsert_item(item)

replace_item

Menggantikan item yang ditentukan jika ada dalam kontainer.

Jika item belum ada dalam kontainer, pengecualian akan dinaikkan.

async replace_item(item: str | Dict[str, Any], body: Dict[str, Any], **kwargs: Any) -> Dict[str, Any]

Parameter

item
Union[str, Dict[str, Any]]
Diperlukan

ID (nama) atau dict yang mewakili item yang akan diganti.

body
Dict[str, Any]
Diperlukan

Objek seperti dikte yang mewakili item untuk diganti.

pre_trigger_include
str

id pemicu yang akan digunakan sebagai pemicu pra-operasi.

post_trigger_include
str

id pemicu yang akan digunakan sebagai pemicu pasca operasi.

session_token
str

Token untuk digunakan dengan konsistensi Sesi.

initial_headers
dict[str, str]

Header awal yang akan dikirim sebagai bagian dari permintaan.

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.

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

Panggilan yang dipanggil dengan metadata respons.

Mengembalikan

Dict yang mewakili item setelah penggantian dilalui.

Tipe hasil

Pengecualian

Penggantian gagal atau item dengan id yang diberikan tidak ada.

replace_throughput

Ganti throughput kontainer.

Jika tidak ada ThroughputProperties yang sudah ada untuk kontainer, pengecualian akan dinaikkan.

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

Parameter

throughput
Union[int, ThroughputProperties]
Diperlukan

Throughput yang akan diatur.

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

Panggilan yang dipanggil dengan metadata respons.

Mengembalikan

ThroughputProperties untuk kontainer, diperbarui dengan throughput baru.

Tipe hasil

Pengecualian

Tidak ada properti throughput untuk kontainer atau properti throughput tidak dapat diperbarui.

upsert_item

Sisipkan atau perbarui item yang ditentukan.

Jika item sudah ada dalam kontainer, item akan diganti. Jika item belum ada, item akan disisipkan.

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

Parameter

body
Dict[str, Any]
Diperlukan

Objek seperti dict yang mewakili item untuk diperbarui atau disisipkan.

pre_trigger_include
str

id pemicu yang akan digunakan sebagai pemicu pra-operasi.

post_trigger_include
str

id pemicu yang akan digunakan sebagai pemicu pasca operasi.

session_token
str

Token untuk digunakan dengan konsistensi Sesi.

initial_headers
dict[str, str]

Header awal yang akan dikirim sebagai bagian dari permintaan.

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.

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

Panggilan yang dipanggil dengan metadata respons.

Mengembalikan

Dict yang mewakili item upserted.

Tipe hasil

Pengecualian

Item yang diberikan tidak dapat di-upsert.

Atribut

is_system_key

scripts