Operações em baldes
O sistema StorageGRID dá suporte a um máximo de 1.000 buckets para cada conta de locatário de S3 TB.
As restrições de nome de bucket seguem as restrições de região padrão dos EUA da AWS, mas você deve restringi-las ainda mais a convenções de nomenclatura de DNS para oferecer suporte a solicitações de estilo hospedado virtual do S3.
As operações GET Bucket (List Objects) e GET Bucket Versions suportam controles de consistência do StorageGRID.
Você pode verificar se as atualizações para a última hora de acesso estão ativadas ou desativadas para buckets individuais.
A tabela a seguir descreve como o StorageGRID implementa as operações de bucket da API REST do S3. Para realizar qualquer uma dessas operações, as credenciais de acesso necessárias devem ser fornecidas para a conta.
Operação | Implementação |
---|---|
ELIMINAR balde |
Implementado com todo o comportamento da API REST do Amazon S3. |
ELIMINAR Cors balde |
Esta operação exclui a configuração CORS para o bucket. |
ELIMINAR encriptação Bucket |
Esta operação exclui a criptografia padrão do intervalo. Os objetos criptografados existentes permanecem criptografados, mas todos os novos objetos adicionados ao bucket não são criptografados. |
ELIMINAR ciclo de vida do balde |
Esta operação exclui a configuração do ciclo de vida do bucket. |
ELIMINAR política de balde |
Esta operação exclui a política anexada ao bucket. |
ELIMINAR replicação de balde |
Esta operação exclui a configuração de replicação anexada ao bucket. |
ELIMINAR marcação de intervalo |
Esta operação usa o |
GET Bucket (List Objects), versão 1 e versão 2 |
Esta operação retorna alguns ou todos (até 1.000) dos objetos em um balde. A Classe de armazenamento para objetos pode ter um de dois valores, mesmo que o objeto tenha sido ingerido com a
Se o intervalo contiver um grande número de chaves excluídas que tenham o mesmo prefixo, a resposta pode incluir algumas |
OBTER acl balde |
Esta operação retorna uma resposta positiva e a ID, DisplayName e permissão do proprietário do bucket, indicando que o proprietário tem acesso total ao bucket. |
OBTER Bucket Cors |
Esta operação retorna a |
OBTER criptografia Bucket |
Esta operação retorna a configuração de criptografia padrão para o bucket. |
OBTENHA o ciclo de vida do Bucket |
Esta operação retorna a configuração do ciclo de vida do bucket. |
OBTER localização do balde |
Esta operação retorna a região que foi definida usando o |
OBTER notificação Bucket |
Esta operação retorna a configuração de notificação anexada ao bucket. |
OBTER versões Objeto balde |
Com ACESSO DE LEITURA em um bucket, essa operação com o |
OBTER política Bucket |
Esta operação retorna a política anexada ao bucket. |
OBTER replicação do bucket |
Esta operação retorna a configuração de replicação anexada ao bucket. |
OBTER marcação Bucket |
Esta operação usa o |
OBTENHA o controle de versão do Bucket |
Essa implementação usa |
OBTER Configuração bloqueio Objeto |
Esta operação determina se o bloqueio de objetos S3D está ativado para um balde. "Usando S3 Object Lock" |
Balde DA cabeça |
Esta operação determina se existe um intervalo e você tem permissão para acessá-lo. |
COLOQUE o balde |
Esta operação cria um novo balde. Ao criar o balde, você se torna o proprietário do balde.
|
COLOQUE cors de balde |
Esta operação define a configuração do CORS para um bucket de modo que o bucket possa atender às solicitações de origem cruzada. O compartilhamento de recursos de origem cruzada (CORS) é um mecanismo de segurança que permite que aplicativos da Web do cliente em um domínio acessem recursos em um domínio diferente. Por exemplo, suponha que você use um bucket S3 chamado |
COLOQUE a criptografia Bucket |
Esta operação define o estado de criptografia padrão de um bucket existente. Quando a criptografia no nível do bucket está ativada, todos os novos objetos adicionados ao bucket são criptografados. O StorageGRID suporta criptografia no lado do servidor com chaves gerenciadas pelo StorageGRID. Ao especificar a regra de configuração de criptografia do lado do servidor, defina o A configuração de criptografia padrão do bucket é ignorada se a solicitação de upload de objeto já especificar criptografia (ou seja, se a solicitação incluir o |
COLOQUE o ciclo de vida do balde |
Essa operação cria uma nova configuração de ciclo de vida para o bucket ou substitui uma configuração de ciclo de vida existente. O StorageGRID dá suporte a até 1.000 regras de ciclo de vida em uma configuração de ciclo de vida. Cada regra pode incluir os seguintes elementos XML:
O StorageGRID não oferece suporte a essas ações:
Para entender como a ação Expiration em um ciclo de vida de um bucket interage com as instruções de colocação do ILM, consulte "como o ILM opera ao longo da vida de um objeto" nas instruções para gerenciar objetos com o gerenciamento do ciclo de vida das informações. Nota: A configuração do ciclo de vida do bucket pode ser usada com buckets que têm o S3 Object Lock ativado, mas a configuração do ciclo de vida do bucket não é suportada para buckets compatíveis com o legado. |
COLOCAR notificação de balde |
Esta operação configura notificações para o bucket usando o XML de configuração de notificação incluído no corpo da solicitação. Você deve estar ciente dos seguintes detalhes de implementação:
|
Política COLOCAR balde |
Esta operação define a política anexada ao balde. |
COLOQUE a replicação do balde |
Esta operação configura a replicação do StorageGRID CloudMirror para o bucket usando o XML de configuração de replicação fornecido no corpo da solicitação. Para a replicação do CloudMirror, você deve estar ciente dos seguintes detalhes de implementação:
|
COLOQUE a marcação de balde |
Esta operação usa o
|
COLOQUE o controle de versão do Bucket |
Essa implementação usa
|
"Documentação do Amazon Web Services (AWS): Replicação entre regiões"
Criando uma configuração do ciclo de vida do S3
Você pode criar uma configuração de ciclo de vida do S3 para controlar quando objetos específicos são excluídos do sistema StorageGRID.
O exemplo simples nesta seção ilustra como uma configuração do ciclo de vida do S3 pode controlar quando certos objetos são excluídos (expirados) de buckets específicos do S3. O exemplo nesta seção é apenas para fins ilustrativos. Para obter detalhes completos sobre a criação de configurações de ciclo de vida do S3, consulte a seção sobre gerenciamento do ciclo de vida do objeto no Amazon Simple Storage Service Developer Guide. Observe que o StorageGRID suporta apenas ações de expiração; ele não oferece suporte a ações de transição.
O que é uma configuração de ciclo de vida
Uma configuração de ciclo de vida é um conjunto de regras que são aplicadas aos objetos em buckets específicos do S3. Cada regra especifica quais objetos são afetados e quando esses objetos expirarão (em uma data específica ou após algum número de dias).
O StorageGRID dá suporte a até 1.000 regras de ciclo de vida em uma configuração de ciclo de vida. Cada regra pode incluir os seguintes elementos XML:
-
Expiração: Exclua um objeto quando uma data especificada é atingida ou quando um número especificado de dias é atingido, a partir de quando o objeto foi ingerido.
-
NoncurrentVersionExpiration: Exclua um objeto quando um número especificado de dias é atingido, a partir de quando o objeto se tornou inatual.
-
Filtro (prefixo, Tag)
-
Estado
-
ID
Se você aplicar uma configuração de ciclo de vida a um bucket, as configurações de ciclo de vida do bucket sempre substituem as configurações de ILM do StorageGRID. O StorageGRID usa as configurações de expiração para o bucket, não o ILM, para determinar se deseja excluir ou reter objetos específicos.
Como resultado, um objeto pode ser removido da grade, mesmo que as instruções de colocação em uma regra ILM ainda se apliquem ao objeto. Ou, um objeto pode ser retido na grade mesmo depois que quaisquer instruções de colocação de ILM para o objeto tiverem expirado. Para obter detalhes, consulte "como o ILM opera ao longo da vida de um objeto" nas instruções para gerenciar objetos com gerenciamento do ciclo de vida da informação.
A configuração do ciclo de vida do bucket pode ser usada com buckets que têm o S3 Object Lock ativado, mas a configuração do ciclo de vida do bucket não é suportada para buckets compatíveis com legado. |
O StorageGRID dá suporte ao uso das seguintes operações de bucket para gerenciar configurações do ciclo de vida:
-
ELIMINAR ciclo de vida do balde
-
OBTENHA o ciclo de vida do Bucket
-
COLOQUE o ciclo de vida do balde
Criando a configuração do ciclo de vida
Como primeira etapa na criação de uma configuração de ciclo de vida, você cria um arquivo JSON que inclui uma ou mais regras. Por exemplo, este arquivo JSON inclui três regras, como segue:
-
A regra 1 aplica-se apenas a objetos que correspondam ao prefixo
category1
/ e que tenham umkey2
valortag2
de . OExpiration
parâmetro especifica que os objetos correspondentes ao filtro expirarão à meia-noite de 22 de agosto de 2020. -
A regra 2 aplica-se apenas a objetos que correspondam ao prefixo
category2
/. OExpiration
parâmetro especifica que os objetos correspondentes ao filtro expirarão 100 dias após serem ingeridos.As regras que especificam um número de dias são relativas a quando o objeto foi ingerido. Se a data atual exceder a data de ingestão mais o número de dias, alguns objetos podem ser removidos do intervalo assim que a configuração do ciclo de vida for aplicada. -
A regra 3 aplica-se apenas a objetos que correspondam ao prefixo
category3
/. OExpiration
parâmetro especifica que quaisquer versões não atuais de objetos correspondentes expirarão 50 dias após se tornarem não atuais.
{ "Rules": [ { "ID": "rule1", "Filter": { "And": { "Prefix": "category1/", "Tags": [ { "Key": "key2", "Value": "tag2" } ] } }, "Expiration": { "Date": "2020-08-22T00:00:00Z" }, "Status": "Enabled" }, { "ID": "rule2", "Filter": { "Prefix": "category2/" }, "Expiration": { "Days": 100 }, "Status": "Enabled" }, { "ID": "rule3", "Filter": { "Prefix": "category3/" }, "NoncurrentVersionExpiration": { "NoncurrentDays": 50 }, "Status": "Enabled" } ] }
Aplicando uma configuração de ciclo de vida a um bucket
Depois de criar o arquivo de configuração do ciclo de vida, aplique-o a um bucket emitindo uma solicitação DE ciclo de vida do PUT Bucket.
Esta solicitação aplica a configuração do ciclo de vida no arquivo de exemplo a objetos em um bucket chamado testbucket
:bucket
aws s3api --endpoint-url <StorageGRID endpoint> put-bucket-lifecycle-configuration --bucket testbucket --lifecycle-configuration file://bktjson.json
Para validar que uma configuração de ciclo de vida foi aplicada com sucesso ao bucket, emita uma solicitação DE ciclo de vida do GET Bucket. Por exemplo:
aws s3api --endpoint-url <StorageGRID endpoint> get-bucket-lifecycle-configuration --bucket testbucket
Uma resposta bem-sucedida lista a configuração do ciclo de vida que você acabou de aplicar.
A validação da expiração do ciclo de vida do bucket se aplica a um objeto
É possível determinar se uma regra de expiração na configuração do ciclo de vida se aplica a um objeto específico ao emitir uma SOLICITAÇÃO PUT Object, HEAD Object ou GET Object. Se uma regra se aplicar, a resposta inclui um Expiration
parâmetro que indica quando o objeto expira e qual regra de expiração foi correspondida.
Como o ciclo de vida do bucket substitui o ILM, a expiry-date mostrada é a data real em que o objeto será excluído. Para obter detalhes, consulte ""como a retenção de objetos é determinada"" nas instruções para executar a administração do StorageGRID.
|
Por exemplo, essa SOLICITAÇÃO PUT Object foi emitida em 22 de junho de 2020 e coloca um objeto no testbucket
intervalo.
aws s3api --endpoint-url <StorageGRID endpoint> put-object --bucket testbucket --key obj2test2 --body bktjson.json
A resposta de sucesso indica que o objeto expirará em 100 dias (01 de outubro de 2020) e que correspondia à regra 2 da configuração do ciclo de vida.
{
*"Expiration": "expiry-date=\"Thu, 01 Oct 2020 09:07:49 GMT\", rule-id=\"rule2\"",
"ETag": "\"9762f8a803bc34f5340579d4446076f7\""
}
Por exemplo, essa solicitação de objeto PRINCIPAL foi usada para obter metadados para o mesmo objeto no bucket do testbucket.
aws s3api --endpoint-url <StorageGRID endpoint> head-object --bucket testbucket --key obj2test2
A resposta de sucesso inclui os metadados do objeto e indica que o objeto expirará em 100 dias e que correspondia à regra 2.
{
"AcceptRanges": "bytes",
*"Expiration": "expiry-date=\"Thu, 01 Oct 2020 09:07:48 GMT\", rule-id=\"rule2\"",
"LastModified": "2020-06-23T09:07:48+00:00",
"ContentLength": 921,
"ETag": "\"9762f8a803bc34f5340579d4446076f7\""
"ContentType": "binary/octet-stream",
"Metadata": {}
}