Set Queue Service Properties

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

Solicitud

La solicitud Set Queue Service Properties se puede especificar como sigue. Se recomienda HTTPS. Reemplace <account-name> por el nombre de la cuenta de almacenamiento:

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

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

Parámetros de identificador URI

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

Encabezados de solicitud

En la tabla siguiente se describen los encabezados de solicitud requeridos y opcionales.

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, consulte 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, consulte Autorización de solicitudes a Azure Storage.
x-ms-version Obligatorio 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 Control de versiones para 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 KiB que se registra en los registros de análisis cuando se habilita el registro de análisis de almacenamiento. Se recomienda encarecidamente usar este encabezado para correlacionar las actividades del lado cliente con las solicitudes recibidas por el servidor. Para más información, consulte Acerca del registro de Storage Analytics y el registro de Azure: Uso de registros para realizar un seguimiento de las solicitudes de 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 especificando uno o varios elementos raíz en el cuerpo de la solicitud. Entre los elementos raíz se incluyen:

  • Registro

  • 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 determinado, debe especificar todos los elementos secundarios de ese elemento.

La tabla siguiente describe los elementos del cuerpo de la solicitud:

Nombre del elemento Descripción
Registro Opcional a partir de la versión 2013-08-15. Es necesario para las versiones anteriores. Agrupa los valores de Logging de análisis de Azure.
Métricas Es necesario para las versiones 2012-02-12 y anteriores. No aplicable para la versión 2013-08-15 o posteriores. Agrupa la configuración de métricas de Azure 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 o posterior; no es aplicable a versiones anteriores. Agrupa los valores de HourMetrics de análisis de Azure. 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 o posterior; no es aplicable a versiones anteriores. Agrupa los valores de MinuteMetrics de análisis de Azure. Los valores de MinuteMetrics proporcionan estadísticas de solicitudes para cada minuto para las colas. En el caso de las versiones anteriores a 2013-08-15, MinuteMetrics no se incluye en el cuerpo de la respuesta.
Versión Obligatorio si se especifican la configuración 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 la configuración 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 la configuración 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 la configuración 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 no está habilitada la replicación con redundancia geográfica con acceso de lectura, 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. Todos los datos anteriores a este valor se eliminarán. El valor mínimo que se puede especificar es 1; el valor máximo es 365 (un año).
Cors Opcional. El elemento Cors es compatible con la versión 2013-08-15 o posterior. 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 tener un máximo de 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 existe el elemento CorsRule . 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 tener un máximo de 256 caracteres.
AllowedMethods Obligatorio si existe el elemento CorsRule . Lista delimitada por comas de los métodos HTTP que puede ejecutar el origen. En Almacenamiento de Azure, los métodos permitidos son DELETE, GET, HEAD, MERGE, POST, OPTIONS o PUT.

Response

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

Código de estado

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 Valor que identifica de forma exclusiva una solicitud realizada ante el servicio.
x-ms-version Especifica la versión de la operación utilizada para la respuesta. Para obtener más información, consulte Control de versiones para los servicios de Azure Storage.
x-ms-client-request-id Este encabezado 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 es como máximo 1024 caracteres ASCII visibles. Si el x-ms-client-request-id encabezado no está presente en la solicitud, este encabezado no estará presente en la respuesta.

Cuerpo de la respuesta

Ninguno.

Authorization

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

Observaciones

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:

    • 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, como x-ms-meta-data*. Al especificar un prefijo de este modo se permite o se expone cualquier encabezado que comience con el prefijo indicado. Se puede especificar un máximo de dos encabezados con prefijo en la solicitud.

  • Los métodos (o los verbos HTTP) especificados en el elemento AllowedMethods deben ser acordes con los métodos admitidos por las API del servicio de almacenamiento de Azure. Los métodos admitidos son DELETE, GET, HEAD, MERGE, POST, OPTIONS y 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 un valor vacío de las reglas de CORS (es decir,</Cors>) y sin reglas internas de CORS. Esta llamada elimina todas las reglas existentes, deshabilitando CORS para el servicio Cola.

Todos los elementos de regla de CORS son necesarios si se especifica el elemento CorsRule . La solicitud producirá un código de error 400 (Bad Request) si falta cualquier elemento.

A partir de la versión 2013-08-15, los elementos de configuración XML serán opcionales; se puede actualizar un elemento específico si se envía código XML que solo contenga el elemento actualizado y otros valores no se verán afectados.

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

Solicitud y respuesta de ejemplo

El URI de ejemplo siguiente realiza una solicitud para cambiar las propiedades del servicio Cola para la 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

Encabezados HTTP mejorados para reanudar la descarga y un cambio en las condiciones de If-Match
Compatibilidad con CORS para los Servicios de almacenamiento
Especificación HTTP de CORS