Set Table Service Properties
La Set Table Service Properties
operación establece propiedades para el punto de conexión de Azure Table Storage de una cuenta de almacenamiento, incluidas las propiedades de Storage Analytics y las reglas de uso compartido de recursos entre orígenes (CORS). Para más información sobre las reglas de CORS, consulte Compatibilidad de CORS con los servicios de Azure Storage.
Request
Puede especificar la Set Table Service Properties
solicitud como se indica a continuación. Se recomienda 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.table.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 del identificador URI
Parámetro de URI | 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. |
Encabezados de solicitud
En la tabla siguiente se describen los encabezados de solicitud obligatorios 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, 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. |
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-separated-list-of-response-headers</ExposedHeaders>
<AllowedHeaders> comma-separated-list-of-request-headers </AllowedHeaders>
</CorsRule>
</Cors>
</StorageServiceProperties>
A partir de la versión 2013-08-15, puede llamar a Set Table Service Properties
especificando uno o varios elementos raíz 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. Pero si especifica un elemento raíz, 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 |
---|---|
Logging |
Opcional para la versión 2013-08-15 y posteriores. Es necesario para las versiones anteriores. Agrupa la configuración de Storage AnalyticsLogging . |
Metrics |
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 Storage AnalyticsMetrics . 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 tablas. |
HourMetrics |
Opcional para la versión 2013-08-15 y posteriores. No es aplicable a versiones anteriores. Agrupa la configuración de Storage AnalyticsHourMetrics . 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 tablas. |
MinuteMetrics |
Opcional para la versión 2013-08-15 y posteriores. No es aplicable a versiones anteriores. Agrupa la configuración de Storage AnalyticsMinuteMetrics . Los valores de MinuteMetrics proporcionan estadísticas de solicitudes para cada minuto para las tablas. En las versiones anteriores a 2013-08-15, MinuteMetrics no se incluye en el cuerpo de la respuesta. |
Version |
Necesario. Indica la versión de Storage Analytics que se va a configurar. |
Delete |
Necesario. Se aplica solamente a la configuración de registro. Indica si se deben registrar todas las solicitudes de eliminación. |
Read |
Necesario. Se aplica solamente a la configuración de registro. Indica si se deben registrar todas las solicitudes de lectura. |
Write |
Necesario. Se aplica solamente a la configuración de registro. Indica si se deben registrar todas las solicitudes de escritura. |
Enabled |
Necesario. Indica si las métricas están habilitadas para el servicio Azure Storage. 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 una directiva de retención está habilitada para el servicio Azure Storage. |
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 puede especificar es 1 . El valor más grande es 365 (un año). |
Cors |
Opcional. 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 Table Storage. En la solicitud puede incluir hasta cinco elementos CorsRule . Si no se incluye ningún CorsRule elemento en el cuerpo de la solicitud, se eliminarán todas las reglas de CORS y SE deshabilitará CORS para Table Storage. |
AllowedOrigins |
Es necesario si está presente el elemento CorsRule . Proporciona una lista separada por comas de dominios de origen que se permitirán a través de CORS o que contenga * 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 CorsRule elemento está presente. Proporciona una lista separada por comas de encabezados de respuesta que se exponen a los clientes 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 CorsRule elemento está presente. Indica el número de segundos que el cliente o el explorador deben almacenar en caché una respuesta preparatoria. |
AllowedHeaders |
Obligatorio si el CorsRule elemento existe. Proporciona una lista separada por comas de encabezados que pueden formar 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 el CorsRule elemento existe. Proporciona una lista separada por comas de métodos HTTP que el origen puede ejecutar. Para Azure Storage, los métodos permitidos son DELETE , GET , HEAD MERGE , POST , , OPTIONS y PUT . |
Response
La respuesta incluye un código de estado HTTP, un conjunto de encabezados de respuesta y un cuerpo 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 encabezados HTTP estándar adicionales. 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 |
Especifica un valor que identifica de forma única una solicitud realizada en el servicio. |
x-ms-version |
Especifica la versión de la operación utilizada 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 es como máximo de 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. |
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:
Puede almacenar un máximo de cinco reglas.
El tamaño máximo de todas las opciones de regla 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 en los que se proporciona el nombre exacto del encabezado, como
x-ms-meta-processed
. Puede especificar un máximo de 64 encabezados literales en la solicitud.Encabezados con prefijo en los que se proporciona un prefijo del encabezado, como
x-ms-meta-data\
. Especificar un prefijo de esta manera permite o expone cualquier encabezado que comience con ese prefijo. 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 ajustarse a los métodos que admiten las API del servicio Azure Storage. Los métodos admitidos sonDELETE
, ,HEAD
MERGE
GET
,POST
, ,OPTIONS
y .PUT
Es opcional especificar reglas de CORS en la solicitud. Si se llama a Set Table Service Properties
sin especificar el elemento Cors
en el cuerpo de la solicitud, se conservan todas las reglas de CORS existentes.
Para deshabilitar CORS, llame a Set Table Service Properties
con la configuración vacía de reglas de CORS (por ejemplo, </Cors>
) y sin reglas de CORS internas. Esta llamada elimina las reglas existentes y deshabilita CORS para Table Storage.
Todos los elementos de regla de CORS son necesarios si especifica el CorsRule
elemento . Si falta algún elemento, se producirá un error en la solicitud con el código de error 400 (solicitud incorrecta).
A partir de la versión 2013-08-15, los elementos para la configuración XML son opcionales. Para actualizar un elemento específico, envíe XML que contenga solo el elemento actualizado y no afecte a otras configuraciones.
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 Table Storage de la cuenta de almacenamiento ficticia denominada myaccount:
PUT https://myaccount.table.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: Mon, 21 Oct 2013 04:38:23 GMT
Authorization: SharedKey
myaccount:Z1lTLDwtq5o1UYQluucdsXk6/iB7YxEu0m6VofAEkUE=
Host: myaccount.table.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>1.0</Version>
<Enabled>true</Enabled>
<IncludeAPIs>true</IncludeAPIs>
<RetentionPolicy>
<Enabled>true</Enabled>
<Days>7</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 siguiente respuesta:
HTTP/1.1 202 Accepted
Connection: Keep-Alive
Transfer-Encoding: chunked
Date: Mon, 21 Oct 2013 04:38:24 GMT
Server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0
x-ms-request-id: cb939a31-0cc6-49bb-9fe5-3327691f2a30
x-ms-version: 2013-08-15