QueueClient Kelas
Klien untuk berinteraksi dengan Antrean tertentu.
Untuk konfigurasi opsional lainnya, silakan klik di sini.
- Warisan
-
azure.storage.queue._shared.base_client.StorageAccountHostsMixinQueueClientazure.storage.queue._encryption.StorageEncryptionMixinQueueClient
Konstruktor
QueueClient(account_url: str, queue_name: str, credential: str | Dict[str, str] | AzureNamedKeyCredential | AzureSasCredential | TokenCredential | None = None, **kwargs: Any)
Parameter
- account_url
- str
URL ke akun penyimpanan. Untuk membuat klien yang diberikan URI penuh ke antrean, gunakan from_queue_url classmethod.
- credential
Kredensial yang digunakan untuk mengautentikasi. Ini opsional jika URL akun sudah memiliki token SAS. Nilainya dapat berupa string token SAS, instans AzureSasCredential atau AzureNamedKeyCredential dari azure.core.credentials, kunci akses bersama akun, atau instans kelas TokenCredentials dari azure.identity. Jika URI sumber daya sudah berisi token SAS, ini akan diabaikan demi kredensial eksplisit
- kecuali dalam kasus AzureSasCredential, di mana token SAS yang bertentangan akan memunculkan ValueError. Jika menggunakan instans AzureNamedKeyCredential, "nama" harus menjadi nama akun penyimpanan, dan "kunci" harus menjadi kunci akun penyimpanan.
- api_version
- str
Versi Storage API yang akan digunakan untuk permintaan. Nilai default adalah versi layanan terbaru yang kompatibel dengan SDK saat ini. Pengaturan ke versi yang lebih lama dapat mengakibatkan berkurangnya kompatibilitas fitur.
- secondary_hostname
- str
Nama host titik akhir sekunder.
- message_encode_policy
Kebijakan pengodean untuk digunakan pada pesan keluar. Defaultnya bukan untuk mengodekan pesan. Opsi lain termasuk TextBase64EncodePolicy, BinaryBase64EncodePolicy atau Tidak Ada.
- message_decode_policy
Kebijakan pendekodean yang akan digunakan pada pesan masuk. Nilai default bukan untuk mendekode pesan. Opsi lain termasuk TextBase64DecodePolicy, BinaryBase64DecodePolicy atau Tidak Ada.
- audience
- str
Audiens yang digunakan saat meminta token untuk autentikasi Azure Active Directory. Hanya memiliki efek ketika kredensial berjenis TokenCredential. Nilainya bisa ( https://storage.azure.com/ default) atau https://.queue.core.windows.net.
Contoh
Buat klien antrean dengan url dan kredensial.
token_auth_queue = QueueClient.from_queue_url(
queue_url=queue.url,
credential=sas_token
)
Metode
clear_messages |
Menghapus semua pesan dari antrean yang ditentukan. |
close |
Metode ini untuk menutup soket yang dibuka oleh klien. Ini tidak perlu digunakan saat menggunakan dengan manajer konteks. |
create_queue |
Membuat antrean baru di akun penyimpanan. Jika antrean dengan nama yang sama sudah ada, operasi gagal dengan ResourceExistsError. |
delete_message |
Menghapus pesan yang ditentukan. Biasanya setelah klien mengambil pesan dengan operasi terima pesan, klien diharapkan untuk memproses dan menghapus pesan. Untuk menghapus pesan, Anda harus memiliki objek pesan itu sendiri, atau dua item data: id dan pop_receipt. Id dikembalikan dari operasi receive_messages sebelumnya. pop_receipt dikembalikan dari yang terbaru receive_messages atau update_message operasi. Agar operasi delete_message berhasil, pop_receipt yang ditentukan pada permintaan harus cocok dengan pop_receipt yang dikembalikan dari receive_messages operasi atau update_message . |
delete_queue |
Menghapus antrean yang ditentukan dan pesan apa pun yang ada di dalamnya. Ketika antrean berhasil dihapus, antrean segera ditandai untuk dihapus dan tidak lagi dapat diakses oleh klien. Antrean kemudian dihapus dari layanan Antrean selama pengumpulan sampah. Perhatikan bahwa menghapus antrean kemungkinan akan memakan waktu setidaknya 40 detik untuk diselesaikan. Jika operasi dicoba terhadap antrean saat sedang dihapus, operasi <xref:azure.storage.queue.HttpResponseError> akan dilemparkan. |
from_connection_string |
Buat QueueClient dari String Koneksi. |
from_queue_url |
Klien untuk berinteraksi dengan Antrean tertentu. |
get_queue_access_policy |
Mengembalikan detail tentang kebijakan akses tersimpan yang ditentukan pada antrean yang dapat digunakan dengan Tanda Tangan Akses Bersama. |
get_queue_properties |
Mengembalikan semua metadata yang ditentukan pengguna untuk antrean yang ditentukan. Data yang dikembalikan tidak menyertakan daftar pesan antrean. |
peek_messages |
Mengambil satu atau beberapa pesan dari depan antrean, tetapi tidak mengubah visibilitas pesan. Hanya pesan yang terlihat yang dapat diambil. Ketika pesan diambil untuk pertama kalinya dengan panggilan ke receive_messages, properti dequeue_count diatur ke 1. Jika tidak dihapus dan kemudian diambil lagi, properti dequeue_count akan dinaikkan. Klien dapat menggunakan nilai ini untuk menentukan berapa kali pesan telah diambil. Perhatikan bahwa panggilan ke peek_messages tidak menambah nilai dequeue_count, tetapi mengembalikan nilai ini untuk dibaca klien. Jika bidang kunci-enkripsi-kunci atau resolver diatur pada objek layanan lokal, pesan akan didekripsi sebelum dikembalikan. |
receive_message |
Menghapus satu pesan dari depan antrean. Saat pesan diambil dari antrean, respons menyertakan konten pesan dan nilai pop_receipt, yang diperlukan untuk menghapus pesan. Pesan tidak dihapus secara otomatis dari antrean, tetapi setelah diambil, pesan tidak terlihat oleh klien lain untuk interval waktu yang ditentukan oleh parameter visibility_timeout. Jika bidang kunci-enkripsi-kunci atau resolver diatur pada objek layanan lokal, pesan akan didekripsi sebelum dikembalikan. |
receive_messages |
Menghapus satu atau beberapa pesan dari depan antrean. Saat pesan diambil dari antrean, respons menyertakan konten pesan dan nilai pop_receipt, yang diperlukan untuk menghapus pesan. Pesan tidak dihapus secara otomatis dari antrean, tetapi setelah diambil, pesan tidak terlihat oleh klien lain untuk interval waktu yang ditentukan oleh parameter visibility_timeout. Iterator akan terus mengambil pesan hingga antrean kosong atau max_messages tercapai (jika max_messages diatur). Jika bidang kunci-enkripsi-kunci atau resolver diatur pada objek layanan lokal, pesan akan didekripsi sebelum dikembalikan. |
send_message |
Menambahkan pesan baru ke bagian belakang antrean pesan. Batas waktu visibilitas menentukan waktu pesan tidak akan terlihat. Setelah batas waktu berakhir, pesan akan terlihat. Jika batas waktu visibilitas tidak ditentukan, nilai default 0 akan digunakan. Waktu hidup pesan menentukan berapa lama pesan akan tetap berada dalam antrean. Pesan akan dihapus dari antrean ketika periode time-to-live berakhir. Jika bidang kunci-enkripsi-kunci diatur pada objek layanan lokal, metode ini akan mengenkripsi konten sebelum mengunggah. |
set_queue_access_policy |
Mengatur kebijakan akses tersimpan untuk antrean yang dapat digunakan dengan Tanda Tangan Akses Bersama. Saat Anda mengatur izin untuk antrean, izin yang ada akan diganti. Untuk memperbarui izin antrean, panggil get_queue_access_policy untuk mengambil semua kebijakan akses yang terkait dengan antrean, ubah kebijakan akses yang ingin Anda ubah, lalu panggil fungsi ini dengan kumpulan data lengkap untuk melakukan pembaruan. Saat Anda membuat kebijakan akses tersimpan pada antrean, mungkin perlu waktu hingga 30 detik untuk diterapkan. Selama interval ini, tanda tangan akses bersama yang terkait dengan kebijakan akses tersimpan <xref:azure.storage.queue.HttpResponseError> akan melempar hingga kebijakan akses menjadi aktif. |
set_queue_metadata |
Mengatur metadata yang ditentukan pengguna pada antrean yang ditentukan. Metadata dikaitkan dengan antrean sebagai pasangan nama-nilai. |
update_message |
Updates batas waktu visibilitas pesan. Anda juga dapat menggunakan operasi ini untuk memperbarui konten pesan. Operasi ini dapat digunakan untuk terus memperluas tidak terlihatnya pesan antrean. Fungsionalitas ini dapat berguna jika Anda ingin peran pekerja "menyewa" pesan antrean. Misalnya, jika peran pekerja memanggil receive_messages dan mengenali bahwa ia membutuhkan lebih banyak waktu untuk memproses pesan, peran tersebut dapat terus memperluas ketidaksesuaian pesan hingga diproses. Jika peran pekerja gagal selama pemrosesan, akhirnya pesan akan terlihat lagi dan peran pekerja lain dapat memprosesnya. Jika bidang kunci-enkripsi-kunci diatur pada objek layanan lokal, metode ini akan mengenkripsi konten sebelum mengunggah. |
clear_messages
Menghapus semua pesan dari antrean yang ditentukan.
clear_messages(**kwargs: Any) -> None
Parameter
- timeout
- int
Mengatur batas waktu sisi server untuk operasi dalam hitung detik. Untuk detail selengkapnya, lihat https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations. Nilai ini tidak dilacak atau divalidasi pada klien. Untuk mengonfigurasi batas waktu jaringan sisi klien, lihat di sini.
Contoh
Menghapus semua pesan.
queue.clear_messages()
close
Metode ini untuk menutup soket yang dibuka oleh klien. Ini tidak perlu digunakan saat menggunakan dengan manajer konteks.
close()
create_queue
Membuat antrean baru di akun penyimpanan.
Jika antrean dengan nama yang sama sudah ada, operasi gagal dengan ResourceExistsError.
create_queue(*, metadata: Dict[str, str] | None = None, **kwargs: Any) -> None
Parameter
Dict yang berisi pasangan nama-nilai untuk dikaitkan dengan antrean sebagai metadata. Perhatikan bahwa nama metadata mempertahankan huruf besar/kecil seperti saat dibuat, tetapi tidak peka huruf besar/kecil saat diatur atau dibaca.
- timeout
- int
Mengatur batas waktu sisi server untuk operasi dalam hitung detik. Untuk detail selengkapnya, lihat https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations. Nilai ini tidak dilacak atau divalidasi pada klien. Untuk mengonfigurasi batas waktu jaringan sisi klien, lihat di sini.
Mengembalikan
Tidak ada atau hasil cls(respons)
Tipe hasil
Pengecualian
Contoh
Buat antrean.
queue.create_queue()
delete_message
Menghapus pesan yang ditentukan.
Biasanya setelah klien mengambil pesan dengan operasi terima pesan, klien diharapkan untuk memproses dan menghapus pesan. Untuk menghapus pesan, Anda harus memiliki objek pesan itu sendiri, atau dua item data: id dan pop_receipt. Id dikembalikan dari operasi receive_messages sebelumnya. pop_receipt dikembalikan dari yang terbaru receive_messages atau update_message operasi. Agar operasi delete_message berhasil, pop_receipt yang ditentukan pada permintaan harus cocok dengan pop_receipt yang dikembalikan dari receive_messages operasi atau update_message .
delete_message(message: str | QueueMessage, pop_receipt: str | None = None, **kwargs: Any) -> None
Parameter
- message
- str atau QueueMessage
Objek pesan atau id yang mengidentifikasi pesan yang akan dihapus.
- pop_receipt
- str
Nilai tanda terima pop yang valid dikembalikan dari panggilan sebelumnya ke receive_messages atau update_message.
- timeout
- int
Mengatur batas waktu sisi server untuk operasi dalam hitung detik. Untuk detail selengkapnya, lihat https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations. Nilai ini tidak dilacak atau divalidasi pada klien. Untuk mengonfigurasi batas waktu jaringan sisi klien, lihat di sini.
Contoh
Menghapus pesan.
# Get the message at the front of the queue
msg = next(queue.receive_messages())
# Delete the specified message
queue.delete_message(msg)
delete_queue
Menghapus antrean yang ditentukan dan pesan apa pun yang ada di dalamnya.
Ketika antrean berhasil dihapus, antrean segera ditandai untuk dihapus dan tidak lagi dapat diakses oleh klien. Antrean kemudian dihapus dari layanan Antrean selama pengumpulan sampah.
Perhatikan bahwa menghapus antrean kemungkinan akan memakan waktu setidaknya 40 detik untuk diselesaikan. Jika operasi dicoba terhadap antrean saat sedang dihapus, operasi <xref:azure.storage.queue.HttpResponseError> akan dilemparkan.
delete_queue(**kwargs: Any) -> None
Parameter
- timeout
- int
Mengatur batas waktu sisi server untuk operasi dalam hitung detik. Untuk detail selengkapnya, lihat https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations. Nilai ini tidak dilacak atau divalidasi pada klien. Untuk mengonfigurasi batas waktu jaringan sisi klien, lihat di sini.
Tipe hasil
Contoh
Menghapus antrean.
queue.delete_queue()
from_connection_string
Buat QueueClient dari String Koneksi.
from_connection_string(conn_str: str, queue_name: str, credential: str | Dict[str, str] | AzureNamedKeyCredential | AzureSasCredential | TokenCredential | None = None, **kwargs: Any) -> Self
Parameter
- credential
Kredensial yang digunakan untuk mengautentikasi. Ini bersifat opsional jika URL akun sudah memiliki token SAS, atau string koneksi sudah memiliki nilai kunci akses bersama. Nilainya dapat berupa string token SAS, instans AzureSasCredential atau AzureNamedKeyCredential dari azure.core.credentials, kunci akses bersama akun, atau instans kelas TokenCredentials dari azure.identity. Kredensial yang disediakan di sini akan lebih diutamakan daripada yang ada di string koneksi. Jika menggunakan instans AzureNamedKeyCredential, "nama" harus menjadi nama akun penyimpanan, dan "kunci" harus menjadi kunci akun penyimpanan.
- audience
- str
Audiens yang digunakan saat meminta token untuk autentikasi Azure Active Directory. Hanya memiliki efek ketika kredensial berjenis TokenCredential. Nilainya bisa ( https://storage.azure.com/ default) atau https://.queue.core.windows.net.
Mengembalikan
Klien antrean.
Tipe hasil
Contoh
Buat klien antrean dari string koneksi.
from azure.storage.queue import QueueClient
queue = QueueClient.from_connection_string(self.connection_string, "myqueue1")
from_queue_url
Klien untuk berinteraksi dengan Antrean tertentu.
from_queue_url(queue_url: str, credential: str | Dict[str, str] | AzureNamedKeyCredential | AzureSasCredential | TokenCredential | None = None, **kwargs: Any) -> Self
Parameter
- credential
Kredensial yang digunakan untuk mengautentikasi. Ini opsional jika URL akun sudah memiliki token SAS. Nilainya dapat berupa string token SAS, instans AzureSasCredential atau AzureNamedKeyCredential dari azure.core.credentials, kunci akses bersama akun, atau instans kelas TokenCredentials dari azure.identity. Jika URI sumber daya sudah berisi token SAS, ini akan diabaikan demi kredensial eksplisit
- kecuali dalam kasus AzureSasCredential, di mana token SAS yang bertentangan akan memunculkan ValueError. Jika menggunakan instans AzureNamedKeyCredential, "nama" harus menjadi nama akun penyimpanan, dan "kunci" harus menjadi kunci akun penyimpanan.
- audience
- str
Audiens yang digunakan saat meminta token untuk autentikasi Azure Active Directory. Hanya memiliki efek ketika kredensial berjenis TokenCredential. Nilainya bisa ( https://storage.azure.com/ default) atau https://.queue.core.windows.net.
Mengembalikan
Klien antrean.
Tipe hasil
get_queue_access_policy
Mengembalikan detail tentang kebijakan akses tersimpan yang ditentukan pada antrean yang dapat digunakan dengan Tanda Tangan Akses Bersama.
get_queue_access_policy(**kwargs: Any) -> Dict[str, AccessPolicy]
Parameter
- timeout
- int
Mengatur batas waktu sisi server untuk operasi dalam hitung detik. Untuk detail selengkapnya, lihat https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations. Nilai ini tidak dilacak atau divalidasi pada klien. Untuk mengonfigurasi batas waktu jaringan sisi klien, lihat di sini.
Mengembalikan
Kamus kebijakan akses yang terkait dengan antrean.
Tipe hasil
get_queue_properties
Mengembalikan semua metadata yang ditentukan pengguna untuk antrean yang ditentukan.
Data yang dikembalikan tidak menyertakan daftar pesan antrean.
get_queue_properties(**kwargs: Any) -> QueueProperties
Parameter
- timeout
- int
Parameter batas waktu dinyatakan dalam hitung detik.
Mengembalikan
Metadata yang ditentukan pengguna untuk antrean.
Tipe hasil
Contoh
Dapatkan properti pada antrean.
properties = queue.get_queue_properties().metadata
peek_messages
Mengambil satu atau beberapa pesan dari depan antrean, tetapi tidak mengubah visibilitas pesan.
Hanya pesan yang terlihat yang dapat diambil. Ketika pesan diambil untuk pertama kalinya dengan panggilan ke receive_messages, properti dequeue_count diatur ke 1. Jika tidak dihapus dan kemudian diambil lagi, properti dequeue_count akan dinaikkan. Klien dapat menggunakan nilai ini untuk menentukan berapa kali pesan telah diambil. Perhatikan bahwa panggilan ke peek_messages tidak menambah nilai dequeue_count, tetapi mengembalikan nilai ini untuk dibaca klien.
Jika bidang kunci-enkripsi-kunci atau resolver diatur pada objek layanan lokal, pesan akan didekripsi sebelum dikembalikan.
peek_messages(max_messages: int | None = None, **kwargs: Any) -> List[QueueMessage]
Parameter
- max_messages
- int
Nilai bilangan bulat bukan nol yang menentukan jumlah pesan yang akan diintip dari antrean, hingga maksimum 32. Secara default, satu pesan diintip dari antrean dengan operasi ini.
- timeout
- int
Mengatur batas waktu sisi server untuk operasi dalam hitung detik. Untuk detail selengkapnya, lihat https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations. Nilai ini tidak dilacak atau divalidasi pada klien. Untuk mengonfigurasi batas waktu jaringan sisi klien, lihat di sini.
Mengembalikan
Daftar objek QueueMessage. Perhatikan bahwa next_visible_on dan pop_receipt tidak akan diisi karena cuplikan tidak memunculkan pesan dan hanya dapat mengambil pesan yang sudah terlihat.
Tipe hasil
Contoh
Intip pesan.
# Peek at one message at the front of the queue
msg = queue.peek_messages()
# Peek at the last 5 messages
messages = queue.peek_messages(max_messages=5)
# Print the last 5 messages
for message in messages:
print(message.content)
receive_message
Menghapus satu pesan dari depan antrean.
Saat pesan diambil dari antrean, respons menyertakan konten pesan dan nilai pop_receipt, yang diperlukan untuk menghapus pesan. Pesan tidak dihapus secara otomatis dari antrean, tetapi setelah diambil, pesan tidak terlihat oleh klien lain untuk interval waktu yang ditentukan oleh parameter visibility_timeout.
Jika bidang kunci-enkripsi-kunci atau resolver diatur pada objek layanan lokal, pesan akan didekripsi sebelum dikembalikan.
receive_message(*, visibility_timeout: int | None = None, **kwargs: Any) -> QueueMessage | None
Parameter
- visibility_timeout
- int
Jika tidak ditentukan, nilai defaultnya adalah 30. Menentukan nilai batas waktu visibilitas baru, dalam hitungan detik, relatif terhadap waktu server. Nilai harus lebih besar dari atau sama dengan 1, dan tidak boleh lebih besar dari 7 hari. Batas waktu visibilitas pesan tidak dapat diatur ke nilai lebih lambat dari waktu kedaluwarsa. visibility_timeout harus diatur ke nilai yang lebih kecil dari nilai time-to-live.
- timeout
- int
Mengatur batas waktu sisi server untuk operasi dalam hitung detik. Untuk detail selengkapnya, lihat https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations. Nilai ini tidak dilacak atau divalidasi pada klien. Untuk mengonfigurasi batas waktu jaringan sisi klien, lihat di sini.
Mengembalikan
Mengembalikan pesan dari Antrean atau Tidak Ada jika Antrean kosong.
Tipe hasil
Contoh
Menerima satu pesan dari antrean.
# Pop two messages from the front of the queue
message1 = queue.receive_message()
message2 = queue.receive_message()
# We should see message 3 if we peek
message3 = queue.peek_messages()[0]
if not message1 or not message2 or not message3:
raise ValueError("One of the messages are None.")
print(message1.content)
print(message2.content)
print(message3.content)
receive_messages
Menghapus satu atau beberapa pesan dari depan antrean.
Saat pesan diambil dari antrean, respons menyertakan konten pesan dan nilai pop_receipt, yang diperlukan untuk menghapus pesan. Pesan tidak dihapus secara otomatis dari antrean, tetapi setelah diambil, pesan tidak terlihat oleh klien lain untuk interval waktu yang ditentukan oleh parameter visibility_timeout. Iterator akan terus mengambil pesan hingga antrean kosong atau max_messages tercapai (jika max_messages diatur).
Jika bidang kunci-enkripsi-kunci atau resolver diatur pada objek layanan lokal, pesan akan didekripsi sebelum dikembalikan.
receive_messages(*, messages_per_page: int | None = None, visibility_timeout: int | None = None, max_messages: int | None = None, **kwargs: Any) -> ItemPaged[QueueMessage]
Parameter
- visibility_timeout
- int
Jika tidak ditentukan, nilai defaultnya adalah 30. Menentukan nilai batas waktu visibilitas baru, dalam hitungan detik, relatif terhadap waktu server. Nilai harus lebih besar dari atau sama dengan 1, dan tidak boleh lebih besar dari 7 hari. Batas waktu visibilitas pesan tidak dapat diatur ke nilai lebih lambat dari waktu kedaluwarsa. visibility_timeout harus diatur ke nilai yang lebih kecil dari nilai time-to-live.
- max_messages
- int
Bilangan bulat yang menentukan jumlah maksimum pesan yang akan diambil dari antrean.
- timeout
- int
Mengatur batas waktu sisi server untuk operasi dalam hitung detik. Untuk detail selengkapnya, lihat https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations. Nilai ini tidak dilacak atau divalidasi pada klien. Untuk mengonfigurasi batas waktu jaringan sisi klien, lihat di sini.
Mengembalikan
Mengembalikan iterator pesan dari objek Pesan seperti dikte.
Tipe hasil
Contoh
Menerima pesan dari antrean.
# Receive messages one-by-one
messages = queue.receive_messages()
for msg in messages:
print(msg.content)
# Receive messages by batch
messages = queue.receive_messages(messages_per_page=5)
for msg_batch in messages.by_page():
for msg in msg_batch:
print(msg.content)
queue.delete_message(msg)
send_message
Menambahkan pesan baru ke bagian belakang antrean pesan.
Batas waktu visibilitas menentukan waktu pesan tidak akan terlihat. Setelah batas waktu berakhir, pesan akan terlihat. Jika batas waktu visibilitas tidak ditentukan, nilai default 0 akan digunakan.
Waktu hidup pesan menentukan berapa lama pesan akan tetap berada dalam antrean. Pesan akan dihapus dari antrean ketika periode time-to-live berakhir.
Jika bidang kunci-enkripsi-kunci diatur pada objek layanan lokal, metode ini akan mengenkripsi konten sebelum mengunggah.
send_message(content: object | None, *, visibility_timeout: int | None = None, time_to_live: int | None = None, **kwargs: Any) -> QueueMessage
Parameter
Konten pesan. Jenis yang diizinkan ditentukan oleh encode_function yang ditetapkan pada layanan. Defaultnya adalah str. Pesan yang dikodekan dapat berukuran hingga 64KB.
- visibility_timeout
- int
Jika tidak ditentukan, nilai defaultnya adalah 0. Menentukan nilai batas waktu visibilitas baru, dalam hitungan detik, relatif terhadap waktu server. Nilai harus lebih besar dari atau sama dengan 0, dan tidak boleh lebih besar dari 7 hari. Batas waktu visibilitas pesan tidak dapat diatur ke nilai lebih lambat dari waktu kedaluwarsa. visibility_timeout harus diatur ke nilai yang lebih kecil dari nilai time-to-live.
- time_to_live
- int
Menentukan interval time-to-live untuk pesan, dalam hitungan detik. Waktu hidup mungkin berupa angka positif atau -1 untuk tak terbatas. Jika parameter ini dihilangkan, waktu hidup default adalah 7 hari.
- timeout
- int
Mengatur batas waktu sisi server untuk operasi dalam hitung detik. Untuk detail selengkapnya, lihat https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations. Nilai ini tidak dilacak atau divalidasi pada klien. Untuk mengonfigurasi batas waktu jaringan sisi klien, lihat di sini.
Mengembalikan
Objek QueueMessage. Objek ini juga diisi dengan konten meskipun tidak dikembalikan dari layanan.
Tipe hasil
Contoh
Kirim pesan.
queue.send_message("message1")
queue.send_message("message2", visibility_timeout=30) # wait 30s before becoming visible
queue.send_message("message3")
queue.send_message("message4")
queue.send_message("message5")
set_queue_access_policy
Mengatur kebijakan akses tersimpan untuk antrean yang dapat digunakan dengan Tanda Tangan Akses Bersama.
Saat Anda mengatur izin untuk antrean, izin yang ada akan diganti. Untuk memperbarui izin antrean, panggil get_queue_access_policy untuk mengambil semua kebijakan akses yang terkait dengan antrean, ubah kebijakan akses yang ingin Anda ubah, lalu panggil fungsi ini dengan kumpulan data lengkap untuk melakukan pembaruan.
Saat Anda membuat kebijakan akses tersimpan pada antrean, mungkin perlu waktu hingga 30 detik untuk diterapkan. Selama interval ini, tanda tangan akses bersama yang terkait dengan kebijakan akses tersimpan <xref:azure.storage.queue.HttpResponseError> akan melempar hingga kebijakan akses menjadi aktif.
set_queue_access_policy(signed_identifiers: Dict[str, AccessPolicy], **kwargs: Any) -> None
Parameter
- signed_identifiers
- Dict[str, AccessPolicy]
Kebijakan akses SignedIdentifier untuk dikaitkan dengan antrean. Ini mungkin berisi hingga 5 elemen. Dict kosong akan menghapus kebijakan akses yang ditetapkan pada layanan.
- timeout
- int
Mengatur batas waktu sisi server untuk operasi dalam hitung detik. Untuk detail selengkapnya, lihat https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations. Nilai ini tidak dilacak atau divalidasi pada klien. Untuk mengonfigurasi batas waktu jaringan sisi klien, lihat di sini.
Contoh
Tetapkan kebijakan akses pada antrean.
# Create an access policy
from azure.storage.queue import AccessPolicy, QueueSasPermissions
access_policy = AccessPolicy()
access_policy.start = datetime.utcnow() - timedelta(hours=1)
access_policy.expiry = datetime.utcnow() + timedelta(hours=1)
access_policy.permission = QueueSasPermissions(read=True)
identifiers = {'my-access-policy-id': access_policy}
# Set the access policy
queue.set_queue_access_policy(identifiers)
set_queue_metadata
Mengatur metadata yang ditentukan pengguna pada antrean yang ditentukan.
Metadata dikaitkan dengan antrean sebagai pasangan nama-nilai.
set_queue_metadata(metadata: Dict[str, str] | None = None, **kwargs: Any) -> Dict[str, Any]
Parameter
Dict yang berisi pasangan nama-nilai untuk dikaitkan dengan antrean sebagai metadata.
- timeout
- int
Mengatur batas waktu sisi server untuk operasi dalam hitung detik. Untuk detail selengkapnya, lihat https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations. Nilai ini tidak dilacak atau divalidasi pada klien. Untuk mengonfigurasi batas waktu jaringan sisi klien, lihat di sini.
Mengembalikan
Kamus header respons.
Tipe hasil
Contoh
Atur metadata pada antrean.
metadata = {'foo': 'val1', 'bar': 'val2', 'baz': 'val3'}
queue.set_queue_metadata(metadata=metadata)
update_message
Updates batas waktu visibilitas pesan. Anda juga dapat menggunakan operasi ini untuk memperbarui konten pesan.
Operasi ini dapat digunakan untuk terus memperluas tidak terlihatnya pesan antrean. Fungsionalitas ini dapat berguna jika Anda ingin peran pekerja "menyewa" pesan antrean. Misalnya, jika peran pekerja memanggil receive_messages dan mengenali bahwa ia membutuhkan lebih banyak waktu untuk memproses pesan, peran tersebut dapat terus memperluas ketidaksesuaian pesan hingga diproses. Jika peran pekerja gagal selama pemrosesan, akhirnya pesan akan terlihat lagi dan peran pekerja lain dapat memprosesnya.
Jika bidang kunci-enkripsi-kunci diatur pada objek layanan lokal, metode ini akan mengenkripsi konten sebelum mengunggah.
update_message(message: str | QueueMessage, pop_receipt: str | None = None, content: object | None = None, *, visibility_timeout: int | None = None, **kwargs: Any) -> QueueMessage
Parameter
- message
- str atau QueueMessage
Objek pesan atau id yang mengidentifikasi pesan yang akan diperbarui.
- pop_receipt
- str
Nilai tanda terima pop yang valid dikembalikan dari panggilan sebelumnya ke receive_messages operasi atau update_message .
Konten pesan. Jenis yang diizinkan ditentukan oleh encode_function yang ditetapkan pada layanan. Defaultnya adalah str.
- visibility_timeout
- int
Menentukan nilai batas waktu visibilitas baru, dalam hitungan detik, relatif terhadap waktu server. Nilai baru harus lebih besar dari atau sama dengan 0, dan tidak boleh lebih besar dari 7 hari. Batas waktu visibilitas pesan tidak dapat diatur ke nilai lebih lambat dari waktu kedaluwarsa. Pesan dapat diperbarui hingga pesan dihapus atau telah kedaluwarsa. Objek pesan atau id pesan yang mengidentifikasi pesan yang akan diperbarui.
- timeout
- int
Mengatur batas waktu sisi server untuk operasi dalam hitung detik. Untuk detail selengkapnya, lihat https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations. Nilai ini tidak dilacak atau divalidasi pada klien. Untuk mengonfigurasi batas waktu jaringan sisi klien, lihat di sini.
Mengembalikan
Objek QueueMessage. Untuk kenyamanan, objek ini juga diisi dengan konten, meskipun tidak dikembalikan oleh layanan.
Tipe hasil
Contoh
Memperbarui pesan.
# Send a message
queue.send_message("update me")
# Receive the message
messages = queue.receive_messages()
# Update the message
list_result = next(messages)
message = queue.update_message(
list_result.id,
pop_receipt=list_result.pop_receipt,
visibility_timeout=0,
content="updated")
Atribut
api_version
location_mode
Mode lokasi yang saat ini digunakan klien.
Secara default ini akan menjadi "primer". Opsi termasuk "primer" dan "sekunder".
Tipe hasil
primary_endpoint
primary_hostname
secondary_endpoint
URL titik akhir sekunder penuh jika dikonfigurasi.
Jika tidak tersedia, ValueError akan dinaikkan. Untuk menentukan nama host sekunder secara eksplisit, gunakan argumen kata kunci secondary_hostname opsional pada instansiasi.
Tipe hasil
Pengecualian
secondary_hostname
Nama host titik akhir sekunder.
Jika tidak tersedia, ini tidak akan ada. Untuk menentukan nama host sekunder secara eksplisit, gunakan argumen kata kunci secondary_hostname opsional pada instansiasi.
Tipe hasil
url
URL titik akhir lengkap untuk entitas ini, termasuk token SAS jika digunakan.
Ini bisa berupa titik akhir utama, atau titik akhir sekunder tergantung pada saat ini location_mode. :returns: URL titik akhir lengkap ke entitas ini, termasuk token SAS jika digunakan. :rtype: str
Azure SDK for Python