次の方法で共有


QueueClient クラス

特定のキューと対話するクライアント。

その他のオプションの構成については、 ここをクリックしてください。

継承
azure.storage.queue._shared.base_client.StorageAccountHostsMixin
QueueClient
azure.storage.queue._encryption.StorageEncryptionMixin
QueueClient

コンストラクター

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

パラメーター

account_url
str
必須

ストレージ アカウントの URL。 キューへの完全な URI を指定してクライアントを作成するには、 クラスメソッドを使用します from_queue_url

queue_name
str
必須

キューの名前。

credential
既定値: None

認証に使用する資格情報。 アカウント URL に SAS トークンが既に含まれている場合、これは省略可能です。 値には、SAS トークン文字列、azure.core.credentials の AzureSasCredential または AzureNamedKeyCredential のインスタンス、アカウント共有アクセス キー、または azure.identity からの TokenCredentials クラスのインスタンスを指定できます。 リソース URI に SAS トークンが既に含まれている場合、明示的な資格情報を優先して無視されます

  • ただし、競合する SAS トークンによって ValueError が発生する AzureSasCredential の場合を除きます。 AzureNamedKeyCredential のインスタンスを使用する場合は、"name" をストレージ アカウント名に、"key" をストレージ アカウント キーにする必要があります。
api_version
str

要求に使用する Storage API バージョン。 既定値は、現在の SDK と互換性のある最新のサービス バージョンです。 古いバージョンに設定すると、機能の互換性が低下する可能性があります。

secondary_hostname
str

セカンダリ エンドポイントのホスト名。

message_encode_policy

送信メッセージで使用するエンコード ポリシー。 既定では、メッセージはエンコードされません。 その他のオプションには、 TextBase64EncodePolicyBinaryBase64EncodePolicy または None があります

message_decode_policy

受信メッセージで使用するデコード ポリシー。 既定値は、メッセージをデコードしません。 その他のオプションには、 TextBase64DecodePolicyBinaryBase64DecodePolicy または None があります

audience
str

Azure Active Directory 認証のトークンを要求するときに使用する対象ユーザー。 資格情報が TokenCredential 型の場合にのみ有効です。 値は (既定値) または https://.queue.core.windows.net にすることができますhttps://storage.azure.com/

URL と資格情報を使用してキュー クライアントを作成します。


   token_auth_queue = QueueClient.from_queue_url(
       queue_url=queue.url,
       credential=sas_token
   )

メソッド

clear_messages

指定したキューからすべてのメッセージを削除します。

close

このメソッドは、クライアントによって開かれたソケットを閉じる方法です。 コンテキスト マネージャーで を使用する場合は使用する必要はありません。

create_queue

ストレージ アカウントに新しいキューを作成します。

同じ名前のキューが既に存在する場合、 操作は ResourceExistsError で失敗します。

delete_message

指定したメッセージを削除します。

通常、クライアントがメッセージの受信操作を使用してメッセージを取得した後、クライアントはメッセージを処理および削除する必要があります。 メッセージを削除するには、メッセージ オブジェクト自体、または id と pop_receipt の 2 つのデータ項目が必要です。 ID は、前のreceive_messages操作から返されます。 pop_receiptは、最新 receive_messages または update_message 操作から返されます。 delete_message操作を成功させるには、要求で指定されたpop_receiptが、 または update_message 操作からreceive_messages返されたpop_receiptと一致している必要があります。

delete_queue

指定したキューとそのキューに含まれるすべてのメッセージを削除します。

キューが正常に削除されると、キューはすぐに削除対象としてマークされ、クライアントからアクセスできなくなります。 このキューは、後でガベージ コレクション中にキュー サービスから削除されます。

キューを削除すると、完了するまでに少なくとも 40 秒かかる可能性があることに注意してください。 削除中にキューに対して操作が試行されると、 <xref:azure.storage.queue.HttpResponseError> がスローされます。

from_connection_string

接続文字列から QueueClient を作成します。

from_queue_url

特定のキューと対話するクライアント。

get_queue_access_policy

Shared Access Signature で使用できるキューで指定された格納されているアクセス ポリシーの詳細を返します。

get_queue_properties

指定したキューのすべてのユーザー定義メタデータを返します。

返されるデータには、キューのメッセージの一覧は含まれません。

peek_messages

キューの先頭から 1 つ以上のメッセージを取得しますが、メッセージの可視性は変更しません。

表示されているメッセージのみを取得できます。 への呼び出し receive_messagesでメッセージが初めて取得されると、そのdequeue_count プロパティは 1 に設定されます。 削除されず、その後再度取得された場合は、dequeue_count プロパティがインクリメントされます。 クライアントはこの値を使用して、メッセージが取得された回数を確認できます。 peek_messagesの呼び出しでは、dequeue_countの値はインクリメントされませんが、クライアントが読み取るためのこの値を返します。

キー暗号化キーまたはリゾルバー フィールドがローカル サービス オブジェクトに設定されている場合、メッセージは返される前に復号化されます。

receive_message

キューの先頭から 1 つのメッセージを削除します。

メッセージがキューから取得されると、応答にはメッセージの内容と、メッセージを削除するために必要なpop_receipt値が含まれます。 メッセージはキューから自動的に削除されませんが、取得後、visibility_timeout パラメーターで指定された時間間隔の間、他のクライアントには表示されません。

ローカル サービス オブジェクトに key-encryption-key または resolver フィールドが設定されている場合、メッセージは復号化されてから返されます。

receive_messages

キューの先頭から 1 つ以上のメッセージを削除します。

メッセージがキューから取得されると、応答にはメッセージの内容と、メッセージを削除するために必要なpop_receipt値が含まれます。 メッセージはキューから自動的に削除されませんが、取得後、visibility_timeout パラメーターで指定された時間間隔の間、他のクライアントには表示されません。 反復子は、キューが空であるか、max_messagesに達するまで (max_messagesが設定されている場合)、メッセージを継続的にフェッチします。

キー暗号化キーまたはリゾルバー フィールドがローカル サービス オブジェクトに設定されている場合、メッセージは返される前に復号化されます。

send_message

メッセージ キューの背面に新しいメッセージを追加します。

可視性のタイムアウトは、メッセージが非表示になる時間を指定します。 タイムアウトになったら、メッセージが表示されるようになります。 表示タイムアウトを指定していない場合、既定値の 0 が使用されます。

メッセージの有効期間は、メッセージがキューに残る期間を指定します。 有効期限が切れると、メッセージがキューから削除されます。

key-encryption-key フィールドがローカル サービス オブジェクトに設定されている場合、このメソッドはアップロードする前にコンテンツを暗号化します。

set_queue_access_policy

共有アクセス署名で使用できるキューの保存されているアクセス ポリシーを設定します。

キューのアクセス許可を設定すると、既存のアクセス許可が置き換えられます。 キューのアクセス許可を更新するには、 を呼び出 get_queue_access_policy して、キューに関連付けられているすべてのアクセス ポリシーをフェッチし、変更するアクセス ポリシーを変更してから、更新を実行するデータの完全なセットでこの関数を呼び出します。

保存されているアクセス ポリシーをキューに設定したときには、有効になるまでに最大で 30 秒かかる場合があります。 この間、格納されているアクセス ポリシーに関連付けられている共有アクセス署名は、アクセス ポリシーがアクティブになるまで を <xref:azure.storage.queue.HttpResponseError> スローします。

set_queue_metadata

指定したキューにユーザー定義メタデータを設定します。

メタデータは、名前と値のペアとしてキューに関連付けられます。

update_message

メッセージの可視性タイムアウトを更新します。 この操作を使用して、メッセージの内容を更新することもできます。

この操作を使用すると、キュー メッセージの非表示を継続的に拡張できます。 この機能は、ワーカー ロールでキュー メッセージを "リース" する場合に便利です。 たとえば、ワーカー ロールがを呼び出 receive_messages し、メッセージの処理に時間が必要であると認識した場合、メッセージが処理されるまでメッセージの非表示を継続的に拡張できます。 処理中にワーカー ロールでエラーが発生しても、最終的にはメッセージが再び参照できるようになるため、別のワーカー ロールがその処理を行うことができます。

key-encryption-key フィールドがローカル サービス オブジェクトに設定されている場合、このメソッドはアップロードする前にコンテンツを暗号化します。

clear_messages

指定したキューからすべてのメッセージを削除します。

clear_messages(**kwargs: Any) -> None

パラメーター

timeout
int

操作のサーバー側タイムアウトを秒単位で設定します。 詳細については、 https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations を参照してください。 この値は、クライアントで追跡または検証されません。 クライアント側のネットワーク タイムアウトを構成するには、 こちらを参照してください。

すべてのメッセージをクリアします。


   queue.clear_messages()

close

このメソッドは、クライアントによって開かれたソケットを閉じる方法です。 コンテキスト マネージャーで を使用する場合は使用する必要はありません。

close()

create_queue

ストレージ アカウントに新しいキューを作成します。

同じ名前のキューが既に存在する場合、 操作は ResourceExistsError で失敗します。

create_queue(*, metadata: Dict[str, str] | None = None, **kwargs: Any) -> None

パラメーター

metadata
Dict[str,str]

メタデータとしてキューに関連付ける名前と値のペアを含む dict。 メタデータ名の作成時に指定された大文字と小文字の違いは維持されますが、設定時または読み取り時には大文字と小文字は区別されません。

timeout
int

操作のサーバー側タイムアウトを秒単位で設定します。 詳細については、 https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations を参照してください。 この値は、クライアントで追跡または検証されません。 クライアント側のネットワーク タイムアウトを構成するには、 こちらを参照してください。

戻り値

なしまたは cls(response) の結果

の戻り値の型 :

例外

StorageErrorException

キューを作成します。


   queue.create_queue()

delete_message

指定したメッセージを削除します。

通常、クライアントがメッセージの受信操作を使用してメッセージを取得した後、クライアントはメッセージを処理および削除する必要があります。 メッセージを削除するには、メッセージ オブジェクト自体、または id と pop_receipt の 2 つのデータ項目が必要です。 ID は、前のreceive_messages操作から返されます。 pop_receiptは、最新 receive_messages または update_message 操作から返されます。 delete_message操作を成功させるには、要求で指定されたpop_receiptが、 または update_message 操作からreceive_messages返されたpop_receiptと一致している必要があります。

delete_message(message: str | QueueMessage, pop_receipt: str | None = None, **kwargs: Any) -> None

パラメーター

message
str または QueueMessage
必須

削除するメッセージを識別するメッセージ オブジェクトまたは ID。

pop_receipt
str
必須

または update_messageへの以前の呼び出しreceive_messagesから返された有効なポップレシート値。

timeout
int

操作のサーバー側タイムアウトを秒単位で設定します。 詳細については、 https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations を参照してください。 この値は、クライアントで追跡または検証されません。 クライアント側のネットワーク タイムアウトを構成するには、 こちらを参照してください。

メッセージを削除します。


   # Get the message at the front of the queue
   msg = next(queue.receive_messages())

   # Delete the specified message
   queue.delete_message(msg)

delete_queue

指定したキューとそのキューに含まれるすべてのメッセージを削除します。

キューが正常に削除されると、キューはすぐに削除対象としてマークされ、クライアントからアクセスできなくなります。 このキューは、後でガベージ コレクション中にキュー サービスから削除されます。

キューを削除すると、完了するまでに少なくとも 40 秒かかる可能性があることに注意してください。 削除中にキューに対して操作が試行されると、 <xref:azure.storage.queue.HttpResponseError> がスローされます。

delete_queue(**kwargs: Any) -> None

パラメーター

timeout
int

操作のサーバー側タイムアウトを秒単位で設定します。 詳細については、 https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations を参照してください。 この値は、クライアントで追跡または検証されません。 クライアント側のネットワーク タイムアウトを構成するには、 こちらを参照してください。

の戻り値の型 :

キューを削除します。


   queue.delete_queue()

from_connection_string

接続文字列から QueueClient を作成します。

from_connection_string(conn_str: str, queue_name: str, credential: str | Dict[str, str] | AzureNamedKeyCredential | AzureSasCredential | TokenCredential | None = None, **kwargs: Any) -> Self

パラメーター

conn_str
str
必須

Azure Storage アカウントへの接続文字列。

queue_name
str
必須

キュー名。

credential
既定値: None

認証に使用する資格情報。 これは、アカウント URL に既に SAS トークンがある場合、または接続文字列に既に共有アクセス キー値がある場合は省略可能です。 値には、SAS トークン文字列、azure.core.credentials の AzureSasCredential または AzureNamedKeyCredential のインスタンス、アカウント共有アクセス キー、または azure.identity からの TokenCredentials クラスのインスタンスを指定できます。 ここで指定した資格情報は、接続文字列の資格情報よりも優先されます。 AzureNamedKeyCredential のインスタンスを使用する場合は、"name" をストレージ アカウント名に、"key" をストレージ アカウント キーにする必要があります。

audience
str

Azure Active Directory 認証のトークンを要求するときに使用する対象ユーザー。 資格情報が TokenCredential 型の場合にのみ有効です。 値は (既定値) または https://.queue.core.windows.net にすることができますhttps://storage.azure.com/

戻り値

キュー クライアント。

の戻り値の型 :

接続文字列からキュー クライアントを作成します。


   from azure.storage.queue import QueueClient
   queue = QueueClient.from_connection_string(self.connection_string, "myqueue1")

from_queue_url

特定のキューと対話するクライアント。

from_queue_url(queue_url: str, credential: str | Dict[str, str] | AzureNamedKeyCredential | AzureSasCredential | TokenCredential | None = None, **kwargs: Any) -> Self

パラメーター

queue_url
str
必須

SAS トークン (使用されている場合) を含む、キューへの完全な URI。

credential
既定値: None

認証に使用する資格情報。 アカウント URL に SAS トークンが既に含まれている場合、これは省略可能です。 値には、SAS トークン文字列、azure.core.credentials の AzureSasCredential または AzureNamedKeyCredential のインスタンス、アカウント共有アクセス キー、または azure.identity の TokenCredentials クラスのインスタンスを指定できます。 リソース URI に SAS トークンが既に含まれている場合、明示的な資格情報を優先して無視されます

  • 競合する SAS トークンによって ValueError が発生する AzureSasCredential の場合を除きます。 AzureNamedKeyCredential のインスタンスを使用する場合は、"name" をストレージ アカウント名に、"key" をストレージ アカウント キーにする必要があります。
audience
str

Azure Active Directory 認証のトークンを要求するときに使用する対象ユーザー。 資格情報が TokenCredential 型の場合にのみ有効です。 値は (既定値) または https://.queue.core.windows.net にすることができますhttps://storage.azure.com/

戻り値

キュー クライアント。

の戻り値の型 :

get_queue_access_policy

Shared Access Signature で使用できるキューで指定された格納されているアクセス ポリシーの詳細を返します。

get_queue_access_policy(**kwargs: Any) -> Dict[str, AccessPolicy]

パラメーター

timeout
int

操作のサーバー側タイムアウトを秒単位で設定します。 詳細については、 https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations を参照してください。 この値は、クライアントで追跡または検証されません。 クライアント側のネットワーク タイムアウトを構成するには、 こちらを参照してください

戻り値

キューに関連付けられているアクセス ポリシーのディクショナリ。

の戻り値の型 :

get_queue_properties

指定したキューのすべてのユーザー定義メタデータを返します。

返されるデータには、キューのメッセージの一覧は含まれません。

get_queue_properties(**kwargs: Any) -> QueueProperties

パラメーター

timeout
int

timeout パラメーターは、秒単位で表されます。

戻り値

キューのユーザー定義メタデータ。

の戻り値の型 :

キューのプロパティを取得します。


   properties = queue.get_queue_properties().metadata

peek_messages

キューの先頭から 1 つ以上のメッセージを取得しますが、メッセージの可視性は変更しません。

表示されているメッセージのみを取得できます。 への呼び出し receive_messagesでメッセージが初めて取得されると、そのdequeue_count プロパティは 1 に設定されます。 削除されず、その後再度取得された場合は、dequeue_count プロパティがインクリメントされます。 クライアントはこの値を使用して、メッセージが取得された回数を確認できます。 peek_messagesの呼び出しでは、dequeue_countの値はインクリメントされませんが、クライアントが読み取るためのこの値を返します。

キー暗号化キーまたはリゾルバー フィールドがローカル サービス オブジェクトに設定されている場合、メッセージは返される前に復号化されます。

peek_messages(max_messages: int | None = None, **kwargs: Any) -> List[QueueMessage]

パラメーター

max_messages
int
必須

キューから表示するメッセージの数を示すゼロ以外の整数値を指定します (上限は 32 件)。 既定では、この操作でキューから 1 件のメッセージが表示されます。

timeout
int

操作のサーバー側タイムアウトを秒単位で設定します。 詳細については、 https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations を参照してください。 この値は、クライアントで追跡または検証されません。 クライアント側のネットワーク タイムアウトを構成するには、 こちらを参照してください

戻り値

QueueMessage オブジェクトのリスト。 ピークはメッセージをポップせず、既に表示されているメッセージのみを取得できるため、next_visible_onとpop_receiptは設定されないことに注意してください。

の戻り値の型 :

メッセージをプレビューします。


   # 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

キューの先頭から 1 つのメッセージを削除します。

メッセージがキューから取得されると、応答にはメッセージの内容と、メッセージを削除するために必要なpop_receipt値が含まれます。 メッセージはキューから自動的に削除されませんが、取得後、visibility_timeout パラメーターで指定された時間間隔の間、他のクライアントには表示されません。

ローカル サービス オブジェクトに key-encryption-key または resolver フィールドが設定されている場合、メッセージは復号化されてから返されます。

receive_message(*, visibility_timeout: int | None = None, **kwargs: Any) -> QueueMessage | None

パラメーター

visibility_timeout
int

指定しない場合、既定値は 30 です。 サーバー時間を基準に、新しい表示タイムアウト値を秒単位で指定します。 値は 1 以上である必要があり、7 日を超えることはできません。 メッセージの表示タイムアウト値は、有効期限より後の値に設定できます。 visibility_timeoutは、有効期間の値より小さい値に設定する必要があります。

timeout
int

操作のサーバー側タイムアウトを秒単位で設定します。 詳細については、 https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations を参照してください。 この値は、クライアントで追跡または検証されません。 クライアント側のネットワーク タイムアウトを構成するには、 こちらを参照してください

戻り値

キューからメッセージを返します。キューが空の場合は None を返します。

の戻り値の型 :

キューから 1 つのメッセージを受信します。


   # 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

キューの先頭から 1 つ以上のメッセージを削除します。

メッセージがキューから取得されると、応答にはメッセージの内容と、メッセージを削除するために必要なpop_receipt値が含まれます。 メッセージはキューから自動的に削除されませんが、取得後、visibility_timeout パラメーターで指定された時間間隔の間、他のクライアントには表示されません。 反復子は、キューが空であるか、max_messagesに達するまで (max_messagesが設定されている場合)、メッセージを継続的にフェッチします。

キー暗号化キーまたはリゾルバー フィールドがローカル サービス オブジェクトに設定されている場合、メッセージは返される前に復号化されます。

receive_messages(*, messages_per_page: int | None = None, visibility_timeout: int | None = None, max_messages: int | None = None, **kwargs: Any) -> ItemPaged[QueueMessage]

パラメーター

visibility_timeout
int

指定しない場合、既定値は 30 です。 サーバー時間を基準に、新しい表示タイムアウト値を秒単位で指定します。 値は 1 以上である必要があり、7 日を超えることはできません。 メッセージの表示タイムアウト値は、有効期限より後の値に設定できます。 visibility_timeoutは、有効期間の値より小さい値に設定する必要があります。

max_messages
int

キューから取得するメッセージの最大数を指定する整数。

timeout
int

操作のサーバー側タイムアウトを秒単位で設定します。 詳細については、 https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations を参照してください。 この値は、クライアントで追跡または検証されません。 クライアント側のネットワーク タイムアウトを構成するには、 こちらを参照してください

戻り値

dict に似た Message オブジェクトのメッセージ反復子を返します。

の戻り値の型 :

キューからメッセージを受信します。


   # 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

メッセージ キューの背面に新しいメッセージを追加します。

可視性のタイムアウトは、メッセージが非表示になる時間を指定します。 タイムアウトになったら、メッセージが表示されるようになります。 表示タイムアウトを指定していない場合、既定値の 0 が使用されます。

メッセージの有効期間は、メッセージがキューに残る期間を指定します。 有効期限が切れると、メッセージがキューから削除されます。

key-encryption-key フィールドがローカル サービス オブジェクトに設定されている場合、このメソッドはアップロードする前にコンテンツを暗号化します。

send_message(content: object | None, *, visibility_timeout: int | None = None, time_to_live: int | None = None, **kwargs: Any) -> QueueMessage

パラメーター

content
Optional[object]
必須

メッセージの内容。 許可される型は、サービスで設定されたencode_functionによって決まります。 既定値は str です。 エンコードされたメッセージのサイズは最大 64 KB です。

visibility_timeout
int

値を指定しない場合は、既定値 0 が使用されます。 サーバー時間を基準に、新しい表示タイムアウト値を秒単位で指定します。 値は 0 以上である必要があり、7 日を超えることはできません。 メッセージの表示タイムアウト値は、有効期限より後の値に設定できます。 visibility_timeoutは、有効期間の値より小さい値に設定する必要があります。

time_to_live
int

メッセージの有効期限を秒単位で指定します。 time-to-live には、正の数、または無限大の場合は -1 を指定できます。 このパラメーターが省略されている場合、既定の有効期限は 7 日です。

timeout
int

操作のサーバー側タイムアウトを秒単位で設定します。 詳細については、 https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations を参照してください。 この値は、クライアントで追跡または検証されません。 クライアント側のネットワーク タイムアウトを構成するには、 こちらを参照してください

戻り値

QueueMessage オブジェクト。 このオブジェクトにはコンテンツも設定されますが、サービスから返されません。

の戻り値の型 :

メッセージを送信します。


   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

共有アクセス署名で使用できるキューの保存されているアクセス ポリシーを設定します。

キューのアクセス許可を設定すると、既存のアクセス許可が置き換えられます。 キューのアクセス許可を更新するには、 を呼び出 get_queue_access_policy して、キューに関連付けられているすべてのアクセス ポリシーをフェッチし、変更するアクセス ポリシーを変更してから、更新を実行するデータの完全なセットでこの関数を呼び出します。

保存されているアクセス ポリシーをキューに設定したときには、有効になるまでに最大で 30 秒かかる場合があります。 この間、格納されているアクセス ポリシーに関連付けられている共有アクセス署名は、アクセス ポリシーがアクティブになるまで を <xref:azure.storage.queue.HttpResponseError> スローします。

set_queue_access_policy(signed_identifiers: Dict[str, AccessPolicy], **kwargs: Any) -> None

パラメーター

signed_identifiers
Dict[str, AccessPolicy]
必須

キューに関連付ける SignedIdentifier アクセス ポリシー。 これには、最大 5 つの要素を含めることができます。 空の dict は、サービスに設定されているアクセス ポリシーをクリアします。

timeout
int

操作のサーバー側タイムアウトを秒単位で設定します。 詳細については、 https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations を参照してください。 この値は、クライアントで追跡または検証されません。 クライアント側のネットワーク タイムアウトを構成するには、 こちらを参照してください

キューにアクセス ポリシーを設定します。


   # 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

指定したキューにユーザー定義メタデータを設定します。

メタデータは、名前と値のペアとしてキューに関連付けられます。

set_queue_metadata(metadata: Dict[str, str] | None = None, **kwargs: Any) -> Dict[str, Any]

パラメーター

metadata
Optional[Dict[str, str]]
必須

メタデータとしてキューに関連付ける名前と値のペアを含む dict。

timeout
int

操作のサーバー側タイムアウトを秒単位で設定します。 詳細については、 https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations を参照してください。 この値は、クライアントで追跡または検証されません。 クライアント側のネットワーク タイムアウトを構成するには、 こちらを参照してください

戻り値

応答ヘッダーのディクショナリ。

の戻り値の型 :

キューにメタデータを設定します。


   metadata = {'foo': 'val1', 'bar': 'val2', 'baz': 'val3'}
   queue.set_queue_metadata(metadata=metadata)

update_message

メッセージの可視性タイムアウトを更新します。 この操作を使用して、メッセージの内容を更新することもできます。

この操作を使用すると、キュー メッセージの非表示を継続的に拡張できます。 この機能は、ワーカー ロールでキュー メッセージを "リース" する場合に便利です。 たとえば、ワーカー ロールがを呼び出 receive_messages し、メッセージの処理に時間が必要であると認識した場合、メッセージが処理されるまでメッセージの非表示を継続的に拡張できます。 処理中にワーカー ロールでエラーが発生しても、最終的にはメッセージが再び参照できるようになるため、別のワーカー ロールがその処理を行うことができます。

key-encryption-key フィールドがローカル サービス オブジェクトに設定されている場合、このメソッドはアップロードする前にコンテンツを暗号化します。

update_message(message: str | QueueMessage, pop_receipt: str | None = None, content: object | None = None, *, visibility_timeout: int | None = None, **kwargs: Any) -> QueueMessage

パラメーター

message
str または QueueMessage
必須

更新するメッセージを識別するメッセージ オブジェクトまたは ID。

pop_receipt
str
必須

事前に呼び出した receive_messages または update_message 操作から返された有効な POPReceipt 値を指定します。

content
Optional[object]
必須

メッセージの内容。 許可される型は、サービスで設定されたencode_functionによって決まります。 既定値は str です。

visibility_timeout
int

サーバー時間を基準に、新しい表示タイムアウト値を秒単位で指定します。 新しい値は、0 以上の 7 日を超えない値である必要があります。 メッセージの表示タイムアウト値は、有効期限より後の値に設定できます。 メッセージは、削除されるか有効期限が切れるまで更新できます。 更新するメッセージを識別するメッセージ オブジェクトまたはメッセージ ID。

timeout
int

操作のサーバー側タイムアウトを秒単位で設定します。 詳細については、 https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations を参照してください。 この値は、クライアントで追跡または検証されません。 クライアント側のネットワーク タイムアウトを構成するには、 こちらを参照してください

戻り値

QueueMessage オブジェクト。 便宜上、このオブジェクトにはコンテンツも設定されますが、サービスからは返されません。

の戻り値の型 :

メッセージを更新します。


   # 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")

属性

api_version

要求に使用される Storage API のバージョン。

の戻り値の型 :

str

location_mode

クライアントが現在使用している場所モード。

既定では、これは "プライマリ" になります。 オプションには、"primary" と "secondary" が含まれます。

の戻り値の型 :

str

primary_endpoint

完全なプライマリ エンドポイント URL。

の戻り値の型 :

str

primary_hostname

プライマリ エンドポイントのホスト名。

の戻り値の型 :

str

secondary_endpoint

完全なセカンダリ エンドポイント URL (構成されている場合)。

使用できない場合は、ValueError が発生します。 セカンダリ ホスト名を明示的に指定するには、インスタンス化時に省略可能な secondary_hostname キーワード (keyword) 引数を使用します。

の戻り値の型 :

str

例外

secondary_hostname

セカンダリ エンドポイントのホスト名。

使用できない場合、これは None になります。 セカンダリ ホスト名を明示的に指定するには、インスタンス化時に省略可能な secondary_hostname キーワード (keyword) 引数を使用します。

の戻り値の型 :

url

SAS トークン (使用されている場合) を含む、このエンティティへの完全なエンドポイント URL。

これは、現在 location_modeの に応じて、プライマリ エンドポイントまたはセカンダリ エンドポイントのいずれかになります。 :returns: SAS トークン (使用されている場合) を含む、このエンティティへの完全なエンドポイント URL。 :rtype: str