Skip to main content
Uma versão mais recente deste produto está disponível.
O português é fornecido por meio de tradução automática para sua conveniência. O inglês precede o português em caso de inconsistências.

Como o StorageGRID implementa operações da API REST do S3 para objetos

Esta seção descreve como o sistema StorageGRID implementa as operações da API REST do S3 para objetos.

As seguintes condições aplicam-se a todas as operações de objeto:

  • StorageGRID "valores de consistência" é compatível com todas as operações em objetos, com exceção das seguintes:

    • GetObjectAcl

    • OPTIONS /

    • PutObjectLegalHold

    • PutObjectRetention

    • SelectObjectContent

  • Solicitações conflitantes de clientes, como dois clientes gravando na mesma chave, são resolvidas com base no princípio "latest-wins". O momento da avaliação do "latest-wins" é determinado quando o sistema StorageGRID conclui uma determinada solicitação, e não quando os clientes S3 iniciam uma operação.

  • Todos os objetos em um bucket do StorageGRID pertencem ao proprietário do bucket, incluindo objetos criados por um usuário anônimo ou por outra conta.

A tabela a seguir descreve como o StorageGRID implementa as operações de objetos da API REST do S3.

Operação Implementação

DeleteObject

Ao processar uma solicitação DeleteObject, StorageGRID tenta remover imediatamente todas as cópias do objeto de todos os locais de armazenamento. Se for bem-sucedido, StorageGRID retorna uma resposta ao cliente imediatamente. Se todas as cópias não puderem ser removidas em 30 segundos (por exemplo, porque um local está temporariamente indisponível), StorageGRID coloca as cópias em fila para remoção e então indica sucesso ao cliente.

Restrições
  • A autenticação multifator (MFA) e o cabeçalho de resposta x-amz-mfa não são suportados.

  • Os If-None e If-None-Match cabeçalhos são aceitos, mas não funcionais.

Controle de versões

Para remover uma versão específica, o solicitante deve ser o proprietário do bucket e usar o versionId sub-recurso. Usar esse sub-recurso exclui permanentemente a versão. Se o versionId corresponder a um marcador de exclusão, o cabeçalho de resposta x-amz-delete-marker é retornado definido como true.

  • Se um objeto for excluído sem o versionId sub-recurso em um bucket com versionamento ativado, isso resulta na geração de um marcador de exclusão. O versionId marcador de exclusão é retornado usando o x-amz-version-id cabeçalho de resposta, e o x-amz-delete-marker cabeçalho de resposta é retornado definido como true.

  • Se um objeto for excluído sem o versionId sub-recurso em um bucket com versionamento suspenso, isso resulta na exclusão permanente de uma versão "null" já existente ou de um marcador de exclusão "null", e na geração de um novo marcador de exclusão "null". O cabeçalho de resposta x-amz-delete-marker é retornado definido como true.

    Nota: Em certos casos, vários marcadores de exclusão podem existir para um objeto.

Veja "Use a API REST S3 para configurar o S3 Object Lock" para saber como excluir versões de objetos no modo GOVERNANÇA.

DeleteObjects

(anteriormente chamado de DELETE Multiple Objects)

A autenticação multifator (MFA) e o cabeçalho de resposta x-amz-mfa não são suportados.

Vários objetos podem ser excluídos na mesma mensagem de solicitação.

Veja "Use a API REST S3 para configurar o S3 Object Lock" para saber como excluir versões de objetos no modo GOVERNANÇA.

DeleteObjectTagging

Utiliza o tagging subrecurso para remover todas as tags de um objeto.

Controle de versões

Se o versionId`parâmetro de consulta não for especificado na solicitação, a operação exclui todas as tags da versão mais recente do objeto em um bucket versionado. Se a versão atual do objeto for um marcador de exclusão, um status " MethodNotAllowed " será retornado com o cabeçalho de resposta `x-amz-delete-marker definido como true.

GetObject

GetObjectAcl

Se as credenciais de acesso necessárias forem fornecidas para a conta, a operação retorna uma resposta positiva e o ID, DisplayName e a Permissão do proprietário do objeto, indicando que o proprietário tem acesso total ao objeto.

GetObjectLegalHold

GetObjectRetention

GetObjectTagging

Utiliza o tagging subrecurso para retornar todas as tags de um objeto.

Controle de versões

Se o versionId parâmetro de consulta não for especificado na solicitação, a operação retorna todas as tags da versão mais recente do objeto em um bucket versionado. Se a versão atual do objeto for um marcador de exclusão, um status " MethodNotAllowed " será retornado com o cabeçalho de resposta x-amz-delete-marker definido como true.

HeadObject

RestoreObject

PutObject

CopyObject

(anteriormente denominado PUT Object - Copy)

PutObjectLegalHold

PutObjectRetention

PutObjectTagging

Utiliza o tagging subrecurso para adicionar um conjunto de tags a um objeto existente.

Limites de tags de objeto

Você pode adicionar tags a novos objetos ao carregá-los ou pode adicioná-las a objetos existentes. Tanto StorageGRID quanto Amazon S3 suportam até 10 tags por objeto. As tags associadas a um objeto devem ter chaves de tag exclusivas. Uma chave de tag pode ter até 128 caracteres Unicode e os valores de tag podem ter até 256 caracteres Unicode. Chaves e valores diferenciam maiúsculas de minúsculas.

Atualizações de tags e comportamento de ingestão

Quando você usa PutObjectTagging para atualizar as tags de um objeto, o StorageGRID não o ingere novamente. Isso significa que a opção de Comportamento de Ingestão especificada na regra ILM correspondente não é usada. Quaisquer alterações no posicionamento do objeto acionadas pela atualização são feitas quando o ILM é reavaliado pelos processos normais de ILM em segundo plano.

Isso significa que, se a regra ILM usar a opção "Estrita" para o comportamento de ingestão, nenhuma ação será tomada se os posicionamentos de objeto necessários não puderem ser feitos (por exemplo, porque um local recém-necessário não está disponível). O objeto atualizado mantém seu posicionamento atual até que o posicionamento necessário seja possível.

Resolução de conflitos

Solicitações conflitantes de clientes, como dois clientes gravando na mesma chave, são resolvidas com base no princípio "latest-wins". O momento da avaliação do "latest-wins" é determinado quando o sistema StorageGRID conclui uma determinada solicitação, e não quando os clientes S3 iniciam uma operação.

Controle de versões

Se o versionId`parâmetro de consulta não for especificado na solicitação, a operação adiciona tags à versão mais recente do objeto em um bucket versionado. Se a versão atual do objeto for um marcador de exclusão, um status ""MethodNotAllowed"" é retornado com o cabeçalho de resposta `x-amz-delete-marker`definido como `true.

SelectObjectContent