Compartir a través de


QueueServiceClient Clase

Un cliente para interactuar con Queue Service en el nivel de cuenta.

Este cliente proporciona operaciones para recuperar y configurar las propiedades de la cuenta, así como enumerar, crear y eliminar colas dentro de la cuenta. En el caso de las operaciones relacionadas con una cola específica, se puede recuperar un cliente para esta entidad mediante la get_queue_client función .

Para obtener más configuración opcional, haga clic aquí.

Herencia
azure.storage.queue._shared.base_client.StorageAccountHostsMixin
QueueServiceClient
azure.storage.queue._encryption.StorageEncryptionMixin
QueueServiceClient

Constructor

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

Parámetros

account_url
str
Requerido

Dirección URL del punto de conexión de queue service. Cualquier otra entidad incluida en la ruta de acceso url (por ejemplo, cola) se descartará. Esta dirección URL se puede autenticar opcionalmente con un token de SAS.

credential
valor predeterminado: None

Credenciales con las que se va a autenticar. Esto es opcional si la dirección URL de la cuenta ya tiene un token de SAS. El valor puede ser una cadena de token de SAS, una instancia de AzureSasCredential o AzureNamedKeyCredential de azure.core.credentials, una clave de acceso compartido de cuenta o una instancia de una clase TokenCredentials de azure.identity. Si el URI del recurso ya contiene un token de SAS, se omitirá en favor de una credencial explícita.

  • excepto en el caso de AzureSasCredential, donde los tokens de SAS en conflicto generarán un valor ValueError. Si usa una instancia de AzureNamedKeyCredential, "name" debe ser el nombre de la cuenta de almacenamiento y "key" debe ser la clave de la cuenta de almacenamiento.
api_version
str

La versión de la API de Storage que se va a usar para las solicitudes. El valor predeterminado es la versión de servicio más reciente que es compatible con el SDK actual. Establecer en una versión anterior puede dar lugar a una reducción de la compatibilidad de características.

secondary_hostname
str

Nombre de host del punto de conexión secundario.

audience
str

Audiencia que se va a usar al solicitar tokens para la autenticación de Azure Active Directory. Solo tiene un efecto cuando la credencial es de tipo TokenCredential. El valor podría ser https://storage.azure.com/ (valor predeterminado) o https://.queue.core.windows.net.

Ejemplos

Creación de QueueServiceClient con una dirección URL de cuenta y una credencial.


   from azure.storage.queue import QueueServiceClient
   queue_service = QueueServiceClient(account_url=self.account_url, credential=self.access_key)

Creación de QueueServiceClient con credenciales de identidad de Azure.


   # Get a token credential for authentication
   from azure.identity 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 import QueueServiceClient
   queue_service = QueueServiceClient(account_url=self.account_url, credential=token_credential)

Métodos

close

Este método es cerrar los sockets abiertos por el cliente. No es necesario usarse cuando se usa con un administrador de contexto.

create_queue

Crea una cola en la cuenta especificada.

Si ya existe una cola con el mismo nombre, se produce un error en la operación. Devuelve un cliente con el que interactuar con la cola recién creada.

delete_queue

Elimina la cola especificada y los mensajes que contiene.

Cuando se elimina correctamente una cola, se marca inmediatamente para su eliminación y ya no es accesible para los clientes. La cola se quita más tarde del servicio Cola, durante la recolección de elementos no utilizados.

Tenga en cuenta que es probable que la eliminación de una cola tarde al menos 40 segundos en completarse. Si se intenta realizar una operación en la cola mientras se estaba eliminando, se producirá una <xref:azure.storage.queue.HttpResponseError> excepción .

from_connection_string

Cree QueueServiceClient a partir de una cadena de conexión.

get_queue_client

Obtener un cliente para interactuar con la cola especificada.

La cola aún no debe existir.

get_service_properties

Obtiene las propiedades de Queue Service de una cuenta de almacenamiento, incluido Azure Storage Analytics.

get_service_stats

Recupera las estadísticas relacionadas con la replicación para el servicio Cola.

Solo está disponible cuando la replicación con redundancia geográfica con acceso de lectura está habilitada para la cuenta de almacenamiento.

Con la replicación con redundancia geográfica, Azure Storage mantiene los datos duraderos en dos ubicaciones. En las dos ubicaciones, Azure Storage mantiene constantemente réplicas en estado correcto de los datos. La ubicación en la que lee, crea, actualiza o elimina los datos es la ubicación de la cuenta de almacenamiento principal. La ubicación principal existe en la región que elija en el momento en que cree una cuenta a través del Portal de Administración de Azure clásico de Azure, por ejemplo, Centro-norte de EE. UU. La ubicación en la que se replican los datos es la ubicación secundaria. La ubicación secundaria se determina automáticamente según la ubicación de la principal; está en un segundo centro de datos que se encuentra en la misma región que la ubicación principal. El acceso de solo lectura está disponible en la ubicación secundaria, si la replicación con redundancia geográfica con acceso de lectura está habilitada para la cuenta de almacenamiento.

list_queues

Devuelve un generador para enumerar las colas de la cuenta especificada.

El generador seguirá de forma diferida los tokens de continuación devueltos por el servicio y se detendrá cuando se devuelvan todas las colas.

set_service_properties

Establece las propiedades de Queue Service de una cuenta de almacenamiento, incluido Azure Storage Analytics.

Si un elemento (por ejemplo, analytics_logging) se deja como None, se conserva la configuración existente en el servicio para esa funcionalidad.

close

Este método es cerrar los sockets abiertos por el cliente. No es necesario usarse cuando se usa con un administrador de contexto.

close()

create_queue

Crea una cola en la cuenta especificada.

Si ya existe una cola con el mismo nombre, se produce un error en la operación. Devuelve un cliente con el que interactuar con la cola recién creada.

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

Parámetros

name
str
Requerido

Nombre de la cola que se va a crear.

metadata
Dict[str, str]
Requerido

Un dict con pares de name_value que se van a asociar a la cola como metadatos. Ejemplo: {'Category': 'test'}

timeout
int

El parámetro de tiempo de espera se expresa en segundos.

Devoluciones

QueueClient para la cola recién creada.

Tipo de valor devuelto

Ejemplos

Cree una cola en el servicio.


   queue_service.create_queue("myqueue1")

delete_queue

Elimina la cola especificada y los mensajes que contiene.

Cuando se elimina correctamente una cola, se marca inmediatamente para su eliminación y ya no es accesible para los clientes. La cola se quita más tarde del servicio Cola, durante la recolección de elementos no utilizados.

Tenga en cuenta que es probable que la eliminación de una cola tarde al menos 40 segundos en completarse. Si se intenta realizar una operación en la cola mientras se estaba eliminando, se producirá una <xref:azure.storage.queue.HttpResponseError> excepción .

delete_queue(queue: QueueProperties | str, **kwargs: Any) -> None

Parámetros

queue
str o QueueProperties
Requerido

Cola que se va a eliminar. Puede ser el nombre de la cola o una instancia de QueueProperties.

timeout
int

El parámetro de tiempo de espera se expresa en segundos.

Tipo de valor devuelto

Ejemplos

Elimine una cola en el servicio.


   queue_service.delete_queue("myqueue1")

from_connection_string

Cree QueueServiceClient a partir de una cadena de conexión.

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

Parámetros

conn_str
str
Requerido

Un cadena de conexión a una cuenta de Azure Storage.

credential
valor predeterminado: None

Credenciales con las que se va a autenticar. Esto es opcional si la dirección URL de la cuenta ya tiene un token de SAS o el cadena de conexión ya tiene valores de clave de acceso compartido. El valor puede ser una cadena de token de SAS, una instancia de AzureSasCredential o AzureNamedKeyCredential de azure.core.credentials, una clave de acceso compartido de cuenta o una instancia de una clase TokenCredentials de azure.identity. Las credenciales proporcionadas aquí tendrán prioridad sobre las de la cadena de conexión. Si usa una instancia de AzureNamedKeyCredential, "name" debe ser el nombre de la cuenta de almacenamiento y "key" debe ser la clave de la cuenta de almacenamiento.

audience
str

Audiencia que se va a usar al solicitar tokens para la autenticación de Azure Active Directory. Solo tiene un efecto cuando la credencial es de tipo TokenCredential. El valor podría ser https://storage.azure.com/ (valor predeterminado) o https://.queue.core.windows.net.

Devoluciones

Un cliente de Queue Service.

Tipo de valor devuelto

Ejemplos

Creación de QueueServiceClient con un cadena de conexión.


   from azure.storage.queue import QueueServiceClient
   queue_service = QueueServiceClient.from_connection_string(conn_str=self.connection_string)

get_queue_client

Obtener un cliente para interactuar con la cola especificada.

La cola aún no debe existir.

get_queue_client(queue: QueueProperties | str, **kwargs: Any) -> QueueClient

Parámetros

queue
str o QueueProperties
Requerido

Cola. Puede ser el nombre de la cola o una instancia de QueueProperties.

Devoluciones

Un objeto QueueClient.

Tipo de valor devuelto

Ejemplos

Obtenga el cliente de cola.


   # Get the queue client to interact with a specific queue
   queue = queue_service.get_queue_client(queue="myqueue2")

get_service_properties

Obtiene las propiedades de Queue Service de una cuenta de almacenamiento, incluido Azure Storage Analytics.

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

Parámetros

timeout
int

El parámetro de tiempo de espera se expresa en segundos.

Devoluciones

Objeto que contiene propiedades del servicio de cola, como el registro de análisis, las métricas de hora y minuto, las reglas de cors, etc.

Tipo de valor devuelto

Ejemplos

Obtención de propiedades de Queue Service.


   properties = queue_service.get_service_properties()

get_service_stats

Recupera las estadísticas relacionadas con la replicación para el servicio Cola.

Solo está disponible cuando la replicación con redundancia geográfica con acceso de lectura está habilitada para la cuenta de almacenamiento.

Con la replicación con redundancia geográfica, Azure Storage mantiene los datos duraderos en dos ubicaciones. En las dos ubicaciones, Azure Storage mantiene constantemente réplicas en estado correcto de los datos. La ubicación en la que lee, crea, actualiza o elimina los datos es la ubicación de la cuenta de almacenamiento principal. La ubicación principal existe en la región que elija en el momento en que cree una cuenta a través del Portal de Administración de Azure clásico de Azure, por ejemplo, Centro-norte de EE. UU. La ubicación en la que se replican los datos es la ubicación secundaria. La ubicación secundaria se determina automáticamente según la ubicación de la principal; está en un segundo centro de datos que se encuentra en la misma región que la ubicación principal. El acceso de solo lectura está disponible en la ubicación secundaria, si la replicación con redundancia geográfica con acceso de lectura está habilitada para la cuenta de almacenamiento.

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

Parámetros

timeout
int

El parámetro de tiempo de espera se expresa en segundos.

Devoluciones

Las estadísticas del servicio Cola.

Tipo de valor devuelto

list_queues

Devuelve un generador para enumerar las colas de la cuenta especificada.

El generador seguirá de forma diferida los tokens de continuación devueltos por el servicio y se detendrá cuando se devuelvan todas las colas.

list_queues(name_starts_with: str | None = None, include_metadata: bool | None = False, **kwargs: Any) -> ItemPaged[QueueProperties]

Parámetros

name_starts_with
str
Requerido

Filtra los resultados para devolver solo las colas cuyos nombres comienzan por el prefijo especificado.

include_metadata
bool
Requerido

Especifica que los metadatos de la cola se devuelven en la respuesta.

results_per_page
int

Número máximo de nombres de cola que se van a recuperar por llamada API. Si la solicitud no especifica que el servidor devuelva hasta 5000 elementos.

timeout
int

Establece el tiempo de espera del lado servidor para la operación en segundos. Para más información, consulte https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations. Este valor no se realiza ni se valida en el cliente. Para configurar los tiempos de espera de red del lado cliente, consulte aquí. Esta función puede realizar varias llamadas al servicio en cuyo caso el valor de tiempo de espera especificado se aplicará a cada llamada individual.

Devoluciones

Iterable (paginación automática) de QueueProperties.

Tipo de valor devuelto

Ejemplos

Enumera las colas en el servicio.


   # List all the queues in the service
   list_queues = queue_service.list_queues()
   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")
   for queue in list_my_queues:
       print(queue)

set_service_properties

Establece las propiedades de Queue Service de una cuenta de almacenamiento, incluido Azure Storage Analytics.

Si un elemento (por ejemplo, analytics_logging) se deja como None, se conserva la configuración existente en el servicio para esa funcionalidad.

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

Parámetros

analytics_logging
QueueAnalyticsLogging
Requerido

Agrupa los valores de Logging de análisis de Azure.

hour_metrics
Metrics
Requerido

La configuración de métricas de hora proporciona un resumen de las estadísticas de solicitud agrupadas por API en agregados por hora para las colas.

minute_metrics
Metrics
Requerido

La configuración de métricas por minuto proporciona estadísticas de solicitud para cada minuto para las colas.

cors
Optional[List[CorsRule]]
Requerido

Puede incluir hasta cinco elementos CorsRule en la lista. Si se especifica una lista vacía, se eliminarán todas las reglas de CORS y CORS se deshabilitará para el servicio.

timeout
int

El parámetro de tiempo de espera se expresa en segundos.

Ejemplos

Establecer las propiedades del servicio de colas.


   # 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
   queue_service.set_service_properties(logging, hour_metrics, minute_metrics, cors)

Atributos

api_version

La versión de la API de storage que se usa para las solicitudes.

Tipo de valor devuelto

str

location_mode

Modo de ubicación que el cliente está usando actualmente.

De forma predeterminada, será "principal". Las opciones incluyen "primary" y "secondary".

Tipo de valor devuelto

str

primary_endpoint

Dirección URL completa del punto de conexión principal.

Tipo de valor devuelto

str

primary_hostname

Nombre de host del punto de conexión principal.

Tipo de valor devuelto

str

secondary_endpoint

Dirección URL completa del punto de conexión secundario si está configurada.

Si no está disponible, se generará un valor ValueError. Para especificar explícitamente un nombre de host secundario, use el argumento opcional secondary_hostname palabra clave en la creación de instancias.

Tipo de valor devuelto

str

Excepciones

secondary_hostname

Nombre de host del punto de conexión secundario.

Si no está disponible, será Ninguno. Para especificar explícitamente un nombre de host secundario, use el argumento opcional secondary_hostname palabra clave en la creación de instancias.

Tipo de valor devuelto

url

Dirección URL completa del punto de conexión a esta entidad, incluido el token de SAS si se usa.

Puede ser el punto de conexión principal o el punto de conexión secundario según el actual location_mode. :returns: la dirección URL completa del punto de conexión a esta entidad, incluido el token de SAS si se usa. :rtype: str