QueueClient Класс
Клиент для взаимодействия с определенной очередью.
Дополнительные сведения о настройке см. здесь.
- Наследование
-
azure.storage.queue._shared.base_client.StorageAccountHostsMixinQueueClientazure.storage.queue._encryption.StorageEncryptionMixinQueueClient
Конструктор
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.
- credential
Учетные данные для проверки подлинности. Это необязательно, если 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
Параметры
Словарь, содержащий пары "имя-значение", которые необходимо связать с очередью в качестве метаданных. Обратите внимание, что имена метаданных сохраняют регистр, с которым они были созданы, однако при задании и чтении регистр не учитывается.
- timeout
- int
Задает время ожидания на стороне сервера для операции в секундах. Дополнительные сведения см. в следующей статье: https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations. Это значение не отслеживается и не проверяется на клиенте. Сведения о настройке времени ожидания сети на стороне клиента см. здесь.
Возвращаемое значение
None или результат cls(response)
Возвращаемый тип
Исключения
Примеры
Создайте очередь.
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
Параметры
- credential
Учетные данные для проверки подлинности. Это необязательно, если 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
Параметры
- credential
Учетные данные для проверки подлинности. Это необязательно, если 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
Параметры
Содержимое сообщения. Допустимый тип определяется 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]
Параметры
Словарь, содержащий пары "имя-значение", которые необходимо связать с очередью в качестве метаданных.
- 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.
Содержимое сообщения. Допустимый тип определяется 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
location_mode
Режим расположения, используемый клиентом в настоящее время.
По умолчанию это будет "основной". Возможные варианты: "primary" и "secondary".
Возвращаемый тип
primary_endpoint
primary_hostname
secondary_endpoint
Полный URL-адрес вторичной конечной точки, если он настроен.
Если он недоступен, будет вызван параметр ValueError. Чтобы явно указать имя вторичного узла, используйте необязательный аргумент secondary_hostname ключевое слово при создании экземпляра.
Возвращаемый тип
Исключения
secondary_hostname
Имя узла вторичной конечной точки.
Если он недоступен, это значение будет нет. Чтобы явно указать имя вторичного узла, используйте необязательный аргумент secondary_hostname ключевое слово при создании экземпляра.
Возвращаемый тип
url
Полный URL-адрес конечной точки для этой сущности, включая маркер SAS, если он используется.
Это может быть основная конечная точка или вторичная конечная точка в зависимости от текущего location_mode. :returns: полный URL-адрес конечной точки для этой сущности, включая маркер SAS, если он используется. :rtype: str
Azure SDK for Python