Usar a funcionalidade Operações em Lote com a classe S3 Express One Zone - Amazon Simple Storage Service

Usar a funcionalidade Operações em Lote com a classe S3 Express One Zone

Você pode usar a funcionalidade Operações em Lote do Amazon S3 para executar operações em lote de grande escala em objetos armazenados em buckets do S3. Para saber mais sobre a funcionalidade Operações em Lote do S3, consulte Executar operações em lote de grande escala em objetos do Amazon S3.

Os tópicos a seguir discutem a execução de operações em lote em objetos armazenados em buckets de diretório na classe de armazenamento S3 Express One Zone.

Usar a funcionalidade Operações em Lote com buckets de diretório

Você pode realizar a operação Copiar e as operações Invocar função do AWS Lambda em objetos armazenados em buckets de diretório. Com Copiar, é possível copiar objetos entre buckets do mesmo tipo (por exemplo, de um bucket de diretório para outro bucket de diretório). Você também pode copiar entre buckets de uso geral e buckets de diretório. Com Invocar função do AWS Lambda, você pode usar uma função do Lambda para realizar ações em objetos no seu bucket de diretório com código definido por você.

Cópia de objetos

Você pode copiar entre o mesmo tipo de bucket ou entre buckets de diretório e buckets de uso geral. Ao copiar para um bucket de diretório, você deve usar o formato de nome do recurso da Amazon (ARN) correto para esse tipo de bucket. O formato de ARN para um bucket de diretório é arn:aws:s3express:region:account-id:bucket/bucket-base-name--x-s3.

Você também pode preencher o bucket de diretório com dados usando a ação Importar no console do S3. Importar é um método simplificado para criar trabalhos da funcionalidade Operações em Lote a fim de copiar objetos de buckets de uso geral para buckets de diretório. Para trabalhos de cópia com Importar de buckets de uso geral para buckets de diretório, o S3 gera um manifesto automaticamente. Para obter mais informações, consulte Importar objetos em um bucket de diretório e Specifying a manifest.

Invocar funções do Lambda (LambdaInvoke)

Há requisitos especiais para usar a funcionalidade Operações em Lote para invocar funções do Lambda que atuam em buckets de diretório. Por exemplo, você deve estruturar a solicitação do Lambda usando um esquema de invocação JSON v2 e especificar InvocationSchemaVersion 2.0 ao criar o trabalho. Para obter mais informações, consulte Invocar função do AWS Lambda.

Principais diferenças

Veja a seguir uma lista das principais diferenças ao usar a funcionalidade Operações em Lote para realizar operações em massa para objetos armazenados em buckets de diretório com a classe de armazenamento S3 Express One Zone:

  • Em relação a buckets de diretório, são aceitas a SSE-S3 e a criptografia do lado do servidor com chaves do AWS Key Management Service (AWS KMS) (SSE-KMS). Se você fizer uma solicitação CopyObject que especifique a criptografia do lado do servidor com chaves fornecidas pelo cliente (SSE-C) em um bucket de diretório (origem ou destino), a resposta exibirá um erro HTTP 400 (Bad Request).

    Recomendamos que a criptografia padrão do bucket use a configuração desejada e que você não a substitua em suas solicitações CreateSession ou de objetos PUT. Desse modo, os novos objetos são criptografados automaticamente com as configurações de criptografia desejadas. Para ter mais informações sobre os comportamentos de substituição de criptografia em buckets de diretório e como criptografar novas cópias de objetos em um bucket de diretório com SSE-KMS, consulte Especificar a criptografia do lado do servidor com o AWS KMS (SSE-KMS) para novos uploads de objetos em buckets de diretório.

    As chaves de bucket do S3 não são aceitas quando você copia objetos criptografados por SSE-KMS de buckets de uso geral para buckets de diretório, de buckets de diretório para buckets de uso geral ou entre buckets de diretório, por meio da operação Copy em Operações em Lote. Nesse caso, o Amazon S3 faz uma chamada para o AWS KMS sempre que uma solicitação de cópia é feita para um objeto criptografado pelo KMS. Para ter mais informações sobre como usar a SSE-KMS em buckets de diretório, consulte Definir e monitorar a criptografia padrão para buckets de diretório e Usar a criptografia do lado do servidor com chaves do AWS KMS (SSE-KMS) em buckets de diretório.

  • Não é possível marcar objetos em buckets de diretório. Você só pode especificar um conjunto vazio de etiquetas. Por padrão, a funcionalidade Operações em Lote copia as etiquetas. Se você copiar um objeto que tenha etiquetas entre buckets de uso geral e buckets de diretório, receberá uma resposta 501 (Not Implemented).

  • A classe S3 Express One Zone oferece a opção de escolher o algoritmo de soma de verificação usado para validar os dados durante uploads ou downloads. Você pode selecionar um dos seguintes algoritmos de verificação de integridade de dados de hash seguro (SHA) ou de verificação de redundância cíclica (CRC): CRC32, CRC32, SHA-1 e SHA-256. As somas de verificação baseadas em MD5 não são compatíveis com a classe de armazenamento S3 Express One Zone.

  • Por padrão, todos os buckets do Amazon S3 definem a configuração Propriedade do objeto do S3 como Imposto pelo proprietário do bucket e as listas de controle de acesso (ACLs) estão desabilitadas. Para buckets de diretório, essa configuração não pode ser modificada. Você pode copiar um objeto de buckets de uso geral para buckets de diretório. No entanto, não é possível sobrescrever a ACL padrão ao copiar de ou para um bucket de diretório.

  • Independentemente de como você especifica o manifesto, a lista em si deve ser armazenada em um bucket de uso geral. A funcionalidade Operações em Lote não pode importar manifestos existentes de buckets de diretório (nem salvar manifestos gerados neles). No entanto, os objetos descritos no manifesto podem ser armazenados em buckets de diretório.

  • A funcionalidade Operações em Lote não consegue especificar um bucket de diretório como um local em um relatório da funcionalidade Inventário S3. Os relatórios da funcionalidade Inventário não são compatíveis com buckets de diretório. Você pode criar um arquivo de manifesto para objetos em um bucket de diretório usando a operação de API ListObjectsV2 para listar os objetos. Depois, você pode inserir a lista em um arquivo CSV.

Como conceder acesso ao

Para realizar trabalhos de cópia, você deve ter as seguintes permissões:

  • Para copiar objetos de um bucket de diretório para outro bucket de diretório, você precisa ter a permissão s3express:CreateSession.

  • Para copiar objetos de buckets de diretório para buckets de uso geral, você precisa ter a permissão s3express:CreateSession e a permissão s3:PutObject para gravar a cópia do objeto no bucket de destino.

  • Para copiar objetos de buckets de uso geral para buckets de diretório, você precisa ter a permissão s3express:CreateSession e a permissão s3:GetObject para ler o objeto de origem que está sendo copiado.

    Para obter mais informações, consulte CopyObject na Referência da API do Amazon Simple Storage Service.

  • Para invocar uma função do Lambda, você deve conceder permissões ao recurso com base na função do Lambda. Para determinar quais permissões são necessárias, verifique as operações de API correspondentes.