Restaurando um Objeto Excluído

Recupere um objeto excluído em um bucket do serviço Object Storage.

Quando a versão é ativada, a exclusão de um objeto sem direcionar a uma versão específica cria um marcador de exclusão, e você pode recuperar a versão anterior do objeto. Um objeto excluído só aparece na lista Objetos quando o recurso Mostrar objeto excluído é selecionado. Todos os objetos excluídos listados têm (Objeto Excluído) ao lado do nome da entrada do objeto. Expanda a lista de versões do objeto excluído e procure a versão com (Excluir marcador) ao lado dele. Restaure uma versão do objeto excluído removendo esse marcador de exclusão. Se existir uma versão anterior, essa versão se tornará o objeto ativo.

Observação

O controle de versão deve ser ativado para um bucket do serviço Object Storage no momento do upload do objeto. Não é possível recuperar objetos excluídos de um bucket com controle de versão desativado ou suspenso.
    1. Na página de lista Buckets, selecione o bucket do serviço Object Storage com o qual você deseja trabalhar. Se precisar de ajuda para localizar a página de lista ou o bucket, consulte Listando Buckets.
    2. Na página de detalhes do bucket, selecione Objetos.
      A guia Objetos é aberta. Todos os objetos no bucket selecionado são exibidos em uma tabela.
    3. No menu Ações, selecione Mostrar objetos excluídos.
      Todos os objetos excluídos, incluindo pastas e subpastas, são exibidos.
    4. Localize o objeto que você deseja recuperar.
    5. No menu Ações (três pontos) do objeto, selecione Exibir versões.
      A lista de versões do objeto é exibida. A versão mais recente aparece na parte superior da lista e é exibida (Versão mais recente).
    6. No menu Ações (três pontos) do objeto, selecione Excluir.
    7. Quando solicitado, confirme a exclusão.
    A versão do objeto listada após aquele cujo marcador de exclusão você removeu se torna o objeto restaurado.
  • Para restaurar um objeto excluído em um bucket usando a CLI, primeiro você precisa saber qual objeto está marcado para exclusão. Para obter essas informações, liste os objetos no bucket. Consulte Listando Versões de Objeto em um Bucket e selecione a guia CLI para executar o comando apropriado.

    Na saída, localize a versão do objeto que tem "is-delete-marker": true.

    Use o comando oci os object delete e os parâmetros necessários para restaurar um objeto excluído em um bucket. Inclua o parâmetro version-id e seu valor para esse objeto.

    oci os object delete --bucket-name bucket_name --object-name object_name --version-id version_id [OPTIONS]

    Ao executar esse comando, você será solicitado a confirmar a exclusão:

    Are you sure you want to delete this resource? [y/N]:

    Responda com y.

    Por exemplo:

    oci os object delete --bucket-name MyBucket --name MyFile.txt --version-id 2a0021a1-2a2f-41a0-a199-454003f84aa0
    Are you sure you want to delete this resource? [y/N]: y

    O marcador de exclusão do objeto é excluído sem mais informações retornadas. O objeto é restaurado em seu bucket. Você pode listar o objeto para verificar se ele foi restaurado após remover o marcador de exclusão.

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

    Restaurando Objeto Excluído em Massa

    Para restaurar vários objetos em um bucket ao mesmo tempo, use os filtros da CLI do OCI disponíveis para consultar o indicador "is-delete-marker": true. Consulte "Usando Consultas" em Gerenciando Entrada e Saída da CLI para obter mais informações.

    Por exemplo, para restaurar um grupo de objetos excluídos, execute o seguinte comando para obter uma lista de objetos com o marcador de exclusão e o ID de versão de cada objeto excluído:

    oci os object list-object-versions --bucket-name MyBucket --query "data[?\"is-delete-marker\"].{Name:name,version:\"version-id\"}"|jq -r '.[]

    Em seguida, conduza a saída para outro comando ou grave um script wrapper para restaurar os objetos excluídos no bucket. Por exemplo, para restaurar todos os objetos em um bucket com o marcador de exclusão em um host Linux, execute o seguinte comando:

    oci os object list-object-versions --bucket-name MyBucket --query "data[?\"is-delete-marker\"].{Name:name,version:\"version-id\"}"|jq -r '.[] | join(" ")'| xargs -n 2 sh -c 'oci os object delete --namespace MyNamespace --bucket-name MyBucket --object-name "$1" --version-id "$2"' argv0
    

    Você pode usar o parâmetro --force para evitar o modo interativo. No entanto, use esta opção com cuidado para evitar a falta de informações importantes.

  • Primeiro, use a operação ListObjectVersions para localizar objetos com o "is-delete-marker": true. Em seguida, use a operação DeleteObject para remover o marcador de exclusão de um objeto.