Copiando um Objeto para Outro Bucket no Object Storage

Copie um objeto para outro bucket no Object Storage.

Cuidado

A cópia de objetos não funcionará se você não autorizar o serviço Object Storage a copiar objetos em seu nome. Consulte Permissões do Serviço para obter mais informações.

Regras de Substituição de Cópia de Objeto

Use regras de substituição para controlar a cópia de objetos com base em seus valores de tag de entidade (ETag).

  • Sobrepor objeto de destino: Use esta opção quando não quiser limitar uma operação de cópia por um valor de ETag. Essa é a opção padrão. Esta opção pode ser usada para qualquer operação de cópia, independentemente de ela envolver a substituição de um objeto existente.

  • Não substituir qualquer objeto de destino: Use essa opção para impedir a substituição de uma cópia existente de um objeto no local de destino, independentemente do valor da ETag do objeto de destino.

  • Substituir objeto de destino apenas se ele corresponder ao ETag especificado: Use essa opção para impedir a substituição acidental de um objeto no local de destino que não tenha o ETag especificado. Quando você usar essa opção, a operação de cópia só será bem-sucedida se o ETag que você fornecer ao iniciar a solicitação de cópia corresponder ao ETag do objeto de destino.

  • Só copie o objeto se a origem corresponder ao ETag especificado: Use essa opção se quiser que a operação de cópia seja bem-sucedida somente se o ETag que você fornecer ao iniciar a solicitação de cópia corresponder ao ETag do objeto de origem. Para objetos que são intencionalmente atualizados e substituídos como parte da atividade de gerenciamento de dados, essa opção garante que apenas a versão especificada do objeto (conforme indicado pela ETag) seja copiada. Se o valor ETag do objeto for alterado após a criação da solicitação de serviço de cópia, mas antes de a operação de cópia ser executada, a operação de cópia não será concluída.

Cuidado

Se você substituir um objeto, a operação não poderá ser desfeita.

Escopo e Restrições

  • Os objetos não podem ser copiados diretamente do serviço Archive Storage. Para copiar objetos que estão no serviço Archive Storage, primeiro você deve restaurar o objeto à camada Padrão do serviço Object Storage. Os objetos podem ser copiados diretamente para os buckets da camada Arquivo Compactado das camadas Padrão ou de Acesso Não Frequente. Quando você copia objetos para um bucket do serviço Archive Storage, a cópia do objeto é imediatamente arquivada.

  • Especifique um bucket de destino existente para a solicitação de cópia. A operação de cópia não cria buckets automaticamente.

  • Quando um objeto é copiado, o objeto de destino recebe um novo valor da ETag.

  • Se você renomear, substituir ou excluir um objeto de origem durante uma operação de cópia, a operação de cópia falhará e o objeto de destino não será criado nem substituído.

  • Não há suporte para a cópia em massa. Identifique um único objeto na solicitação de cópia.

Permissões de Serviço

Como o Object Storage é um serviço regional, você deve autorizar o serviço Object Storage de cada região que execute operações de cópia em seu nome. Por exemplo, você pode autorizar o serviço Object Storage na região US East (Ashburn) a gerenciar objetos em seu nome. Depois de autorizar o serviço Object Storage, você pode copiar um objeto armazenado em um bucket da região Leste dos EUA (Ashburn) para um bucket de outra região.

Para determinar o valor do identificador de uma região do serviço Oracle Cloud Infrastructure, consulte Regiões e Domínios de Disponibilidade.

Para administradores:

Para permitir a cópia do objeto, você deve autorizar o serviço a gerenciar objetos em seu nome:

  • Você pode criar uma política que autorize o serviço na região especificada para gerenciar namespaces do serviço Object Storage, buckets e seus objetos associados em todos os compartimentos da tenancy:

    Allow service objectstorage-<region_identifier> to manage object-family in tenancy
  • Em vez usar o verbo de política manage, você pode criar uma política que reduza o escopo do acesso usando uma das seguintes instruções:

    Allow service objectstorage-<region_identifier> to manage object-family in tenancy where any {request.permission='OBJECT_READ', request.permission='OBJECT_INSPECT', request.permission='OBJECT_CREATE', request.permission='OBJECT_OVERWRITE', request.permission='OBJECT_DELETE'}
    Allow service objectstorage-<region_identifier> to manage object-family in compartment <compartment_name> where any {request.permission='OBJECT_READ', request.permission='OBJECT_INSPECT', request.permission='OBJECT_CREATE', request.permission='OBJECT_OVERWRITE', request.permission='OBJECT_DELETE'}

Copiando um Objeto

    1. Abra o menu de navegação e clique em Armazenamento. Em Object Storage & Archive Storage, clique em Buckets.
    2. Selecione o compartimento na lista em List Scope. Todos os buckets desse compartimento são listados em formato tabular.
    3. Clique no bucket que contém o objeto que você deseja copiar. A página Detalhes do bucket é exibida.
    4. Clique em Objetos, em Recursos. A lista Objetos é exibida. Todos os objetos no bucket são exibidos em formato tabular.
    5. Clique no menu Ações (Menu Ações) ao lado do objeto que você deseja copiar (o objeto de origem) e selecione Copiar. Será exibida a caixa de diálogo Copiar Objeto.

      A Console verifica as políticas do serviço IAM que estão em vigor para executar essa tarefa com sucesso. Caso veja uma advertência de ausência de política, você poderá permitir que a Console tente criar qualquer política ausente ou copiar os detalhes da política ausente para a área de transferência para enviar um e-mail ao administrador. Se você acha que tem as políticas necessárias em vigor, prossiga e tente a operação de cópia.

    6. Siga as etapas abaixo:
      • Namespace de Destino: Informe o namespace do bucket de destino para o objeto copiado. A string de namespace de sua tenancy é fornecida como o valor padrão. Consulte Noções Básicas de Namespaces para obter mais informações.

      • Região de Destino: Selecione na lista a região do OCI que contém o bucket de destino do objeto copiado. Sua tenancy deverá estar inscrita em uma região para que você copie um objeto para um bucket nessa região.

      • Bucket de Destino: Informe o nome do bucket de destino para o objeto copiado. O destino deve ser um bucket existente ao qual você tenha acesso. Consulte Buckets para obter mais informações sobre como criar um bucket.

      • Nome do Objeto de Destino: (Opcional) Informe um nome alternativo para o objeto que está sendo copiado se não quiser usar seu nome original. Por padrão, o nome é o mesmo nome do objeto que você está copiando.

      • Camada de Armazenamento de Destino: (Opcional) Especifique a camada de armazenamento para a qual o upload do objeto será feito se você quiser que ele seja diferente da camada de armazenamento de origem. As seguintes camadas de armazenamento são suportadas:

        Se você não especificar uma camada de armazenamento de destino, o objeto será armazenado na mesma camada de armazenamento que o bucket. Consulte Camadas do Serviço Object Storage para obter mais informações.

      • Regra de Substituição: Selecione a regra de substituição apropriada para a solicitação de cópia:

        • Substituir objeto de destino

        • Não substituir qualquer objeto de destino

        • Substituir objeto de destino apenas se ele corresponder ao ETag especificado

        • Só copie o objeto se a origem corresponder à ETag especificada

        Consulte Regras de Substituição de Cópia de Objeto para obter descrições de cada uma dessas regras.

    7. Clique em Copiar Objeto.

    A caixa de diálogo Detalhes da Solicitação de Serviço é exibida e confirma que a solicitação de cópia foi enviada com sucesso e rastreia o status da solicitação.

  • Use o comando oci os object copy e os parâmetros necessários para copiar um objeto para outro bucket:

    oci os object copy --bucket-name source_bucket_name --source-object-name source_object_name --destination-bucket destination_bucket_name [OPTIONS]

    Por exemplo:

    oci os object copy --bucket-name photos --source-object-name hummingbird.jpg --destination-namespace ansh8lvru1zp --destination-bucket UK_photos
    Copiando um Objeto para uma Região Diferente

    Inclua o parâmetro destination-region e o identificador de região para especificar um bucket de destino na região em que o objeto de destino reside.

    Por exemplo:

    oci os object copy --bucket-name photos --source-object-name hummingbird.jpg --destination-bucket UK_photos --destination-region uk-london-1
    Sua tenancy deverá estar inscrita em uma região para que você copie um objeto para um bucket nessa região.
    Copiando para Outra Camada de Armazenamento de Destino

    Inclua o parâmetro destination-object-storage-tier e um valor de camada de armazenamento suportado para copiar o objeto para outra camada de armazenamento no bucket de destino que a camada em que ele reside na origem.

    Por exemplo:

    oci os object copy --bucket-name photos --source-object-name hummingbird.jpg --destination-bucket UK_photos --destination-object-storage-tier Archive

    Os valores suportados são:

    • Standard (padrão)

    • InfrequentAccess

    • Archive

    • Se você não especificar uma camada de armazenamento de destino, o objeto será armazenado na mesma camada de armazenamento que o bucket. Consulte Camadas do Serviço Object Storage para obter mais informações.

    Especificando o Namespace do Objeto Copiado

    Inclua o parâmetro destination-namespace e seu valor para especificar o namespace de destino para o qual o objeto é copiado.

    Por exemplo:

    oci os object copy --bucket-name photos --source-object-name hummingbird.jpg --destination-bucket UK_photos --destination-namespace MyNamespace
    Consulte Noções Básicas de Namespaces para obter mais informações.
    Especificando um Nome Alternativo para o Objeto Copiado

    Inclua o parâmetro destination-object-name e seu valor para aplicar um nome alternativo ao objeto copiado.

    Por exemplo:

    oci os object copy --bucket-name photos --source-object-name hummingbird.jpg --destination-bucket UK_photos --destination-object-name hummingbird_brochure.jpg

    Por padrão, o nome é o mesmo nome do objeto que você está copiando.

    Para obter uma lista completa de parâmetros e valores para comandos da CLI, consulte a Referência de Comando da CLI.

  • Execute a operação CopyObject para copiar um objeto para outro bucket.