Como trabalhar com buckets do S3 em um dispositivo Snowball Edge - AWS Snowball Edge Guia do desenvolvedor

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á.

Como trabalhar com buckets do S3 em um dispositivo Snowball Edge

Você pode criar buckets do Amazon S3 em seus dispositivos Snowball Edge para poder armazenar e recuperar objetos on-premises para aplicações que exigem acesso a dados locais, processamento de dados local e residência de dados. O armazenamento compatível do Amazon S3 em dispositivos da Família Snow fornece uma nova classe de armazenamento, SNOW, que usa as APIs do Amazon S3 e é projetada para armazenar dados de forma duradoura e redundante em vários dispositivos Snowball Edge. É possível usar os mesmos atributos e APIs nos buckets do Snowball Edge da mesma maneira que em buckets do Amazon S3, incluindo políticas de acesso ciclo de vida do bucket, criptografia e marcação.

Usando o AWS CLI

Siga estas instruções para trabalhar com buckets do Amazon S3 no seu dispositivo usando o AWS CLI.

Para configurar o AWS CLI
  1. Crie um perfil para endpoints de objetos em ~/.aws/config.

    [profile your-profile] aws_access_key_id = your-access-id aws_secret_access_key = your-access-key region = snow ca_bundle = dev/apps/ca-certs/your-ca_bundle
  2. Obtenha um certificado do seu dispositivo. Para obter informações, consulte o Guia do desenvolvedor do Snowball Edge.

  3. Se você tiver instalado o SDK em um ambiente virtual, ative-o usando o seguinte comando:

    source your-virtual-environment-name/bin/activate

Depois de configurar suas operações, você pode acessá-las usando chamadas de API com o AWS CLI. Nos exemplos a seguir, cert é o certificado de dispositivo que você acabou de obter usando o IAM.

Acessar operações de objeto

aws s3api --profile your-profile list-objects-v2 --endpoint-url https://s3api-endpoint-ip

Acessar operações de bucket

aws s3control --profile your-profile list-regional-buckets --account-id bucket-owner --endpoint-url https://s3ctrlapi-endpoint-ip

Uso do Java SDK

Use o exemplo a seguir para trabalhar com objetos do Amazon S3 usando o Java SDK.

import software.amazon.awssdk.services.s3.S3Client; import software.amazon.awssdk.auth.credentials.AwsBasicCredentials; import software.amazon.awssdk.auth.credentials.StaticCredentialsProvider; import software.amazon.awssdk.http.SdkHttpClient; import software.amazon.awssdk.http.apache.ApacheHttpClient; import software.amazon.awssdk.regions.Region; import java.net.URI; AwsBasicCredentials creds = AwsBasicCredentials.create(accessKey, secretKey); // set creds by getting Access Key and Secret Key from snowball edge SdkHttpClient httpClient = ApacheHttpClient.builder().tlsTrustManagersProvider(trustManagersProvider).build(); // set trust managers provider with client certificate from snowball edge String s3SnowEndpoint = "10.0.0.0"; // set s3-snow object api endpoint from describe service S3Client s3Client = S3Client.builder().httpClient(httpClient).region(Region.of("snow")).endpointOverride(new URI(s3SnowEndpoint)).credentialsProvider(StaticCredentialsProvider.create(creds)).build();

Formato do ARN do bucket

Você pode usar o formato do nome do recurso da Amazon (ARN) listado aqui para identificar um bucket do Amazon S3 em um dispositivo Snowball Edge:

arn:partition:s3:snow:account-id:device/device-id/bucket/bucket-name

Onde partição é a partição da região em que você solicitou seu dispositivo Snowball Edge. device-id é o job_id se for um dispositivo autônomo do Snowball Edge, ou o cluster_id se você tiver um cluster do Snowball Edge.

Criação de um bucket do S3 em um dispositivo Snowball Edge

Você pode criar buckets do Amazon S3 em seus dispositivos Snowball Edge para armazenar e recuperar objetos na borda para aplicações que exigem acesso a dados locais, processamento de dados local e residência de dados. O armazenamento compatível com o Amazon S3 em dispositivos da Família Snow é uma nova classe de armazenamento, SNOW, que usa o Amazon S3 e é projetada para armazenar dados de forma duradoura e redundante em vários dispositivos. É possível usar os mesmos atributos e APIs nos buckets da mesma maneira que em buckets do Amazon S3, incluindo políticas de ciclo de vida de bucket, criptografia e marcação.

O exemplo a seguir cria um bucket do Amazon S3 para um dispositivo Snowball Edge usando o AWS CLI. Para executar esse comando, substitua os espaços reservados de entrada por suas próprias informações.

aws s3control --profile your-profile create-bucket --bucket your-snow-bucket --endpoint-url https://s3ctrlapi-endpoint-ip

Criando e gerenciando uma configuração do ciclo de vida do objeto usando o AWS CLI

Você pode usar o ciclo de vida do Amazon S3 para otimizar a capacidade de armazenamento para armazenamento compatível com Amazon S3 em dispositivos da Família Snow. Você pode criar regras de ciclo de vida para expirar objetos à medida que envelhecem ou quando são substituídos por versões mais recentes. Você pode criar, habilitar, desabilitar e excluir uma regra de ciclo de vida. Para obter mais informações sobre o ciclo de vida do Amazon S3, consulte Gerenciar ciclo de vida de armazenamento.

nota

Quem Conta da AWS cria o bucket é dono dele e é o único que pode criar, habilitar, desabilitar ou excluir uma regra de ciclo de vida.

Para criar e gerenciar uma configuração de ciclo de vida de um armazenamento compatível com Amazon S3 no bucket de dispositivos da Família Snow usando o AWS Command Line Interface (AWS CLI), consulte os exemplos a seguir.

Coloque uma configuração de ciclo de vida em um bucket do Snowball Edge

O AWS CLI exemplo a seguir coloca uma política de configuração de ciclo de vida em um bucket do Snowball Edge. Essa política especifica que todos os objetos que têm o prefixo sinalizado (myprefix) e tags expiram após dez dias. Para usar esse exemplo, substitua cada espaço reservado para entrada do usuário por suas próprias informações.

Primeiro, salve a política da configuração do ciclo de vida em um arquivo JSON. Neste exemplo, o nome do arquivo é lifecycle-example.json.

{ "Rules": [{ "ID": "id-1", "Filter": { "And": { "Prefix": "myprefix", "Tags": [{ "Value": "mytagvalue1", "Key": "mytagkey1" }, { "Value": "mytagvalue2", "Key": "mytagkey2" } ], } }, "Status": "Enabled", "Expiration": { "Days": 10 } }] }

Depois de salvar o arquivo, envie o arquivo JSON como parte do comando put-bucket-lifecycle-configuration. Para usar este comando, substitua cada espaço reservado para entrada do usuário por suas próprias informações.

aws s3control put-bucket-lifecycle-configuration --bucket example-snow-bucket --profile your-profile --lifecycle-configuration file://lifecycle-example.json --endpoint-url https://s3ctrlapi-endpoint-ip

Para obter mais informações sobre esse comando, consulte put-bucket-lifecycle-configurationna Referência de AWS CLI Comandos.

Como trabalhar com buckets do S3 em um dispositivo Snowball Edge

Com o armazenamento compatível com o Amazon S3 em dispositivos da Família Snow, você pode criar buckets do Amazon S3 nos dispositivos Snowball Edge para armazenar e recuperar objetos on-premises para aplicações que exigem acesso a dados locais, processamento de dados local e residência de dados. O armazenamento compatível do Amazon S3 em dispositivos da Família Snow fornece uma nova classe de armazenamento, SNOW, que usa as APIs do Amazon S3 e é projetada para armazenar dados de forma duradoura e redundante em vários dispositivos Snowball Edge. É possível usar os mesmos atributos e APIs nos buckets do Snowball Edge da mesma maneira que em buckets do Amazon S3, incluindo políticas de acesso ciclo de vida do bucket, criptografia e marcação. Você pode usar o armazenamento compatível com o Amazon S3 em dispositivos da família Snow usando o AWS Command Line Interface (AWS CLI) ou AWS SDKs.

Determine se você pode acessar um armazenamento compatível com Amazon S3 no bucket de dispositivos da Família Snow

O exemplo a seguir usa o comando head-bucket para determinar se existe um bucket do Amazon S3 e se você tem permissão para acessá-lo usando o AWS CLI. Para usar este comando, substitua cada espaço reservado para entrada do usuário por suas próprias informações.

aws s3api head-bucket --bucket sample-bucket --profile your-profile --endpoint-url https://s3api-endpoint-ip

Recupere uma lista de compartimentos ou compartimentos regionais

Use o list-regional-buckets ou list buckets para listar o armazenamento compatível com o Amazon S3 em buckets de dispositivos da família Snow usando o. AWS CLI

aws s3control list-regional-buckets --account-id 123456789012 --profile your-profile --endpoint-url https://s3ctrlapi-endpoint-ip

Para obter mais informações sobre o list-regional-buckets comando, consulte list-regional-bucketsna Referência de AWS CLI Comandos.

aws s3 list-buckets --account-id 123456789012 --endpoint-url https://s3api-endpoint-ip

Para obter mais informações sobre o list-buckets comando, consulte list-buckets na Referência de comandos AWS CLI

O exemplo do SDK para Java a seguir obtém uma lista de buckets nos dispositivos Snowball Edge. Para obter mais informações, consulte ListBucketsa Referência de API do Amazon Simple Storage Service.

import com.amazonaws.services.s3.model.*; public void listBuckets() { ListBucketsRequest reqListBuckets = new ListBucketsRequest() .withAccountId(AccountId) ListBucketsResult respListBuckets = s3APIClient.RegionalBuckets(reqListBuckets); System.out.printf("ListBuckets Response: %s%n", respListBuckets.toString()); }

O PowerShell exemplo a seguir obtém uma lista de buckets nos dispositivos Snowball Edge.

Get-S3CRegionalBucketList -AccountId 012345678910 -Endpoint "https://snowball_ip" -Region snow

O exemplo do.NET a seguir obtém uma lista de buckets em dispositivos Snowball Edge.

using Amazon.S3Control; using Amazon.S3Control.Model; namespace SnowTest; internal class Program { static async Task Main(string[] args) { var config = new AmazonS3ControlConfig { ServiceURL = "https://snowball_ip", AuthenticationRegion = "snow" // Note that this is not RegionEndpoint }; var client = new AmazonS3ControlClient(config); var response = await client.ListRegionalBucketsAsync(new ListRegionalBucketsRequest() { AccountId = "012345678910" }); } }

Obter um bucket

O exemplo a seguir obtém um armazenamento compatível com o Amazon S3 no bucket de dispositivos da Família Snow usando o AWS CLI. Para usar este comando, substitua cada espaço reservado para entrada do usuário por suas próprias informações.

aws s3control get-bucket --account-id 123456789012 --bucket DOC-EXAMPLE-BUCKET --profile your-profile --endpoint-url https://s3ctrlapi-endpoint-ip

Para obter mais informações sobre esse comando, consulte get-bucket na Referência de comandos do AWS CLI .

O exemplo a seguir do armazenamento compatível com Amazon S3 em dispositivos da Família Snow obtém um bucket usando o SDK para Java. Para obter mais informações, consulte GetBucketa Referência de API do Amazon Simple Storage Service.

import com.amazonaws.services.s3control.model.*; public void getBucket(String bucketName) { GetBucketRequest reqGetBucket = new GetBucketRequest() .withBucket(bucketName) .withAccountId(AccountId); GetBucketResult respGetBucket = s3ControlClient.getBucket(reqGetBucket); System.out.printf("GetBucket Response: %s%n", respGetBucket.toString()); }

Excluir um bucket

Importante
  • Aquele Conta da AWS que cria o bucket o possui e é o único que pode excluí-lo.

  • Os buckets de dispositivos da Família Snow devem estar vazios antes de serem excluídos.

  • Você não pode recuperar um bucket depois que ele foi excluído.

O exemplo a seguir exclui um armazenamento compatível com Amazon S3 no bucket de dispositivos da Família Snow usando o AWS CLI. Para usar este comando, substitua cada espaço reservado para entrada do usuário por suas próprias informações.

aws s3control delete-bucket --account-id 123456789012 --bucket DOC-EXAMPLE-BUCKET --profile your-profile --endpoint-url https://s3ctrlapi-endpoint-ip

Para obter mais informações sobre esse comando, consulte delete-bucket na Referência de comandos do AWS CLI .