Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Actualización más reciente 2023-07-11 GMT+08:00

Configuración de inventarios de bucket

Funciones

OBS utiliza el método PUT para configurar los inventarios de bucket. Cada bucket 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

Tabla 1 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 (_)

Encabezados de solicitud

Esta solicitud utiliza encabezados comunes. Para más detalles, 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.

Tabla 2 Elementos de configuración de inventario de cangilones

Elemento

Descripción

Obligatorio

InventoryConfiguration

Configuración de inventario.

Type: container

Antepasado: ninguno

Hijos: Id, IsEnabled, Filter, Destination, Schedule, IncludedObjectVersions, and OptionalFields

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

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

Valores válidos: true o false

Antepasado: InventoryConfiguration

Filter

Configuración del filtro de inventario. El inventario contiene sólo 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.

Type: 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.

Type: container

Antepasado: InventoryConfiguration

Hijos: Frequency

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

Valores válidos: Daily o Weekly

Destination

Bucket de destino de un inventario.

Tipo: container

Antepasado: InventoryConfiguration

Format

Formato del inventario. Solo se admite el formato CSV.

Tipo: string

Antepasado: Destination

Valores válidos: CSV

Bucket

Nombre del bucket para el ahorro de inventarios.

Tipo: string

Antepasado: Destination

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.

  • Si este parámetro se establece en All, todas las versiones de los objetos se incluyen en el inventario y los campos relacionados con el control de versiones se agregan al inventario, incluidos: VersionId, IsLatest, y DeleteMarker.
  • Si este parámetro se establece en Current, el inventario solo contiene las versiones de objetos actuales en el momento en que se genera el inventario. No se muestran campos de control de versiones en el inventario.

Tipo: string

Antepasado: InventoryConfiguration

Valores válidos: All o Current

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

Valores válidos: Size, LastModifiedDate, StorageClass, ETag, IsMultipartUploaded, ReplicationStatus, y 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 implica elementos.

Respuestas de error

Además de 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 más detalles, consulte Tabla 3.

Tabla 3 Códigos de error de configuración de inventario

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