QueueServiceClient Класс
Клиент для взаимодействия со службой очередей на уровне учетной записи.
Этот клиент предоставляет операции по получению и настройке свойств учетной записи, а также перечислению, созданию и удалению очередей в учетной записи. Для операций, связанных с определенной очередью, клиент для этой сущности можно получить с помощью get_queue_client функции .
- Наследование
-
azure.storage.queue._shared.base_client_async.AsyncStorageAccountHostsMixinQueueServiceClientazure.storage.queue._shared.base_client.StorageAccountHostsMixinQueueServiceClientazure.storage.queue._encryption.StorageEncryptionMixinQueueServiceClient
Конструктор
QueueServiceClient(account_url: str, credential: str | Dict[str, str] | AzureNamedKeyCredential | AzureSasCredential | AsyncTokenCredential | None = None, **kwargs: Any)
Параметры
- account_url
- str
URL-адрес конечной точки службы очередей. Любые другие сущности, включенные в URL-путь (например, очередь), будут удалены. Этот URL-адрес можно при необходимости пройти проверку подлинности с помощью маркера SAS.
- 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
Имя узла вторичной конечной точки.
- audience
- str
Аудитория, используемая при запросе маркеров для проверки подлинности Azure Active Directory. Действует только в том случае, если учетные данные имеют тип TokenCredential. Значение может быть https://storage.azure.com/ (по умолчанию) или https://.queue.core.windows.net.
Примеры
Создание QueueServiceClient с URL-адресом учетной записи и учетными данными.
from azure.storage.queue.aio import QueueServiceClient
queue_service = QueueServiceClient(account_url=self.account_url, credential=self.access_key)
Создание QueueServiceClient с учетными данными удостоверений Azure.
# Get a token credential for authentication
from azure.identity.aio import ClientSecretCredential
token_credential = ClientSecretCredential(
self.active_directory_tenant_id,
self.active_directory_application_id,
self.active_directory_application_secret
)
# Instantiate a QueueServiceClient using a token credential
from azure.storage.queue.aio import QueueServiceClient
queue_service = QueueServiceClient(account_url=self.account_url, credential=token_credential)
Методы
close |
Этот метод заключается в закрытии сокетов, открытых клиентом. Его не нужно использовать при использовании с диспетчером контекста. |
create_queue |
Создает новую очередь в указанной учетной записи. Если очередь с тем же именем уже существует, операция завершается сбоем. Возвращает клиент, с которым будет взаимодействовать с созданной очередью. |
delete_queue |
Удаляет указанную очередь и все содержащиеся в ней сообщения. После успешного удаления очередь сразу же помечается для удаления и становится недоступной для клиентов. Впоследствии очередь удаляется из службы очередей в процессе сборки мусора. Обратите внимание, что удаление очереди, скорее всего, займет не менее 40 секунд. При попытке выполнить операцию с очередью во время ее удаления <xref:azure.storage.queue.aio.HttpResponseError> будет выдано исключение . |
from_connection_string |
Создайте QueueServiceClient из строки подключения. |
get_queue_client |
Получение клиента для взаимодействия с указанной очередью. Очередь еще не должна существовать. |
get_service_properties |
Возвращает свойства службы очередей учетной записи хранения, включая Аналитика Службы хранилища Azure. |
get_service_stats |
Получает статистику, связанную с репликацией службы очередей. Она доступна, только если для учетной записи хранения включена геоизбыточная репликация с доступом на чтение. Благодаря географически избыточной репликации хранилище Azure надежно хранит ваши данные в двух расположениях. В обоих расположениях хранилище Azure поддерживает несколько работоспособных копий данных. Расположение, в котором вы читаете, создаете, обновляете или удаляете данные, является первичным расположением учетной записи хранилища. Основное расположение находится в регионе, выбранном при создании учетной записи на классическом портале Azure для управления Azure, например в центрально-северной части США. Расположение, в которое ваши данные реплицируются, — это вторичное расположение. Оно определяется автоматически, исходя из выбранного первичного расположения. Это второй центр обработки данных в том же регионе, где находится первичное расположение. Во вторичном расположении предоставляется доступ только для чтения, если для вашей учетной записи хранилища включена географически избыточная репликация с доступом только для чтения. |
list_queues |
Возвращает генератор для вывода списка очередей в указанной учетной записи. Генератор будет отложенно следовать маркерам продолжения, возвращенным службой, и останавливаться, когда будут возвращены все очереди. |
set_service_properties |
Задает свойства службы очередей учетной записи хранения, включая Аналитика Службы хранилища Azure. Если элемент (например, analytics_logging) остается как Нет, существующие в службе параметры для этой функции сохраняются. |
close
Этот метод заключается в закрытии сокетов, открытых клиентом. Его не нужно использовать при использовании с диспетчером контекста.
async close()
create_queue
Создает новую очередь в указанной учетной записи.
Если очередь с тем же именем уже существует, операция завершается сбоем. Возвращает клиент, с которым будет взаимодействовать с созданной очередью.
async create_queue(name: str, metadata: Dict[str, str] | None = None, **kwargs: Any) -> QueueClient
Параметры
Дикт с name_value парами для связывания с очередью в качестве метаданных. Пример: {'Category': 'test'}
- timeout
- int
Параметр времени ожидания указывается в секундах.
Возвращаемое значение
QueueClient для только что созданной очереди.
Возвращаемый тип
Примеры
Создайте очередь в службе.
await queue_service.create_queue("myqueue1")
delete_queue
Удаляет указанную очередь и все содержащиеся в ней сообщения.
После успешного удаления очередь сразу же помечается для удаления и становится недоступной для клиентов. Впоследствии очередь удаляется из службы очередей в процессе сборки мусора.
Обратите внимание, что удаление очереди, скорее всего, займет не менее 40 секунд. При попытке выполнить операцию с очередью во время ее удаления <xref:azure.storage.queue.aio.HttpResponseError> будет выдано исключение .
async delete_queue(queue: QueueProperties | str, **kwargs: Any) -> None
Параметры
- queue
- str или QueueProperties
Удаляемая очередь. Это может быть имя очереди или экземпляр QueueProperties.
- timeout
- int
Параметр времени ожидания указывается в секундах.
Возвращаемый тип
Примеры
Удаление очереди в службе.
await queue_service.delete_queue("myqueue1")
from_connection_string
Создайте QueueServiceClient из строки подключения.
from_connection_string(conn_str: str, credential: str | Dict[str, str] | AzureNamedKeyCredential | AzureSasCredential | AsyncTokenCredential | None = None, **kwargs: Any) -> Self
Параметры
- credential
Учетные данные для проверки подлинности. Это необязательно, если URL-адрес учетной записи уже содержит маркер SAS или у строка подключения уже есть значения общего ключа доступа. Это может быть строка маркера SAS, экземпляр AzureSasCredential или AzureNamedKeyCredential из azure.core.credentials, общий ключ доступа учетной записи или экземпляр класса TokenCredentials из azure.identity. Предоставленные здесь учетные данные будут иметь приоритет над учетными данными в строка подключения. При использовании экземпляра AzureNamedKeyCredential "name" должно быть именем учетной записи хранения, а "key" — ключом учетной записи хранения.
Возвращаемое значение
Клиент службы очередей.
Возвращаемый тип
Примеры
Создание QueueServiceClient с строка подключения.
from azure.storage.queue import QueueServiceClient
queue_service = QueueServiceClient.from_connection_string(conn_str=self.connection_string)
get_queue_client
Получение клиента для взаимодействия с указанной очередью.
Очередь еще не должна существовать.
get_queue_client(queue: QueueProperties | str, **kwargs: Any) -> QueueClient
Параметры
- queue
- str или QueueProperties
Очередь. Это может быть имя очереди или экземпляр QueueProperties.
Возвращаемое значение
Объект QueueClient.
Возвращаемый тип
Примеры
Получите клиент очереди.
# Get the queue client to interact with a specific queue
queue = queue_service.get_queue_client(queue="myqueue2")
get_service_properties
Возвращает свойства службы очередей учетной записи хранения, включая Аналитика Службы хранилища Azure.
async get_service_properties(**kwargs: Any) -> Dict[str, Any]
Параметры
- timeout
- int
Параметр времени ожидания указывается в секундах.
Возвращаемое значение
Объект, содержащий свойства службы очередей, такие как ведение журнала аналитики, метрики по часам в минуту, правила cors и т. д.
Возвращаемый тип
Примеры
Получение свойств службы очередей.
properties = await queue_service.get_service_properties()
get_service_stats
Получает статистику, связанную с репликацией службы очередей.
Она доступна, только если для учетной записи хранения включена геоизбыточная репликация с доступом на чтение.
Благодаря географически избыточной репликации хранилище Azure надежно хранит ваши данные в двух расположениях. В обоих расположениях хранилище Azure поддерживает несколько работоспособных копий данных. Расположение, в котором вы читаете, создаете, обновляете или удаляете данные, является первичным расположением учетной записи хранилища. Основное расположение находится в регионе, выбранном при создании учетной записи на классическом портале Azure для управления Azure, например в центрально-северной части США. Расположение, в которое ваши данные реплицируются, — это вторичное расположение. Оно определяется автоматически, исходя из выбранного первичного расположения. Это второй центр обработки данных в том же регионе, где находится первичное расположение. Во вторичном расположении предоставляется доступ только для чтения, если для вашей учетной записи хранилища включена географически избыточная репликация с доступом только для чтения.
async get_service_stats(**kwargs: Any) -> Dict[str, Any]
Параметры
- timeout
- int
Параметр времени ожидания указывается в секундах.
Возвращаемое значение
Статистика службы очередей.
Возвращаемый тип
list_queues
Возвращает генератор для вывода списка очередей в указанной учетной записи.
Генератор будет отложенно следовать маркерам продолжения, возвращенным службой, и останавливаться, когда будут возвращены все очереди.
list_queues(name_starts_with: str | None = None, include_metadata: bool | None = False, **kwargs: Any) -> AsyncItemPaged
Параметры
- name_starts_with
- str
Фильтрует результаты, возвращая только очереди, имена которых начинаются с указанного префикса.
- results_per_page
- int
Максимальное количество имен очередей, извлекаемых для каждого вызова API. Если в запросе не указано, сервер вернет до 5000 элементов.
- timeout
- int
Задает время ожидания на стороне сервера для операции в секундах. Дополнительные сведения см. в следующей статье: https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations. Это значение не отслеживается и не проверяется на клиенте. Сведения о настройке времени ожидания сети на стороне клиента см. здесь. Эта функция может выполнять несколько вызовов службы, в этом случае указанное значение времени ожидания будет применяться к каждому отдельному вызову.
Возвращаемое значение
Итерируемое (автоматическое разбиение по страницам) объекта QueueProperties.
Возвращаемый тип
Примеры
Перечисление очередей в службе.
# List all the queues in the service
list_queues = queue_service.list_queues()
async for queue in list_queues:
print(queue)
# List the queues in the service that start with the name "my_"
list_my_queues = queue_service.list_queues(name_starts_with="my_")
async for queue in list_my_queues:
print(queue)
set_service_properties
Задает свойства службы очередей учетной записи хранения, включая Аналитика Службы хранилища Azure.
Если элемент (например, analytics_logging) остается как Нет, существующие в службе параметры для этой функции сохраняются.
async set_service_properties(analytics_logging: QueueAnalyticsLogging | None = None, hour_metrics: Metrics | None = None, minute_metrics: Metrics | None = None, cors: List[CorsRule] | None = None, **kwargs: Any) -> None
Параметры
- analytics_logging
- QueueAnalyticsLogging
Группирует параметры ведения журнала Azure Analytics.
- hour_metrics
- Metrics
Параметры часовых метрик предоставляют сводку статистики запросов, сгруппированной по API, в почасовых статистических выражениях для очередей.
- minute_metrics
- Metrics
Параметры метрик минуты предоставляют статистику запросов за каждую минуту для очередей.
В список можно включить до пяти элементов CorsRule. Если указан пустой список, все правила CORS будут удалены, а CORS будет отключен для службы.
- timeout
- int
Параметр времени ожидания указывается в секундах.
Примеры
Настройка свойств службы очередей.
# Create service properties
from azure.storage.queue import QueueAnalyticsLogging, Metrics, CorsRule, RetentionPolicy
# Create logging settings
logging = QueueAnalyticsLogging(read=True, write=True, delete=True, retention_policy=RetentionPolicy(enabled=True, days=5))
# Create metrics for requests statistics
hour_metrics = Metrics(enabled=True, include_apis=True, retention_policy=RetentionPolicy(enabled=True, days=5))
minute_metrics = Metrics(enabled=True, include_apis=True, retention_policy=RetentionPolicy(enabled=True, days=5))
# Create CORS rules
cors_rule1 = CorsRule(['www.xyz.com'], ['GET'])
allowed_origins = ['www.xyz.com', "www.ab.com", "www.bc.com"]
allowed_methods = ['GET', 'PUT']
max_age_in_seconds = 500
exposed_headers = ["x-ms-meta-data*", "x-ms-meta-source*", "x-ms-meta-abc", "x-ms-meta-bcd"]
allowed_headers = ["x-ms-meta-data*", "x-ms-meta-target*", "x-ms-meta-xyz", "x-ms-meta-foo"]
cors_rule2 = CorsRule(
allowed_origins,
allowed_methods,
max_age_in_seconds=max_age_in_seconds,
exposed_headers=exposed_headers,
allowed_headers=allowed_headers
)
cors = [cors_rule1, cors_rule2]
# Set the service properties
await queue_service.set_service_properties(logging, hour_metrics, minute_metrics, cors)
Атрибуты
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