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