Se você for novato no armazenamento de arquivo no Amazon Simple Storage Service (Amazon S3), recomendamos que comece aprendendo mais sobre as classes de armazenamento do S3 Glacier no Amazon S3, S3 Glacier Instant Retrieval, S3 Glacier Flexible Retrieval e S3 Glacier Deep Archive. Para obter mais informações, consulte Classes de armazenamento S3 Glacier e Classes de armazenamento para arquivamento de objetos no Guia do usuário do Amazon S3.
As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Use ListVaults
com um AWS SDK ou CLI
Os exemplos de códigos a seguir mostram como usar ListVaults
.
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:
- .NET
-
- AWS SDK for .NET
-
/// <summary>
/// List the Amazon S3 Glacier vaults associated with the current account.
/// </summary>
/// <returns>A list containing information about each vault.</returns>
public async Task<List<DescribeVaultOutput>> ListVaultsAsync()
{
var glacierVaultPaginator = _glacierService.Paginators.ListVaults(
new ListVaultsRequest { AccountId = "-" });
var vaultList = new List<DescribeVaultOutput>();
await foreach (var vault in glacierVaultPaginator.VaultList)
{
vaultList.Add(vault);
}
return vaultList;
}
- CLI
-
- AWS CLI
-
O seguinte comando lista os cofres na conta e na região padrão:
aws glacier list-vaults --account-id -
Saída:
{
"VaultList": [
{
"SizeInBytes": 3178496,
"VaultARN": "arn:aws:glacier:us-west-2:0123456789012:vaults/my-vault",
"LastInventoryDate": "2015-04-07T00:26:19.028Z",
"VaultName": "my-vault",
"NumberOfArchives": 1,
"CreationDate": "2015-04-06T21:23:45.708Z"
}
]
}
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.
- Java
-
- SDK para Java 2.x
-
import software.amazon.awssdk.regions.Region;
import software.amazon.awssdk.services.glacier.model.ListVaultsRequest;
import software.amazon.awssdk.services.glacier.model.ListVaultsResponse;
import software.amazon.awssdk.services.glacier.GlacierClient;
import software.amazon.awssdk.services.glacier.model.DescribeVaultOutput;
import software.amazon.awssdk.services.glacier.model.GlacierException;
import java.util.List;
/**
* Before running this Java V2 code example, set up your development
* environment, including your credentials.
*
* For more information, see the following documentation topic:
*
* https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/get-started.html
*/
public class ListVaults {
public static void main(String[] args) {
GlacierClient glacier = GlacierClient.builder()
.region(Region.US_EAST_1)
.build();
listAllVault(glacier);
glacier.close();
}
public static void listAllVault(GlacierClient glacier) {
boolean listComplete = false;
String newMarker = null;
int totalVaults = 0;
System.out.println("Your Amazon Glacier vaults:");
try {
while (!listComplete) {
ListVaultsResponse response = null;
if (newMarker != null) {
ListVaultsRequest request = ListVaultsRequest.builder()
.marker(newMarker)
.build();
response = glacier.listVaults(request);
} else {
ListVaultsRequest request = ListVaultsRequest.builder()
.build();
response = glacier.listVaults(request);
}
List<DescribeVaultOutput> vaultList = response.vaultList();
for (DescribeVaultOutput v : vaultList) {
totalVaults += 1;
System.out.println("* " + v.vaultName());
}
// Check for further results.
newMarker = response.marker();
if (newMarker == null) {
listComplete = true;
}
}
if (totalVaults == 0) {
System.out.println("No vaults found.");
}
} catch (GlacierException e) {
System.err.println(e.awsErrorDetails().errorMessage());
System.exit(1);
}
}
}
- 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
def list_vaults(self):
"""
Lists vaults for the current account.
"""
try:
for vault in self.glacier_resource.vaults.all():
logger.info("Got vault %s.", vault.name)
except ClientError:
logger.exception("Couldn't list vaults.")
raise
Para obter uma lista completa dos guias do desenvolvedor do AWS SDK e exemplos de código, consulteUsando o S3 Glacier com um SDK AWS. Este tópico também inclui informações sobre como começar e detalhes sobre versões anteriores do SDK.