Bagikan melalui


QueueClient Kelas

Klien untuk berinteraksi dengan Antrean tertentu.

Untuk konfigurasi opsional lainnya, silakan klik di sini.

Warisan
azure.storage.queue._shared.base_client.StorageAccountHostsMixin
QueueClient
azure.storage.queue._encryption.StorageEncryptionMixin
QueueClient

Konstruktor

QueueClient(account_url: str, queue_name: str, credential: str | Dict[str, str] | AzureNamedKeyCredential | AzureSasCredential | TokenCredential | None = None, **kwargs: Any)

Parameter

account_url
str
Diperlukan

URL ke akun penyimpanan. Untuk membuat klien yang diberikan URI penuh ke antrean, gunakan from_queue_url classmethod.

queue_name
str
Diperlukan

Nama antrean.

credential
nilai default: None

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

metadata
Dict[str,str]

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

StorageErrorException

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
Diperlukan

Objek pesan atau id yang mengidentifikasi pesan yang akan dihapus.

pop_receipt
str
Diperlukan

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

conn_str
str
Diperlukan

string koneksi ke akun Azure Storage.

queue_name
str
Diperlukan

Nama antrean.

credential
nilai default: None

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

queue_url
str
Diperlukan

URI penuh ke antrean, termasuk token SAS jika digunakan.

credential
nilai default: None

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
Diperlukan

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

content
Optional[object]
Diperlukan

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]
Diperlukan

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

metadata
Optional[Dict[str, str]]
Diperlukan

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
Diperlukan

Objek pesan atau id yang mengidentifikasi pesan yang akan diperbarui.

pop_receipt
str
Diperlukan

Nilai tanda terima pop yang valid dikembalikan dari panggilan sebelumnya ke receive_messages operasi atau update_message .

content
Optional[object]
Diperlukan

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

Versi Api Penyimpanan yang digunakan untuk permintaan.

Tipe hasil

str

location_mode

Mode lokasi yang saat ini digunakan klien.

Secara default ini akan menjadi "primer". Opsi termasuk "primer" dan "sekunder".

Tipe hasil

str

primary_endpoint

URL titik akhir utama lengkap.

Tipe hasil

str

primary_hostname

Nama host titik akhir utama.

Tipe hasil

str

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

str

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