Esta página destina-se somente a clientes atuais do serviço Amazon Glacier que usam cofres e a API REST original de 2012.
Se você estiver procurando soluções de armazenamento de arquivos do Amazon Glacier, recomendamos usar as classes de armazenamento do Amazon S3, S3 Glacier Instant Retrieval, S3 Glacier Flexible Retrieval e S3 Glacier Deep Archive. Para saber mais sobre essas opções de armazenamento, consulte Classes de armazenamento do Amazon Glacier.
O Amazon Glacier (serviço autônomo original baseado em cofre) não aceitará mais novos clientes a partir de 15 de dezembro de 2025, sem impacto para os clientes existentes. O Amazon Glacier é um serviço independente com suas próprias APIs que armazena dados em cofres e é diferente das classes de armazenamento do Amazon S3 e Amazon S3 Glacier. Seus dados existentes permanecerão seguros e acessíveis no Amazon Glacier indefinidamente. Nenhuma migração é necessária. Para armazenamento de arquivamento de baixo custo e longo prazo, a AWS recomenda as classes de armazenamento do Amazon S3 Glacier, que oferecem uma experiência superior ao cliente com APIs baseadas em bucket do S3, disponibilidade total da Região da AWS, custos mais baixos e integração de serviços da AWS. Se você quiser recursos aprimorados, considere migrar para as classes de armazenamento do Amazon S3 Glacier usando nossas Orientações de soluções da AWS para transferir dados dos cofres do Amazon Glacier para as classes de armazenamento do Amazon S3 Glacier.
Usar GetJobOutput com o AWS SDK ou a CLI
Os exemplos de código a seguir mostram como usar o GetJobOutput.
Exemplos de ações são trechos de código de programas maiores e devem ser executados em contexto. É possível ver essa ação no contexto no seguinte exemplo de código:
- CLI
-
- AWS CLI
-
O seguinte comando salva a saída de um trabalho de inventário do cofre em um arquivo no diretório atual chamado output.json:
aws glacier get-job-output --account-id - --vault-name my-vault --job-id zbxcm3Z_3z5UkoroF7SuZKrxgGoDc3RloGduS7Eg-RO47Yc6FxsdGBgf_Q2DK5Ejh18CnTS5XW4_XqlNHS61dsO4CnMW output.json
O job-id está disponível na saída de aws glacier list-jobs. Observe que o nome do arquivo de saída é um argumento posicional que não é prefixado por um nome de opção. O Amazon Glacier exige um argumento de ID de conta ao realizar operações, mas você pode usar um hífen para especificar a conta em uso.
Resultado:
{
"status": 200,
"acceptRanges": "bytes",
"contentType": "application/json"
}
output.json:
{"VaultARN":"arn:aws:glacier:us-west-2:0123456789012:vaults/my-vault","InventoryDate":"2015-04-07T00:26:18Z","ArchiveList":[{"ArchiveId":"kKB7ymWJVpPSwhGP6ycSOAekp9ZYe_--zM_mw6k76ZFGEIWQX-ybtRDvc2VkPSDtfKmQrj0IRQLSGsNuDp-AJVlu2ccmDSyDUmZwKbwbpAdGATGDiB3hHO0bjbGehXTcApVud_wyDw","ArchiveDescription":"multipart upload test","CreationDate":"2015-04-06T22:24:34Z","Size":3145728,"SHA256TreeHash":"9628195fcdbcbbe76cdde932d4646fa7de5f219fb39823836d81f0cc0e18aa67"}]}
- PowerShell
-
- Ferramentas para PowerShell V4
-
Exemplo 1: baixar o conteúdo do arquivo que foi agendado para recuperação na tarefa especificada e armazená-lo em um arquivo no disco. O download valida a soma de verificação para você, se houver uma disponível. Se desejado, toda a resposta, incluindo a soma de verificação, pode ser exibida especificando -Select '*'.
Read-GLCJobOutput -VaultName myvault -JobId "HSWjArc...Zq2XLiW" -FilePath "c:\temp\blue.bin"
- Ferramentas para PowerShell V5
-
Exemplo 1: baixar o conteúdo do arquivo que foi agendado para recuperação na tarefa especificada e armazená-lo em um arquivo no disco. O download valida a soma de verificação para você, se houver uma disponível. Se desejado, toda a resposta, incluindo a soma de verificação, pode ser exibida especificando -Select '*'.
Read-GLCJobOutput -VaultName myvault -JobId "HSWjArc...Zq2XLiW" -FilePath "c:\temp\blue.bin"
- Python
-
- SDK para Python (Boto3).
-
class GlacierWrapper:
"""Encapsulates Amazon S3 Glacier API operations."""
def __init__(self, glacier_resource):
"""
:param glacier_resource: A Boto3 Amazon S3 Glacier resource.
"""
self.glacier_resource = glacier_resource
@staticmethod
def get_job_output(job):
"""
Gets the output of a job, such as a vault inventory or the contents of an
archive.
:param job: The job to get output from.
:return: The job output, in bytes.
"""
try:
response = job.get_output()
out_bytes = response["body"].read()
logger.info("Read %s bytes from job %s.", len(out_bytes), job.id)
if "archiveDescription" in response:
logger.info(
"These bytes are described as '%s'", response["archiveDescription"]
)
except ClientError:
logger.exception("Couldn't get output for job %s.", job.id)
raise
else:
return out_bytes
Para ver uma lista completa dos Guias do desenvolvedor e exemplos de código do AWS SDK, consulte Como usar o Amazon Glacier com um SDK da AWS. Este tópico também inclui informações sobre como começar e detalhes sobre versões anteriores do SDK.