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 classmethod.

queue_name
str
Обязательно

Имя очереди.

credential
значение по умолчанию: None

Учетные данные для проверки подлинности. Это необязательно, если URL-адрес учетной записи уже содержит маркер SAS. Это может быть строка маркера SAS, экземпляр AzureSasCredential или AzureNamedKeyCredential из azure.core.credentials, общий ключ доступа учетной записи или экземпляр класса TokenCredentials из azure.identity. Если URI ресурса уже содержит маркер SAS, он будет игнорироваться в пользу явных учетных данных.

  • за исключением случаев AzureSasCredential, где конфликтующие маркеры SAS вызовут ValueError. При использовании экземпляра AzureNamedKeyCredential "name" должно быть именем учетной записи хранения, а "key" — ключом учетной записи хранения.
api_version
str

Версия API хранилища, используемая для запросов. Значение по умолчанию — это последняя версия службы, совместимая с текущим пакетом SDK. Установка более старой версии может привести к снижению совместимости функций.

secondary_hostname
str

Имя узла вторичной конечной точки.

message_encode_policy

Политика кодирования, используемая для исходящих сообщений. По умолчанию сообщения не кодируются. К другим параметрам относятся TextBase64EncodePolicy, BinaryBase64EncodePolicy или Нет.

message_decode_policy

Политика декодирования, используемая для входящих сообщений. Значение по умолчанию — не декодировать сообщения. К другим параметрам относятся TextBase64DecodePolicy, BinaryBase64DecodePolicy или Нет.

audience
str

Аудитория, используемая при запросе маркеров для проверки подлинности Azure Active Directory. Действует только в том случае, если учетные данные имеют тип TokenCredential. Значение может быть https://storage.azure.com/ (по умолчанию) или https://.queue.core.windows.net.

Примеры

Создайте клиент очереди с URL-адресом и учетными данными.


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

Методы

clear_messages

Удаляет все сообщения из указанной очереди.

close

Этот метод заключается в закрытии сокетов, открытых клиентом. Его не нужно использовать при использовании с диспетчером контекста.

create_queue

Создает новую очередь в учетной записи хранения.

Если очередь с тем же именем уже существует, операция завершается ошибкой ResourceExistsError.

delete_message

Удаляет указанное сообщение.

Обычно после получения клиентом сообщения с помощью операции получения сообщений клиент должен обработать и удалить сообщение. Чтобы удалить сообщение, необходимо иметь сам объект message или два элемента данных: id и pop_receipt. Идентификатор возвращается из предыдущей операции receive_messages. Pop_receipt возвращается из последней receive_messages операции или update_message . Для успешного выполнения операции delete_message pop_receipt, указанный в запросе, должен соответствовать pop_receipt, возвращенным из receive_messages операции или update_message .

delete_queue

Удаляет указанную очередь и все содержащиеся в ней сообщения.

После успешного удаления очередь сразу же помечается для удаления и становится недоступной для клиентов. Впоследствии очередь удаляется из службы очередей в процессе сборки мусора.

Обратите внимание, что удаление очереди, скорее всего, займет не менее 40 секунд. При попытке выполнить операцию с очередью во время ее удаления <xref:azure.storage.queue.HttpResponseError> будет выдано исключение .

from_connection_string

Создание QueueClient из строки подключения.

from_queue_url

Клиент для взаимодействия с определенной очередью.

get_queue_access_policy

Возвращает сведения о всех хранимых политиках доступа, указанных в очереди, которые могут использоваться с подписанными URL-адресами.

get_queue_properties

Возвращает все пользовательские метаданные для указанной очереди.

Возвращаемые данные не включают список сообщений очереди.

peek_messages

Извлекает одно или несколько сообщений из передней части очереди, но не изменяет видимость сообщения.

Можно извлекать только видимые сообщения. Когда сообщение извлекается в первый раз с помощью вызова receive_messages, его свойству dequeue_count присваивается значение 1. Если он не удаляется, а затем возвращается снова, свойство dequeue_count увеличивается. Клиент может использовать это значение, чтобы определить, сколько раз извлекалось сообщение. Обратите внимание, что вызов peek_messages не увеличивает значение dequeue_count, но возвращает это значение для чтения клиентом.

Если для локального объекта службы задано поле key-encryption-key или resolver, сообщения будут расшифрованы перед возвратом.

receive_message

Удаляет одно сообщение из передней части очереди.

При извлечении сообщения из очереди ответ включает содержимое сообщения и значение pop_receipt, которое необходимо для удаления сообщения. Сообщение не удаляется из очереди автоматически, но после его извлечения оно не отображается другим клиентам в течение интервала времени, указанного параметром visibility_timeout.

Если для локального объекта службы задано поле key-encryption-key или resolver, сообщение будет расшифровано перед возвратом.

receive_messages

Удаляет одно или несколько сообщений из передней части очереди.

При извлечении сообщения из очереди ответ включает содержимое сообщения и значение pop_receipt, необходимое для удаления сообщения. Сообщение не удаляется из очереди автоматически, но после его извлечения оно не отображается другим клиентам в течение интервала времени, указанного параметром visibility_timeout. Итератор будет непрерывно извлекает сообщения до тех пор, пока очередь не станет пустой или max_messages не будет достигнута (если задано max_messages).

Если для локального объекта службы задано поле key-encryption-key или resolver, сообщения будут расшифрованы перед возвратом.

send_message

Добавляет новое сообщение в заднюю часть очереди сообщений.

Время ожидания видимости указывает время, когда сообщение будет невидимым. После истечения времени ожидания сообщение станет видимым. Если время ожидания видимости не указано, по умолчанию используется значение 0.

Срок жизни сообщения указывает, как долго сообщение будет оставаться в очереди. При истечении срока существования сообщение удаляется из очереди.

Если для локального объекта службы задано поле key-encryption-key, этот метод шифрует содержимое перед отправкой.

set_queue_access_policy

Задает хранимые политики доступа для очереди, которая может быть использована с подписями коллективного доступа.

При установке разрешений для очереди существующие разрешения заменяются. Чтобы обновить разрешения очереди, вызовите get_queue_access_policy для получения всех политик доступа, связанных с очередью, измените политику доступа, которую вы хотите изменить, а затем вызовите эту функцию с полным набором данных для выполнения обновления.

Для ввода в действие хранимой политики доступа в очереди после настройки может потребоваться до 30 секунд. В течение этого интервала подписанный URL-адрес, связанный с хранимой политикой доступа, будет вызывать исключение , <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]

Словарь, содержащий пары "имя-значение", которые необходимо связать с очередью в качестве метаданных. Обратите внимание, что имена метаданных сохраняют регистр, с которым они были созданы, однако при задании и чтении регистр не учитывается.

timeout
int

Задает время ожидания на стороне сервера для операции в секундах. Дополнительные сведения см. в следующей статье: https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations. Это значение не отслеживается и не проверяется на клиенте. Сведения о настройке времени ожидания сети на стороне клиента см. здесь.

Возвращаемое значение

None или результат cls(response)

Возвращаемый тип

Исключения

StorageErrorException

Примеры

Создайте очередь.


   queue.create_queue()

delete_message

Удаляет указанное сообщение.

Обычно после получения клиентом сообщения с помощью операции получения сообщений клиент должен обработать и удалить сообщение. Чтобы удалить сообщение, необходимо иметь сам объект message или два элемента данных: id и pop_receipt. Идентификатор возвращается из предыдущей операции receive_messages. Pop_receipt возвращается из последней receive_messages операции или update_message . Для успешного выполнения операции delete_message pop_receipt, указанный в запросе, должен соответствовать pop_receipt, возвращенным из receive_messages операции или update_message .

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

Параметры

message
str или QueueMessage
Обязательно

Объект или идентификатор сообщения, определяющий удаляемое сообщение.

pop_receipt
str
Обязательно

Допустимое значение всплывающего уведомления, возвращенное из предыдущего вызова receive_messages или update_message.

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.

queue_name
str
Обязательно

Имя очереди.

credential
значение по умолчанию: None

Учетные данные для проверки подлинности. Это необязательно, если URL-адрес учетной записи уже содержит маркер SAS или у строка подключения уже есть значения общего ключа доступа. Это может быть строка маркера SAS, экземпляр AzureSasCredential или AzureNamedKeyCredential из azure.core.credentials, общий ключ доступа учетной записи или экземпляр класса TokenCredentials из azure.identity. Предоставленные здесь учетные данные будут иметь приоритет над учетными данными в строка подключения. При использовании экземпляра AzureNamedKeyCredential "name" должно быть именем учетной записи хранения, а "key" — ключом учетной записи хранения.

audience
str

Аудитория, используемая при запросе маркеров для проверки подлинности Azure Active Directory. Действует только в том случае, если учетные данные имеют тип TokenCredential. Значение может быть https://storage.azure.com/ (по умолчанию) или https://.queue.core.windows.net.

Возвращаемое значение

Клиент очереди.

Возвращаемый тип

Примеры

Создайте клиент очереди из строка подключения.


   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
Обязательно

Полный URI очереди, включая маркер SAS, если он используется.

credential
значение по умолчанию: None

Учетные данные для проверки подлинности. Это необязательно, если URL-адрес учетной записи уже содержит маркер SAS. Значением может быть строка маркера SAS, экземпляр AzureSasCredential или AzureNamedKeyCredential из azure.core.credentials, общий ключ доступа учетной записи или экземпляр класса TokenCredentials из azure.identity. Если URI ресурса уже содержит маркер SAS, он будет игнорироваться в пользу явных учетных данных.

  • за исключением случаев AzureSasCredential, где конфликтующие маркеры SAS вызовет ValueError. При использовании экземпляра AzureNamedKeyCredential "имя" должно быть именем учетной записи хранения, а "ключ" — ключом учетной записи хранения.
audience
str

Аудитория, используемая при запросе маркеров для проверки подлинности Azure Active Directory. Действует только в том случае, если учетные данные имеют тип TokenCredential. Значение может быть https://storage.azure.com/ (по умолчанию) или https://.queue.core.windows.net.

Возвращаемое значение

Клиент очереди.

Возвращаемый тип

get_queue_access_policy

Возвращает сведения о всех хранимых политиках доступа, указанных в очереди, которые могут использоваться с подписанными URL-адресами.

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

Параметр времени ожидания указывается в секундах.

Возвращаемое значение

Определяемые пользователем метаданные для очереди.

Возвращаемый тип

Примеры

Получение свойств очереди.


   properties = queue.get_queue_properties().metadata

peek_messages

Извлекает одно или несколько сообщений из передней части очереди, но не изменяет видимость сообщения.

Можно извлекать только видимые сообщения. Когда сообщение извлекается в первый раз с помощью вызова receive_messages, его свойству dequeue_count присваивается значение 1. Если он не удаляется, а затем возвращается снова, свойство dequeue_count увеличивается. Клиент может использовать это значение, чтобы определить, сколько раз извлекалось сообщение. Обратите внимание, что вызов peek_messages не увеличивает значение dequeue_count, но возвращает это значение для чтения клиентом.

Если для локального объекта службы задано поле key-encryption-key или resolver, сообщения будут расшифрованы перед возвратом.

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

Параметры

max_messages
int
Обязательно

Безнулевое целочисленное значение, которое определяет количество сообщений для извлечения из очереди (не более 32). По умолчанию эта операция извлекает одно сообщение из очереди.

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

Удаляет одно сообщение из передней части очереди.

При извлечении сообщения из очереди ответ включает содержимое сообщения и значение 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. Это значение не отслеживается и не проверяется на клиенте. Чтобы настроить время ожидания сети на стороне клиента, см. здесь.

Возвращаемое значение

Возвращает сообщение из очереди или Нет, если очередь пуста.

Возвращаемый тип

Примеры

Получение одного сообщения из очереди.


   # 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

Удаляет одно или несколько сообщений из передней части очереди.

При извлечении сообщения из очереди ответ включает содержимое сообщения и значение pop_receipt, необходимое для удаления сообщения. Сообщение не удаляется из очереди автоматически, но после его извлечения оно не отображается другим клиентам в течение интервала времени, указанного параметром visibility_timeout. Итератор будет непрерывно извлекает сообщения до тех пор, пока очередь не станет пустой или max_messages не будет достигнута (если задано max_messages).

Если для локального объекта службы задано поле key-encryption-key или resolver, сообщения будут расшифрованы перед возвратом.

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. Это значение не отслеживается и не проверяется на клиенте. Чтобы настроить время ожидания сети на стороне клиента, см. здесь.

Возвращаемое значение

Возвращает итератор сообщения объектов 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 КБ.

visibility_timeout
int

Если не указано, значение по умолчанию равно 0. Указывает новое значение времени ожидания видимости в секундах, отсчитываемое относительно времени сервера. Значение должно быть больше или равно 0 и не может превышать 7 дней. Для времени ожидания видимости сообщения нельзя задать значение позже истечения срока. visibility_timeout должно быть задано значение меньше срока жизни.

time_to_live
int

Задает интервал срока существования сообщения в секундах. Срок жизни может быть любым положительным числом или -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 секунд. В течение этого интервала подписанный URL-адрес, связанный с хранимой политикой доступа, будет вызывать исключение , <xref:azure.storage.queue.HttpResponseError> пока политика доступа не станет активной.

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

Параметры

signed_identifiers
Dict[str, AccessPolicy]
Обязательно

Политики доступа SignedIdentifier для связывания с очередью. Он может содержать до 5 элементов. Пустой диктовка очистит политики доступа, заданные в службе.

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]]
Обязательно

Словарь, содержащий пары "имя-значение", которые необходимо связать с очередью в качестве метаданных.

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
Обязательно

Объект или идентификатор сообщения, определяющий обновляемую версию сообщения.

pop_receipt
str
Обязательно

Допустимое значение подтверждения, полученное из предыдущего вызова метода receive_messages или операции update_message.

content
Optional[object]
Обязательно

Содержимое сообщения. Допустимый тип определяется encode_function, заданным в службе. Значение по умолчанию — str.

visibility_timeout
int

Указывает новое значение времени ожидания видимости в секундах, отсчитываемое относительно времени сервера. Новое значение должно быть больше или равно 0 и не может превышать 7 дней. Для времени ожидания видимости сообщения нельзя задать значение позже истечения срока. Сообщения можно обновлять, пока оно не будет удалено или пока не кончится срок его действия. Объект сообщения или идентификатор сообщения, определяющий обновляемую версию сообщения.

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

Версия API хранилища, используемого для запросов.

Возвращаемый тип

str

location_mode

Режим расположения, используемый клиентом в настоящее время.

По умолчанию это будет "основной". Возможные варианты: "primary" и "secondary".

Возвращаемый тип

str

primary_endpoint

Полный URL-адрес основной конечной точки.

Возвращаемый тип

str

primary_hostname

Имя узла основной конечной точки.

Возвращаемый тип

str

secondary_endpoint

Полный URL-адрес вторичной конечной точки, если он настроен.

Если он недоступен, будет вызван параметр ValueError. Чтобы явно указать имя вторичного узла, используйте необязательный аргумент secondary_hostname ключевое слово при создании экземпляра.

Возвращаемый тип

str

Исключения

secondary_hostname

Имя узла вторичной конечной точки.

Если он недоступен, это значение будет нет. Чтобы явно указать имя вторичного узла, используйте необязательный аргумент secondary_hostname ключевое слово при создании экземпляра.

Возвращаемый тип

url

Полный URL-адрес конечной точки для этой сущности, включая маркер SAS, если он используется.

Это может быть основная конечная точка или вторичная конечная точка в зависимости от текущего location_mode. :returns: полный URL-адрес конечной точки для этой сущности, включая маркер SAS, если он используется. :rtype: str