Copiando um Objeto para Outro Bucket no Object Storage
Copie um objeto para outro bucket no Object Storage.
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).
-
Substituir objeto de destino: Use esta opção quando não quiser limitar uma operação de cópia por um valor 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.
-
Sobrepor 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.
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 de Armazenamento de Objetos Padrão. 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.
-
A cópia em massa não é suportada. 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 de 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
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 Outra Região
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:
Sua tenancy deverá estar inscrita em uma região para que você copie um objeto para um bucket nessa região.oci os object copy --bucket-name photos --source-object-name hummingbird.jpg --destination-bucket UK_photos --destination-region uk-london-1
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:
Consulte Noções Básicas de Namespaces para obter mais informações.oci os object copy --bucket-name photos --source-object-name hummingbird.jpg --destination-bucket UK_photos --destination-namespace MyNamespace
Especificando um Nome Alternativo para o Objeto Copiado
Inclua o parâmetro
e seu valor para aplicar um nome alternativo ao objeto copiado.destination-object-name
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 dos parâmetros e valores dos comandos da CLI, consulte a Referência de Comandos da CLI.
-
Execute a operação CopyObject para copiar um objeto para outro bucket.