Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Atualizado em 2022-11-07 GMT+08:00

Configuração de inventários de um bucket

Funções

O OBS usa o método PUT para configurar inventários de bucket. Cada bucket pode ter no máximo 10 estoques. Para obter mais informações sobre o uso e as limitações dos inventários de bucket, consulte Inventário do bucket no Guia de usuário do Object Storage Service.

Para executar essa operação, verifique se você tem a permissão PutBucketInventoryConfiguration. Por padrão, o proprietário do bucket tem essa permissão e pode atribuir essa permissão a outros usuários.

Para obter mais informações sobre o controle de permissão, consulte o controle de permissão no Guia de configuração de permissão do OBS.

Sintaxe da solicitação

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 solicitação

Tabela 1 Parâmetros de solicitação

Parâmetro

Descrição

Obrigatório

id

ID da configuração de inventário, que deve ser consistente com a ID de configuração de inventário no corpo da mensagem.

Tipo: string

Especificações: Máximo de 64 caracteres

Não há valor padrão.

Caracteres válidos: letras, dígitos, (-) de hífens, pontos (.) e sublinhados (_)

Sim

Cabeçalhos de solicitação

Essa solicitação usa cabeçalhos comuns. Para mais detalhes, consulte Tabela 3.

Elementos de solicitação

Nessa solicitação, você deve configurar o inventário do bucket no corpo da solicitação. Faça carregamento das informações de configuração do inventário em um arquivo XML. Tabela 2 lista os elementos de configuração.

Tabela 2 Elementos de configuração do inventário de bucket

Elemento

Descrição

Obrigatório

InventoryConfiguration

Configuração de inventário.

Tipo: recipiente

Antepassado: nenhum

Crianças: Id, IsEnabled, Filtro, Destino, Agendamento, Versões de Objetos Incluídos e Campos Opcionais

Sim

Id

ID de uma configuração de inventário, que deve ser consistente com a ID de configuração de inventário especificada na solicitação.

Tipo: string

Especificações: Máximo de 64 caracteres

Não há valor padrão.

Caracteres válidos: letras, dígitos, (-) de hífens, pontos (.) e sublinhados (_)

Antepassado: InventoryConfiguration

Sim

IsEnabled

Indica se a regra está ativada. Se esse parâmetro for definido como true, o inventário será gerado. Caso contrário, o inventário não será gerado.

Tipo: boolean

Valores válidos: true ou false

Antepassado: InventoryConfiguration

Sim

Filter

Configuração do filtro de inventário. O inventário contém somente objetos que atendem aos critérios de filtro (filtragem por prefixo de nome de objeto). Se nenhum critério de filtro estiver configurado, todos os objetos serão incluídos.

Tipo: recipiente

Antepassado: InventoryConfiguration

Crianças: Prefixo

Não

Prefix

Filtragem por prefixo de nome. Somente objetos com o prefixo de nome especificado são incluídos no inventário.

Tipo: string

Antepassado: Filtro

Não

Schedule

Tempo programado para geração de estoques.

Tipo: recipiente

Antepassado: InventoryConfiguration

Crianças: Frequência

Sim

Frequency

Intervalos quando os inventários são gerados. Você pode definir este parâmetro para Daily ou Weekly. Um inventário é gerado dentro de uma hora após ser configurado pela primeira vez. Em seguida, ele é gerado nos buckets especificados.

Tipo: string

Antepassado: Agendamento

Valores válidos: Daily ou Weekly

Sim

Destination

Balde de destino de um inventário.

Tipo: recipiente

Antepassado: InventoryConfiguration

Sim

Format

Formato de inventário. Somente o formato CSV é suportado.

Tipo: string

Antepassado: Destino

Valores válidos: CSV

Sim

Bucket

Nome do período para salvar inventários.

Tipo: string

Antepassado: Destino

Sim

Prefix

O prefixo do nome dos arquivos de inventário. Se nenhum prefixo estiver configurado, os nomes dos arquivos de inventário começarão com o BucketInventory por padrão.

Tipo: string

Antepassado: Destino

Não

IncludedObjectVersions

Indica se as versões dos objetos estão incluídas em um inventário.

  • Se este parâmetro for definido como All, todas as versões dos objetos serão incluídas no inventário, e os campos relacionados a versionamento serão adicionados ao inventário, incluindo: VersionId, IsLatest, e DeleteMarker.
  • Se este parâmetro for definido como Current, o inventário contém somente as versões de objetos atuais no momento em que o inventário é gerado. Nenhum campo de versionamento é exibido no inventário.

Tipo: string

Antepassado: InventoryConfiguration

Valores válidos: All ou Current

Sim

OptionalFields

Campos de metadados extras que podem ser adicionados a um inventário. Se esse parâmetro estiver configurado, os campos especificados nesse parâmetro estarão contidos no inventário.

Tipo: recipiente

Antepassado: InventoryConfiguration

Crianças: Campo

Não

Field

Campos opcionais. O OptionalFields pode conter vários elementos de campo.

Tipo: string

Antepassado: OptionalFields

Valores válidos: Size, LastModifiedDate, StorageClass, ETag, IsMultipartUploaded, ReplicationStatus, e EncryptionStatus.

Não

Sintaxe da resposta

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

Cabeçalhos de resposta

A resposta à solicitação usa cabeçalhos comuns. Para mais detalhes, consulte Tabela 1.

Elementos de resposta

Esta resposta não envolve elementos.

Respostas de erro

Além de códigos de erro comuns, essa API também retorna outros códigos de erro. A seguir, listamos alguns erros comuns e possíveis causas dessa API. Para mais detalhes, consulte Tabela 3.

Tabela 3 Códigos de erro de configuração de inventário

Código de erro

Descrição

Código de status HTTP

MalformedXML

Formato XML incorreto do inventário.

400 Bad Request

InvalidArgument

Parâmetro inválido.

400 Bad Request

InventoryCountOverLimit

O número de estoques atingiu o limite superior.

400 Bad Request

PrefixExistInclusionRelationship

O prefixo configurado para este inventário se sobrepõe aos prefixos de inventários existentes.

400 Bad Request

Solicitação de exemplo

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>

Resposta de exemplo

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