Como começar a usar a AWS CLI e o SDK para Java - Amazon S3 on Outposts

Como começar a usar a AWS CLI e o SDK para Java

Com o Amazon S3 on Outposts, é possível criar buckets do S3 no AWS Outposts, além de armazenar e recuperar facilmente objetos no local para aplicações que exigem acesso a dados locais, processamento de dados local e residência de dados. O S3 on Outposts fornece uma nova classe de armazenamento, o S3 Outposts (OUTPOSTS), que usa as APIs do Amazon S3 e é projetado para armazenar dados de forma duradoura e redundante em vários dispositivos e servidores em seu AWS Outposts. Você se comunica com o bucket do Outposts usando um ponto de acesso e uma conexão de endpoint em uma nuvem privada virtual (VPC). É possível usar os mesmos recursos e APIs nos buckets do Outposts da mesma maneira que em buckets do Amazon S3, incluindo políticas de acesso, criptografia e marcação. Só é possível usar o S3 on Outposts por meio do AWS Management Console, da AWS Command Line Interface (AWS CLI), de AWS SDKs ou da API REST. Para obter mais informações, consulte O que é o Amazon S3 on Outposts?

Para começar a usar o S3 on Outposts, você deve criar um bucket, um ponto de acesso e um endpoint. Depois, você pode carregar objetos no bucket. Os exemplos a seguir mostram como começar a usar o S3 on Outposts com a AWS CLI e o SDK para Java. Para começar a usar o console, consulte Conceitos básicos do uso do AWS Management Console.

Etapa 1: Criar um bucket

Os exemplos de AWS CLI e SDK para Java a seguir mostram como criar um bucket do S3 on Outposts.

AWS CLI

O exemplo a seguir cria um bucket do S3 on Outposts (s3-outposts:CreateBucket) usando a AWS CLI. Para executar esse comando, substitua os user input placeholders por suas próprias informações.

aws s3control create-bucket --bucket example-outposts-bucket --outpost-id op-01ac5d28a6a232904
SDK for Java

O exemplo a seguir cria um bucket do S3 on Outposts (s3-outposts:CreateBucket) usando o SDK para Java.

import com.amazonaws.services.s3control.model.*; public String createBucket(String bucketName) { CreateBucketRequest reqCreateBucket = new CreateBucketRequest() .withBucket(bucketName) .withOutpostId(OutpostId) .withCreateBucketConfiguration(new CreateBucketConfiguration()); CreateBucketResult respCreateBucket = s3ControlClient.createBucket(reqCreateBucket); System.out.printf("CreateBucket Response: %s%n", respCreateBucket.toString()); return respCreateBucket.getBucketArn(); }

Etapa 2: Criar um ponto de acesso

Para acessar o bucket do Amazon S3 on Outposts, você deve criar e configurar um ponto de acesso. Esses exemplos mostram como criar um ponto de acesso usando a AWS CLI e o SDK para Java.

Os pontos de acesso simplificam o gerenciamento do acesso a dados em escala para conjuntos de dados compartilhados no Amazon S3. Os pontos de acesso são endpoints de rede nomeados e anexados a buckets que você pode usar para realizar operações de objeto do Amazon S3, como GetObject e PutObject. Com o S3 on Outposts, você deve usar pontos de acesso para acessar qualquer objeto em um bucket do Outposts. Os pontos de acesso são compatíveis apenas com o endereçamento em estilo de host virtual.

AWS CLI

O exemplo da AWS CLI a seguir cria um ponto de acesso para um bucket do Outposts. Para executar esse comando, substitua os user input placeholders por suas próprias informações.

aws s3control create-access-point --account-id 123456789012 --name example-outposts-access-point --bucket "arn:aws:s3-outposts:region:123456789012:outpost/op-01ac5d28a6a232904/bucket/example-outposts-bucket" --vpc-configuration VpcId=example-vpc-12345
SDK for Java

O exemplo do SDK para Java a seguir cria um ponto de acesso para um bucket do Outposts. Para usar esse exemplo, substitua os user input placeholders por suas próprias informações.

import com.amazonaws.services.s3control.model.*; public String createAccessPoint(String bucketArn, String accessPointName) { CreateAccessPointRequest reqCreateAP = new CreateAccessPointRequest() .withAccountId(AccountId) .withBucket(bucketArn) .withName(accessPointName) .withVpcConfiguration(new VpcConfiguration().withVpcId("vpc-12345")); CreateAccessPointResult respCreateAP = s3ControlClient.createAccessPoint(reqCreateAP); System.out.printf("CreateAccessPoint Response: %s%n", respCreateAP.toString()); return respCreateAP.getAccessPointArn(); }

Etapa 3: Criar um endpoint

Para rotear solicitações para um ponto de acesso do Amazon S3 on Outposts, você deve criar e configurar um endpoint do S3 on Outposts. Para criar um endpoint, você precisará de uma conexão ativa com seu link de serviço com sua região de origem do Outposts. Cada nuvem privada virtual (VPC) em seu Outpost pode ter um endpoint associado. Para obter mais informações sobre cotas de endpoints, consulte Requisitos de rede do S3 on Outposts. Você deve criar um endpoint para poder acessar seus buckets do Outposts e executar operações de objeto. Para ter mais informações, consulte Endpoints.

Esses exemplos mostram como criar um endpoint usando a AWS CLI e o SDK para Java. Para obter mais informações sobre as permissões necessárias para criar e gerenciar endpoints, consulte Permissões para os endpoints do S3 on Outposts.

AWS CLI

O seguinte exemplo da AWS CLI cria um endpoint para um Outpost usando o tipo de acesso a recursos da VPC. A VPC é derivada da sub-rede. Para executar esse comando, substitua os user input placeholders por suas próprias informações.

aws s3outposts create-endpoint --outpost-id op-01ac5d28a6a232904 --subnet-id subnet-8c7a57c5 --security-group-id sg-ab19e0d1

O exemplo a seguir da AWS CLI cria um endpoint para um Outpost usando o tipo de acesso do grupo de endereços IP de propriedade do cliente (grupo do CoIP). Para executar esse comando, substitua os user input placeholders por suas próprias informações.

aws s3outposts create-endpoint --outpost-id op-01ac5d28a6a232904 --subnet-id subnet-8c7a57c5 --security-group-id sg-ab19e0d1 --access-type CustomerOwnedIp --customer-owned-ipv4-pool ipv4pool-coip-12345678901234567
SDK for Java

O exemplo do SDK para Java a seguir cria um endpoint para um Outpost. Para usar esse exemplo, substitua os user input placeholders por suas próprias informações.

import com.amazonaws.services.s3outposts.AmazonS3Outposts; import com.amazonaws.services.s3outposts.AmazonS3OutpostsClientBuilder; import com.amazonaws.services.s3outposts.model.CreateEndpointRequest; import com.amazonaws.services.s3outposts.model.CreateEndpointResult; public void createEndpoint() { AmazonS3Outposts s3OutpostsClient = AmazonS3OutpostsClientBuilder .standard().build(); CreateEndpointRequest createEndpointRequest = new CreateEndpointRequest() .withOutpostId("op-0d79779cef3c30a40") .withSubnetId("subnet-8c7a57c5") .withSecurityGroupId("sg-ab19e0d1") .withAccessType("CustomerOwnedIp") .withCustomerOwnedIpv4Pool("ipv4pool-coip-12345678901234567"); // Use .withAccessType and .withCustomerOwnedIpv4Pool only when the access type is // customer-owned IP address pool (CoIP pool) CreateEndpointResult createEndpointResult = s3OutpostsClient.createEndpoint(createEndpointRequest); System.out.println("Endpoint is created and its ARN is " + createEndpointResult.getEndpointArn()); }

Etapa 4: Fazer upload de um objeto em um bucket do S3 on Outposts

Para carregar um objeto, consulte Fazer upload de um objeto em um bucket do S3 on Outposts.