Compartir a través de


Integración de Azure Queue Storage con el conector de servicio

En esta página se muestran los métodos de autenticación y los clientes compatibles, y el código de ejemplo que puede utilizar para conectar Azure Queue Storage a otros servicios en la nube mediante el conector de servicio. Es posible que pueda conectarse igualmente a Azure Queue Storage en otros lenguajes de programación sin usar el conector de servicio. Esta página también muestra los nombres y valores predeterminados de las variables de entorno o la configuración de Spring Boot que se obtiene al crear la conexión de servicio.

Servicios de proceso admitidos

El conector de servicio se puede utilizar para conectar los siguientes servicios de proceso a Azure Queue Storage:

  • Azure App Service
  • Azure Container Apps
  • Funciones de Azure
  • Azure Kubernetes Service (AKS)
  • Azure Spring Apps

Tipos de autenticación y tipos de cliente admitidos

En la tabla siguiente se muestran las combinaciones de métodos de autenticación y clientes que se admiten para conectar el servicio de proceso a Azure Queue Storage mediante el conector de servicio. Un valor "Sí" indica que se admite la combinación, mientras que "No" indica que no se admite.

Tipo de cliente Identidad administrada asignada por el sistema Identidad administrada asignada por el usuario Secreto/cadena de conexión Entidad de servicio
.NET
Java
Java: Spring Boot
Node.js
Python

En esta tabla se indica que se admiten todas las combinaciones de tipos de cliente y métodos de autenticación, excepto para el tipo de cliente Java - Spring Boot, que solo admite el método de secreto o cadena de conexión. Todos los demás tipos de cliente pueden utilizar cualquiera de los métodos de autenticación para conectarse a Azure Queue Storage mediante el conector de servicio.

Nombres de variables de entorno predeterminados o propiedades de aplicación y código de ejemplo

Use los detalles de conexión siguientes para conectar servicios de proceso a Queue Storage. En los ejemplos siguientes, reemplace los textos de marcador de posición <account name>, <account-key>, <client-ID>, <client-secret>, <tenant-ID> y <storage-account-name> por su propio nombre de cuenta, clave de cuenta, id. de cliente, secreto de cliente, id. de inquilino y nombre de cuenta de almacenamiento. Para más información sobre las convenciones de nomenclatura, consulte el artículo sobre los elementos internos del conector de servicio.

Identidad administrada asignada por el sistema

Cliente de SpringBoot

La autenticación con una identidad administrada asignada por el sistema solo está disponible para Spring Cloud Azure versión 4.0 o posterior.

Nombre de la variable de entorno predeterminado Descripción Valor de ejemplo
spring.cloud.azure.storage.queue.credential.managed-identity-enabled Si se va a habilitar la identidad administrada True
spring.cloud.azure.storage.queue.account-name Nombre de la cuenta de almacenamiento storage-account-name
spring.cloud.azure.storage.queue.endpoint Punto de conexión de Queue Storage https://<storage-account-name>.queue.core.windows.net/

Otros clientes

Nombre de la variable de entorno predeterminado Descripción Valor de ejemplo
AZURE_STORAGEQUEUE_RESOURCEENDPOINT Punto de conexión de Queue Storage https://<storage-account-name>.queue.core.windows.net/

Código de ejemplo

Consulte los pasos y el código siguientes para conectarse a Azure Queue Storage mediante una identidad administrada asignada por el sistema.

  1. Instalación de la dependencia

    dotnet add package Azure.Storage.Queues
    dotnet add package Azure.Identity
    
  2. Autentíquese mediante Azure.Identity y obtenga el punto de conexión de Azure Queue Storage de las variables de entorno agregadas por el conector de servicio. Al usar el código siguiente, quite la marca de comentario de la parte del fragmento de código para el tipo de autenticación que desea usar.

    using Azure.Storage.Queues;
    using Azure.Identity;    
    
    // Uncomment the following lines corresponding to the authentication type you want to use.
    // system-assigned managed identity
    // var credential = new DefaultAzureCredential();
    
    // user-assigned managed identity
    // var credential = new DefaultAzureCredential(
    //     new DefaultAzureCredentialOptions
    //     {
    //         ManagedIdentityClientId = Environment.GetEnvironmentVariable("AZURE_STORAGEQUEUE_CLIENTID");
    //     });
    
    // service principal 
    // var tenantId = Environment.GetEnvironmentVariable("AZURE_STORAGEQUEUE_TENANTID");
    // var clientId = Environment.GetEnvironmentVariable("AZURE_STORAGEQUEUE_CLIENTID");
    // var clientSecret = Environment.GetEnvironmentVariable("AZURE_STORAGEQUEUE_CLIENTSECRET");
    // var credential = new ClientSecretCredential(tenantId, clientId, clientSecret);
    
    Uri queueUri = new Uri(Environment.GetEnvironmentVariable("AZURE_STORAGEQUEUE_RESOURCEENDPOINT"));
    QueueClient queue = new QueueClient(queueUri, credential);
    

Identidad administrada asignada por el usuario

Cliente de SpringBoot

La autenticación con una identidad administrada asignada por el usuario solo está disponible para Spring Cloud Azure versión 4.0 o posterior.

Nombre de la variable de entorno predeterminado Descripción Valor de ejemplo
spring.cloud.azure.storage.queue.credential.managed-identity-enabled Si se va a habilitar la identidad administrada True
spring.cloud.azure.storage.queue.account-name Nombre de la cuenta de almacenamiento storage-account-name
spring.cloud.azure.storage.queue.endpoint Punto de conexión de Queue Storage https://<storage-account-name>.queue.core.windows.net/
spring.cloud.azure.storage.queue.credential.client-id Identificador de cliente de la identidad administrada asignada por el usuario 00001111-aaaa-2222-bbbb-3333cccc4444

Otros clientes

Nombre de la variable de entorno predeterminado Descripción Valor de ejemplo
AZURE_STORAGEQUEUE_RESOURCEENDPOINT Punto de conexión de Queue Storage https://<storage-account-name>.queue.core.windows.net/
AZURE_STORAGEQUEUE_CLIENTID Id. de cliente <client-ID>

Código de ejemplo

Consulte los pasos y el código siguientes para conectarse a Azure Queue Storage mediante una identidad administrada asignada por el usuario.

  1. Instalación de la dependencia

    dotnet add package Azure.Storage.Queues
    dotnet add package Azure.Identity
    
  2. Autentíquese mediante Azure.Identity y obtenga el punto de conexión de Azure Queue Storage de las variables de entorno agregadas por el conector de servicio. Al usar el código siguiente, quite la marca de comentario de la parte del fragmento de código para el tipo de autenticación que desea usar.

    using Azure.Storage.Queues;
    using Azure.Identity;    
    
    // Uncomment the following lines corresponding to the authentication type you want to use.
    // system-assigned managed identity
    // var credential = new DefaultAzureCredential();
    
    // user-assigned managed identity
    // var credential = new DefaultAzureCredential(
    //     new DefaultAzureCredentialOptions
    //     {
    //         ManagedIdentityClientId = Environment.GetEnvironmentVariable("AZURE_STORAGEQUEUE_CLIENTID");
    //     });
    
    // service principal 
    // var tenantId = Environment.GetEnvironmentVariable("AZURE_STORAGEQUEUE_TENANTID");
    // var clientId = Environment.GetEnvironmentVariable("AZURE_STORAGEQUEUE_CLIENTID");
    // var clientSecret = Environment.GetEnvironmentVariable("AZURE_STORAGEQUEUE_CLIENTSECRET");
    // var credential = new ClientSecretCredential(tenantId, clientId, clientSecret);
    
    Uri queueUri = new Uri(Environment.GetEnvironmentVariable("AZURE_STORAGEQUEUE_RESOURCEENDPOINT"));
    QueueClient queue = new QueueClient(queueUri, credential);
    

Cadena de conexión

Advertencia

Microsoft recomienda usar el flujo de autenticación más seguro disponible. El flujo de autenticación que se describe en este procedimiento requiere un alto grado de confianza en la aplicación y conlleva riesgos que no están presentes en otros flujos. Solo debe usar este flujo cuando otros flujos más seguros, como las identidades administradas, no sean viables.

Cliente de SpringBoot

Propiedades de la aplicación Descripción Valor de ejemplo
spring.cloud.azure.storage.account Nombre de cuenta de Queue Storage <storage-account-name>
spring.cloud.azure.storage.access-key Clave de cuenta de Queue Storage <account-key>
spring.cloud.azure.storage.queue.account-name Nombre de la cuenta de Queue Storage para la versión de Azure de Spring Cloud anterior a la 4.0 <storage-account-name>
spring.cloud.azure.storage.queue.account-key Clave de la cuenta de Queue Storage para la versión de Azure de Spring Cloud anterior a la 4.0 <account-key>
spring.cloud.azure.storage.queue.endpoint Punto de conexión de Queue Storage para la versión de Azure de Spring Cloud anterior a la 4.0 https://<storage-account-name>.queue.core.windows.net/

Otros clientes

Nombre de la variable de entorno predeterminado Descripción Valor de ejemplo
AZURE_STORAGEQUEUE_CONNECTIONSTRING Cadena de conexión de Queue Storage DefaultEndpointsProtocol=https;AccountName=<account-name>;AccountKey=<account-key>;EndpointSuffix=core.windows.net

Código de ejemplo

Consulte los pasos y el código siguientes para conectarse a Azure Queue Storage mediante una cadena de conexión.

  1. Instalación de la dependencia

    dotnet add package Azure.Storage.Queues
    
  2. Obtenga la cadena de conexión de la variable de entorno agregada por el conector de servicio.

    using Azure.Storage.Queues;
    
    var connectionString = Environment.GetEnvironmentVariable("AZURE_STORAGEQUEUE_CONNECTIONSTRING");
    QueueServiceClient service = new QueueServiceClient(connectionString);
    

Entidad de servicio

Cliente de SpringBoot

La autenticación con una entidad de servicio solo está disponible para Spring Cloud Versión 4.0 o posterior.

Nombre de la variable de entorno predeterminado Descripción Valor de ejemplo
spring.cloud.azure.storage.queue.account-name Nombre de la cuenta de almacenamiento storage-account-name
spring.cloud.azure.storage.queue.endpoint Punto de conexión de Queue Storage https://<storage-account-name>.queue.core.windows.net/
spring.cloud.azure.storage.queue.credential.client-id Id. de cliente de la entidad de servicio 00001111-aaaa-2222-bbbb-3333cccc4444
spring.cloud.azure.storage.queue.credential.client-secret Secreto de cliente para realizar la autenticación de la entidad de servicio Aa1Bb~2Cc3.-Dd4Ee5Ff6Gg7Hh8Ii9_Jj0Kk1Ll2

Otros clientes

Nombre de la variable de entorno predeterminado Descripción Valor de ejemplo
AZURE_STORAGEQUEUE_RESOURCEENDPOINT Punto de conexión de Queue Storage https://<storage-account-name>.queue.core.windows.net/
AZURE_STORAGEQUEUE_CLIENTID Id. de cliente <client-ID>
AZURE_STORAGEQUEUE_CLIENTSECRET Secreto de cliente <client-secret>
AZURE_STORAGEQUEUE_TENANTID El identificador de inquilino <tenant-ID>

Código de ejemplo

Consulte los pasos y el código siguientes para conectarse a Azure Queue Storage mediante una entidad de servicio.

  1. Instalación de la dependencia

    dotnet add package Azure.Storage.Queues
    dotnet add package Azure.Identity
    
  2. Autentíquese mediante Azure.Identity y obtenga el punto de conexión de Azure Queue Storage de las variables de entorno agregadas por el conector de servicio. Al usar el código siguiente, quite la marca de comentario de la parte del fragmento de código para el tipo de autenticación que desea usar.

    using Azure.Storage.Queues;
    using Azure.Identity;    
    
    // Uncomment the following lines corresponding to the authentication type you want to use.
    // system-assigned managed identity
    // var credential = new DefaultAzureCredential();
    
    // user-assigned managed identity
    // var credential = new DefaultAzureCredential(
    //     new DefaultAzureCredentialOptions
    //     {
    //         ManagedIdentityClientId = Environment.GetEnvironmentVariable("AZURE_STORAGEQUEUE_CLIENTID");
    //     });
    
    // service principal 
    // var tenantId = Environment.GetEnvironmentVariable("AZURE_STORAGEQUEUE_TENANTID");
    // var clientId = Environment.GetEnvironmentVariable("AZURE_STORAGEQUEUE_CLIENTID");
    // var clientSecret = Environment.GetEnvironmentVariable("AZURE_STORAGEQUEUE_CLIENTSECRET");
    // var credential = new ClientSecretCredential(tenantId, clientId, clientSecret);
    
    Uri queueUri = new Uri(Environment.GetEnvironmentVariable("AZURE_STORAGEQUEUE_RESOURCEENDPOINT"));
    QueueClient queue = new QueueClient(queueUri, credential);
    

Pasos siguientes

Para más información sobre Service Connector, siga los tutoriales que se enumeran a continuación.