Configuración de inventarios de bucket
Funciones
OBS utiliza el método PUT para configurar los inventarios de bucket. Cada cubeta puede tener un máximo de 10 inventarios. Para obtener más información acerca del uso y las limitaciones de los inventarios de bucket, consulte Inventario de bucket en la Guía del usuario del Object Storage Service.
Para realizar esta operación, asegúrese de que tiene el permiso PutBucketInventoryConfiguration. De forma predeterminada, el propietario del bucket tiene este permiso y puede asignarlo a otros usuarios.
Para obtener más información acerca del control de permisos, consulte el control de permisos en la Guía de configuración de permisos de OBS.
Sintaxis de solicitud
PUT /?inventory&id=configuration-id HTTP/1.1 User-Agent: curl/7.29.0 Host: bucketname.obs.region.myhuaweicloud.com Accept: */* Date: date Authorization: authorization string Content-Length: length Expect: 100-continue <InventoryConfiguration> <Id>configuration-id</Id> <IsEnabled>true</IsEnabled> <Filter> <Prefix>inventoryTestPrefix</Prefix> </Filter> <Destination> <Format>CSV</Format> <Bucket>destbucket</Bucket> <Prefix>dest-prefix</Prefix> </Destination> <Schedule> <Frequency>Daily</Frequency> </Schedule> <IncludedObjectVersions>All</IncludedObjectVersions> <OptionalFields> <Field>Size</Field> <Field>LastModifiedDate</Field> <Field>ETag</Field> <Field>StorageClass</Field> <Field>IsMultipartUploaded</Field> <Field>ReplicationStatus</Field> <Field>EncryptionStatus</Field> </OptionalFields> </InventoryConfiguration>
Parámetros de solicitud
Parámetro |
Descripción |
Obligatorio |
---|---|---|
id |
ID de la configuración de inventario, que debe ser coherente con el ID de configuración de inventario en el cuerpo del mensaje. Tipo: string Especificaciones: Un máximo de 64 caracteres No hay ningún valor predeterminado. Caracteres válidos: letras, dígitos, guiones (-), puntos (.) y guiones bajos (_) |
Sí |
Encabezados de solicitud
Esta solicitud utiliza encabezados comunes. Para obtener más información, consulte Tabla 3.
Elementos de solicitud
En esta solicitud, debe configurar el inventario del bucket en el cuerpo de la solicitud. Cargue la información de configuración de inventario en un archivo XML. Tabla 2 enumera los elementos de configuración.
Elemento |
Descripción |
Obligatorio |
---|---|---|
InventoryConfiguration |
Configuración de inventario. Tipo: container Antepasado: ninguno Hijos: Id, IsEnabled, Filter, Destination, Schedule, IncludedObjectVersions, and OptionalFields |
Sí |
Id |
ID de una configuración de inventario, que debe ser coherente con el ID de configuración de inventario especificado en la solicitud. Tipo: string Especificaciones: Un máximo de 64 caracteres No hay ningún valor predeterminado. Caracteres válidos: letras, dígitos, guiones (-), puntos (.) y guiones bajos (_) Antepasado: InventoryConfiguration |
Sí |
IsEnabled |
Indica si la regla está habilitada. Si este parámetro se establece en true, se genera el inventario. Si no, no se generará el inventario. Tipo: boolean Opciones de valor: true, false Antepasado: InventoryConfiguration |
Sí |
Filter |
Configuración del filtro de inventario. El inventario contiene solo objetos que cumplen los criterios de filtro (filtrados por prefijo de nombre de objeto). Si no se configura ningún criterio de filtro, se incluyen todos los objetos. Tipo: container Antepasado: InventoryConfiguration Hijos: Prefix |
No |
Prefix |
Filtrado por prefijo de nombre. Solo los objetos con el prefijo de nombre especificado se incluyen en el inventario. Tipo: string Antepasado: Filter |
No |
Schedule |
Tiempo programado para la generación de inventarios. Tipo: container Antepasado: InventoryConfiguration Hijos: Frequency |
Sí |
Frequency |
Intervalos cuando se generan inventarios. Puede establecer este parámetro en Daily o Weekly. Un inventario se genera dentro de una hora después de que se configura por primera vez. A continuación, se genera en los intervalos especificados. Tipo: string Antepasado: Schedule Opciones de valor: Daily, Weekly |
Sí |
Destination |
Bucket de destino de un inventario. Tipo: container Antepasado: InventoryConfiguration |
Sí |
Format |
Formato del inventario. Solo se admite el formato CSV. Tipo: string Antepasado: Destination Opciones de valor: CSV |
Sí |
Bucket |
Nombre del bucket para el ahorro de inventarios. Tipo: string Antepasado: Destination |
Sí |
Prefix |
El prefijo de nombre de los archivos de inventario. Si no se configura ningún prefijo, los nombres de los archivos de inventario comenzarán con el BucketInventory de forma predeterminada. Tipo: string Antepasado: Destination |
No |
IncludedObjectVersions |
Indica si se incluyen versiones de objetos en un inventario.
Tipo: string Antepasado: InventoryConfiguration Opciones de valor: All, Current |
Sí |
OptionalFields |
Campos de metadatos adicionales que se pueden agregar a un inventario. Si este parámetro está configurado, los campos especificados en este parámetro están contenidos en el inventario. Tipo: container Antepasado: InventoryConfiguration Hijos: Field |
No |
Field |
Campos opcionales. El OptionalFields puede contener varios elementos de campo. Tipo: string Antepasado: OptionalFields Opciones de valor: Size, LastModifiedDate, StorageClass, ETag, IsMultipartUploaded, ReplicationStatus, EncryptionStatus |
No |
Sintaxis de respuesta
1 2 3 4 5 |
HTTP/1.1 status_code x-obs-request-id: request id x-obs-id-2: id Date: date Content-Length: length |
Encabezados de respuesta
La respuesta a la solicitud utiliza encabezados comunes. Para más detalles, consulte Tabla 1.
Elementos de respuesta
Esta respuesta no contiene elementos.
Respuestas de error
Además de los códigos de error comunes, esta API también devuelve otros códigos de error. A continuación se enumeran algunos errores comunes y causas posibles de esta API. Para obtener más información, consulte Tabla 3.
Código de error |
Descripción |
Código de estado de HTTP |
---|---|---|
MalformedXML |
Formato XML incorrecto del inventario. |
400 Bad Request (400: Solicitud errónea) |
InvalidArgument |
Parámetro no válido. |
400 Bad Request (400: Solicitud errónea) |
InventoryCountOverLimit |
El número de inventarios alcanzó el límite superior. |
400 Bad Request (400: Solicitud errónea) |
PrefixExistInclusionRelationship |
El prefijo configurado para este inventario se superpone con los prefijos de los inventarios existentes. |
400 Bad Request (400: Solicitud errónea) |
Modelo de solicitud
PUT /?inventory&id=test_id HTTP/1.1 User-Agent: curl/7.29.0 Host: examplebucket.obs.region.myhuaweicloud.com Accept: */* Date: Tue, 08 Jan 2019 08:17:10 +0000 Authorization: OBS UDSIAMSTUBTEST000001:/e2fqSfzLDb+0M36D4Op/s5KKr0= Content-Length: 600 Expect: 100-continue <InventoryConfiguration> <Id>test_id</Id> <IsEnabled>true</IsEnabled> <Filter> <Prefix>inventoryTestPrefix</Prefix> </Filter> <Destination> <Format>CSV</Format> <Bucket>destbucket</Bucket> <Prefix>dest-prefix</Prefix> </Destination> <Schedule> <Frequency>Daily</Frequency> </Schedule> <IncludedObjectVersions>All</IncludedObjectVersions> <OptionalFields> <Field>Size</Field> <Field>LastModifiedDate</Field> <Field>ETag</Field> <Field>StorageClass</Field> <Field>IsMultipartUploaded</Field> <Field>ReplicationStatus</Field> <Field>EncryptionStatus</Field> </OptionalFields> </InventoryConfiguration>
Modelo de respuesta
1 2 3 4 5 6 |
HTTP/1.1 200 OK Server: OBS x-obs-request-id: 000001682C8545B0680893425D60AB83 x-obs-id-2: 32AAAQAAEAABAAAQAAEAABAAAQAAEAABCSIGTuRtBfo7lpHSt0ZknhdDHmllwd/p Date: Tue, 08 Jan 2019 08:12:38 GMT Content-Length: 0 |