Existe uma maneira de recuperar todo o conteúdo de um bucket do Amazon S3 com versão a partir de uma data / hora específica?

3

É possível, por meio da AWS CLI ou por meio de alguma ferramenta de terceiros, fazer o download de todo o conteúdo de um intervalo de versões como se estivesse em uma data / hora específica?

I.E. Gostaria de recuperar a versão de cada objeto no intervalo que seria considerada a versão "mais recente" na data especificada.

    
por Nada_Surf 04.04.2014 / 12:41

2 respostas

4

Olhando para o aws cli , vejo apenas a funcionalidade de versionamento exposta na s3api seção, não no s3 .

Pelo que entendi, só é possível buscar versões anteriores de objetos com base no ID da versão deles.

By default, the GET operation returns the current version of an object. To return a different version, use the versionId subresource.

Veja o link para ver exemplos e detalhes adicionais

Para resolver o que você está querendo saber, a menos que você tenha rastreado os IDs da versão, será necessário buscar primeiro uma lista das versões para determinar quais delas obter.

You can use the versions subresource to list metadata about all of the versions of objects in a bucket. You can also use request parameters as selection criteria to return metadata about a subset of all the object versions.

Consulte o link para obter detalhes.

Essa resposta teria dados como os seguintes para cada versão que corresponde à sua consulta:

    <Version>
        <Key>my-image.jpg</Key>
        <VersionId>3/L4kqtJl40Nr8X8gdRQBpUMLUo</VersionId>
        <IsLatest>true</IsLatest>
         <LastModified>2009-10-12T17:50:30.000Z</LastModified>
        <ETag>&quot;fba9dede5f27731c9771645a39863328&quot;</ETag>
        <Size>434234</Size>
        <StorageClass>STANDARD</StorageClass>
        <Owner>
            <ID>75aa57f09aa0c8caeab4f8c24e99d10f8e7faeebf76c078efc7c6caea54ba06a</ID>
            <DisplayName>[email protected]</DisplayName>
        </Owner>
    </Version>

Em termos de aws cli, isso seria aws s3api get-object --version-id ... e aws s3api list-object-versions ... respectivamente para as chamadas da API mencionadas acima .

    
por 14.06.2014 / 15:16
2

Usando Duplicidade , você pode restaurar a partir de um ponto no tempo, incluindo o parâmetro --time . Você pode consultar este link para alguns exemplos de uso com o serviço Amazon S3.

duplicity --time 2012-10-01T01:00:00 s3+http://backup_bucket_url /local_restore_path
    
por 14.06.2014 / 14:50