Set Queue Service Properties

La Set Queue Service Properties operación establece propiedades para el punto de conexión de Queue Service de una cuenta de almacenamiento, incluidas las propiedades de Storage Analytics y reglas de uso compartido de recursos entre orígenes (CORS). Consulte Compatibilidad con CORS para los servicios de almacenamiento para obtener más información sobre las reglas de CORS.

Request

Puede especificar la Set Queue Service Properties solicitud como se indica a continuación. Se recomienda usar HTTPS. Reemplace account-name por el nombre de la cuenta de almacenamiento:

Método URI de solicitud Versión de HTTP
PUT https://account-name.queue.core.windows.net/?restype=service&comp=properties HTTP/1.1

Nota:

El URI siempre debe incluir un carácter de barra diagonal (/) para separar el nombre de host de la ruta de acceso y las partes de consulta del URI. En esta operación, la parte de ruta de acceso del URI está vacía.

Parámetros del identificador URI

Parámetro Descripción
restype=service&comp=properties Necesario. La combinación de ambas cadenas de consulta es necesaria para establecer las propiedades del servicio Azure Storage.
timeout Opcional. El parámetro timeout se expresa en segundos. Para más información, consulte Establecimiento de tiempos de espera para las operaciones de Queue Service.

Encabezados de solicitud

Los encabezados de solicitud obligatorios y opcionales se describen en la tabla siguiente:

Encabezado de solicitud Descripción
Authorization Necesario. Especifica el esquema de autorización, el nombre de la cuenta de almacenamiento y la firma. Para obtener más información, vea Autorización de solicitudes a Azure Storage.
Date o x-ms-date Necesario. Especifica la hora universal coordinada (UTC) de la solicitud. Para obtener más información, vea Autorización de solicitudes a Azure Storage.
x-ms-version Necesario para todas las solicitudes autorizadas. Especifica la versión de la operación que se utiliza para esta solicitud. Para obtener más información, vea Versiones de los servicios de Azure Storage.
x-ms-client-request-id Opcional. Proporciona un valor opaco generado por el cliente con un límite de caracteres de 1 kibibyte (KiB) que se registra en los registros cuando se configura el registro. Se recomienda encarecidamente usar este encabezado para correlacionar las actividades del lado cliente con las solicitudes que recibe el servidor. Para más información, consulte Supervisión de Azure Queue Storage.

Cuerpo de la solicitud

Para la versión 2012-02-12 y otras anteriores, el formato del cuerpo de la solicitud es el siguiente:

<?xml version="1.0" encoding="utf-8"?>  
<StorageServiceProperties>  
    <Logging>  
        <Version>version-number</Version>  
        <Delete>true|false</Delete>  
        <Read>true|false</Read>  
        <Write>true|false</Write>  
        <RetentionPolicy>  
            <Enabled>true|false</Enabled>  
            <Days>number-of-days</Days>  
        </RetentionPolicy>  
    </Logging>  
    <Metrics>  
        <Version>version-number</Version>  
        <Enabled>true|false</Enabled>  
        <IncludeAPIs>true|false</IncludeAPIs>  
        <RetentionPolicy>  
            <Enabled>true|false</Enabled>  
            <Days>number-of-days</Days>  
        </RetentionPolicy>  
    </Metrics>  
</StorageServiceProperties>  

Para la versión 2013-08-15 y otras posteriores, el formato del cuerpo de la solicitud es el siguiente:

<?xml version="1.0" encoding="utf-8"?>  
<StorageServiceProperties>  
    <Logging>  
        <Version>version-number</Version>  
        <Delete>true|false</Delete>  
        <Read>true|false</Read>  
        <Write>true|false</Write>  
        <RetentionPolicy>  
            <Enabled>true|false</Enabled>  
            <Days>number-of-days</Days>  
        </RetentionPolicy>  
    </Logging>  
    <HourMetrics>  
        <Version>version-number</Version>  
        <Enabled>true|false</Enabled>  
        <IncludeAPIs>true|false</IncludeAPIs>  
        <RetentionPolicy>  
            <Enabled>true|false</Enabled>  
            <Days>number-of-days</Days>  
        </RetentionPolicy>  
    </HourMetrics>  
    <MinuteMetrics>  
        <Version>version-number</Version>  
        <Enabled>true|false</Enabled>  
        <IncludeAPIs>true|false</IncludeAPIs>  
        <RetentionPolicy>  
            <Enabled>true|false</Enabled>  
            <Days>number-of-days</Days>  
        </RetentionPolicy>  
    </MinuteMetrics>  
    <Cors>  
        <CorsRule>  
            <AllowedOrigins>comma-separated-list-of-allowed-origins</AllowedOrigins>  
            <AllowedMethods>comma-separated-list-of-HTTP-verb</AllowedMethods>  
            <MaxAgeInSeconds>max-caching-age-in-seconds</MaxAgeInSeconds>  
            <ExposedHeaders>comma-seperated-list-of-response-headers</ExposedHeaders>  
            <AllowedHeaders> comma-seperated-list-of-request-headers </AllowedHeaders>  
        </CorsRule>  
    </Cors>  
</StorageServiceProperties>  

A partir de la versión 2013-08-15, puede llamar a Set Queue Service Properties con uno o varios elementos raíz especificados en el cuerpo de la solicitud. Entre los elementos raíz se incluyen:

  • Logging
  • HourMetrics
  • MinuteMetrics
  • Cors

Ya no es necesario especificar todos los elementos raíz en la solicitud. Si omite un elemento raíz, se conservan los valores existentes del servicio para esa funcionalidad. Sin embargo, si especifica un elemento raíz especificado, debe especificar todos los elementos secundarios para ese elemento.

Los elementos del cuerpo de la solicitud se describen en la tabla siguiente:

Nombre del elemento Descripción
Logging Opcional a partir de la versión 2013-08-15. Es necesario para las versiones anteriores. Agrupa la configuración de registro de Storage Analytics.
Métricas Es necesario para las versiones 2012-02-12 y anteriores. No es aplicable a la versión 2013-08-15 y posteriores. Agrupa la configuración de métricas de Storage Analytics. Los valores de Metrics proporcionan un resumen de las estadísticas de solicitudes agrupadas por API en agregados a intervalos de una hora para las colas.
HourMetrics Opcional para la versión 2013-08-15 y posteriores. No es aplicable a versiones anteriores. Agrupa la configuración de Storage Analytics HourMetrics. Los valores de HourMetrics proporcionan un resumen de las estadísticas de solicitudes agrupadas por API en agregados a intervalos de una hora para las colas.
MinuteMetrics Opcional para la versión 2013-08-15 y posteriores. No es aplicable a versiones anteriores. Agrupa la configuración de Storage Analytics MinuteMetrics. Los valores de MinuteMetrics proporcionan estadísticas de solicitudes para cada minuto para las colas. En las versiones anteriores a 2013-08-15, MinuteMetrics no se incluye en el cuerpo de la respuesta.
Versión Obligatorio si se especifican los valores de Registro, Métricas, HourMetrics o MinuteMetrics . La versión del análisis de almacenamiento que se va a configurar.
Eliminar Obligatorio si se especifican los valores de Registro, Métricas, HourMetrics o MinuteMetrics . Se aplica solamente a la configuración de registro. Indica si se deben registrar todas las solicitudes de eliminación.
Lectura Obligatorio si se especifican los valores de Registro, Métricas, HourMetrics o MinuteMetrics . Se aplica solamente a la configuración de registro. Indica si se deben registrar todas las solicitudes de lectura.
Escritura Obligatorio si se especifican los valores de Registro, Métricas, HourMetrics o MinuteMetrics . Se aplica solamente a la configuración de registro. Indica si se deben registrar todas las solicitudes de escritura.
Enabled Necesario. Indica si están habilitadas las métricas para el servicio Cola.

Si está habilitada la replicación con redundancia geográfica con acceso de lectura, se recopilan las métricas principales y secundarias. Si la replicación con redundancia geográfica con acceso de lectura no está habilitada, solo se recopilan las métricas principales.
IncludeAPIs Solo es obligatorio si se han habilitado las métricas. Se aplica solamente a la configuración de métricas. Indica si las métricas deben generar estadísticas de resumen para las operaciones de la API a las que se ha llamado.
RetentionPolicy/Enabled Necesario. Indica si se ha habilitado una directiva de retención para el servicio de almacenamiento.
RetentionPolicy/Days Solo es obligatorio si se ha habilitado una directiva de retención. Indica el número de días que se deberían conservar los datos de métricas o de registro. Se eliminarán todos los datos anteriores a este valor. El valor mínimo que puede especificar es 1y el valor máximo es 365 (un año).
Cors Opcional. El elemento Cors es compatible con la versión 2013-08-15 y posteriores. Agrupa todas las reglas de CORS.

La omisión de este grupo de elementos no sobrescribirá los valores existentes de CORS.
CorsRule Opcional. Especifica una regla de CORS para el servicio Cola. Puede incluir hasta cinco elementos CorsRule en la solicitud. Si no se incluyen elementos CorsRule en el cuerpo de la solicitud, se eliminarán todas las reglas de CORS y CORS se deshabilitará para Queue Service.
AllowedOrigins Obligatorio si el elemento CorsRule está presente. Lista delimitada por comas de dominios de origen que se permitirán mediante CORS, o “*” para permitir todos los dominios. Un dominio de origen también puede incluir un carácter comodín en el subdominio para permitir solicitudes a través de CORS para todos los subdominios de un dominio. Tiene un límite de 64 dominios de origen. Cada origen permitido puede tener un máximo de 256 caracteres.
ExposedHeaders Obligatorio si el elemento CorsRule está presente. Lista delimitada por comas de encabezados de respuesta para exponer a los clientes de CORS. Tiene un límite de 64 encabezados definidos y dos encabezados con prefijo. Cada encabezado puede contener hasta 256 caracteres.
MaxAgeInSeconds Obligatorio si el elemento CorsRule está presente. Número de segundos durante los cuales el cliente/explorador debe almacenar en memoria caché una respuesta de comprobaciones preparatorias.
AllowedHeaders Obligatorio si el elemento CorsRule existe. Lista delimitada por comas de encabezados que se permite que formen parte de la solicitud entre orígenes. Tiene un límite de 64 encabezados definidos y 2 encabezados con prefijo. Cada encabezado puede contener hasta 256 caracteres.
AllowedMethods Obligatorio si el elemento CorsRule existe. Lista delimitada por comas de los métodos HTTP que puede ejecutar el origen. Para Azure Storage, los métodos permitidos son DELETE, GETHEAD, MERGE, POST, , OPTIONSo PUT.

Response

La respuesta incluye un código de estado HTTP y un conjunto de encabezados de respuesta.

status code

Una operación correcta devuelve el código de estado 202 (Aceptado).

Encabezados de respuesta

La respuesta para esta operación incluye los encabezados siguientes. La respuesta también puede incluir otros encabezados HTTP estándar. Todos los encabezados estándar se ajustan a la especificación del protocolo HTTP/1.1.

Encabezado de respuesta Descripción
x-ms-request-id Identifica de forma única una solicitud que se realiza en el servicio.
x-ms-version Especifica la versión de la operación que se usó para la respuesta. Para obtener más información, vea Versiones de los servicios de Azure Storage.
x-ms-client-request-id Se puede usar para solucionar problemas de solicitudes y respuestas correspondientes. El valor de este encabezado es igual al valor del x-ms-client-request-id encabezado si está presente en la solicitud y el valor no contiene más de 1024 caracteres ASCII visibles. Si el x-ms-client-request-id encabezado no está presente en la solicitud, no estará presente en la respuesta.

Response body

Ninguno.

Authorization

Solo el propietario de la cuenta puede llamar a esta operación.

Comentarios

En Almacenamiento de Azure se aplican las restricciones y limitaciones siguientes a las reglas de CORS:

  • Se puede almacenar un máximo de cinco reglas.

  • El tamaño máximo de todas las configuraciones de reglas de CORS en la solicitud, excepto las etiquetas XML, no debe superar los 2 KiB.

  • La longitud de un encabezado permitido, un encabezado expuesto o un origen permitido no debe superar los 256 caracteres.

  • Los encabezados permitidos y los encabezados expuestos pueden ser cualquiera de los siguientes:

    • Encabezados literales, donde se proporciona el nombre exacto del encabezado, por ejemplo x-ms-meta-processed. Se puede especificar un máximo de 64 encabezados literales en la solicitud.

    • Encabezados con prefijo, donde se proporciona un prefijo del encabezado, por ejemplo x-ms-meta-data*. Especificar un prefijo de esta manera permite o expone cualquier encabezado que comience por el prefijo especificado. Se puede especificar un máximo de dos encabezados con prefijo en la solicitud.

  • Los métodos (o verbos HTTP) especificados en el AllowedMethods elemento deben cumplir los métodos admitidos por las API del servicio Azure Storage. Los métodos admitidos son DELETE, GET, HEADMERGE, POST, , OPTIONSy PUT.

Es opcional especificar reglas de CORS en la solicitud. Si llama a Set Queue Service Properties sin especificar el elemento Cors en el cuerpo de la solicitud, se mantienen las reglas de CORS existentes.

Para deshabilitar CORS, llame a Set Queue Service Properties con una configuración de reglas cors vacías (es decir, *</Cors>) y sin reglas cors internas. Esta llamada elimina las reglas existentes y deshabilita CORS para Queue Service.

Todos los elementos de regla de CORS son necesarios si se especifica el elemento CorsRule . Se produce un error en la solicitud con el código de error 400 (Bad Request) si falta algún elemento.

A partir de la versión 2013-08-15, los elementos de configuración XML son opcionales, por lo que puede actualizar un elemento específico enviando un XML que contenga solo el elemento actualizado. Otras opciones de configuración no se ven afectadas.

Para obtener información detallada sobre las reglas de CORS y la lógica de evaluación, consulte Compatibilidad de CORS con los servicios de Azure Storage.

Solicitud y respuesta de ejemplo

El siguiente URI de ejemplo realiza una solicitud para cambiar las propiedades de Queue Service para una cuenta de almacenamiento ficticia denominada myaccount:

PUT https://myaccount.queue.core.windows.net/?restype=service&comp=properties HTTP/1.1  

La solicitud se envía con los encabezados siguientes:

x-ms-version: 2013-08-15  
x-ms-date: Wed, 23 Oct 2013 04:28:19 GMT  
Authorization: SharedKey  
myaccount:Z1lTLDwtq5o1UYQluucdsXk6/iB7YxEu0m6VofAEkUE=  
Host: myaccount.queue.core.windows.net  

La solicitud se envía con el cuerpo XML siguiente:

<?xml version="1.0" encoding="utf-8"?>  
<StorageServiceProperties>  
    <Logging>  
        <Version>1.0</Version>  
        <Delete>true</Delete>  
        <Read>false</Read>  
        <Write>true</Write>  
        <RetentionPolicy>  
            <Enabled>true</Enabled>  
            <Days>7</Days>  
        </RetentionPolicy>  
    </Logging>  
    <HourMetrics>  
        <Version>1.0</Version>  
        <Enabled>true</Enabled>  
        <IncludeAPIs>false</IncludeAPIs>  
        <RetentionPolicy>  
            <Enabled>true</Enabled>  
            <Days>7</Days>  
        </RetentionPolicy>  
    </HourMetrics>  
    <MinuteMetrics>  
        <Version>version-number</Version>  
        <Enabled>true|false</Enabled>  
        <IncludeAPIs>true|false</IncludeAPIs>  
        <RetentionPolicy>  
            <Enabled>true|false</Enabled>  
            <Days>number-of-days</Days>  
        </RetentionPolicy>  
    </MinuteMetrics>  
    <Cors>  
        <CorsRule>  
            <AllowedOrigins> http://www.fabrikam.com,http://www.contoso.com</AllowedOrigins>  
            <AllowedMethods>GET,PUT</AllowedMethods>  
            <MaxAgeInSeconds>500</MaxAgeInSeconds>  
            <ExposedHeaders>x-ms-meta-data*,x-ms-meta-customheader</ExposedHeaders>  
            <AllowedHeaders>x-ms-meta-target*,x-ms-meta-customheader</AllowedHeaders>  
        </CorsRule>  
    </Cors>  
</StorageServiceProperties>  
  

Una vez enviada la solicitud, se devuelve la respuesta siguiente:

HTTP/1.1 202 Accepted  
Connection: Keep-Alive  
Transfer-Encoding: chunked  
Date: Wed, 23 Oct 2013 04:28:20 GMT  
Server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0  
x-ms-request-id: cb939a31-0cc6-49bb-9fe5-3327691f2a30  
x-ms-version: 2013-08-15  
  

Consulte también

Compatibilidad de CORS con los servicios de Azure Storage
Especificación HTTP de CORS