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á.
Trabalhar com o Amazon S3
Esta seção apresenta exemplos de como programar com o Amazon Simple Storage Service (S3) usando o AWS SDK for Java 2.x.
Os exemplos a seguir incluem somente o código necessário para demonstrar cada técnica. O código de exemplo completo está disponível em GitHub
nota
A partir da versão 2.18.x, o AWS SDK for Java 2.x usa endereçamento no estilo de host virtual ao incluir uma substituição de endpoint. Isso se aplica desde que o nome do bucket seja um rótulo DNS válido.
Chame o método forcePathStyle
true
no seu construtor de clientes para forçar o cliente a usar o endereçamento no estilo de caminho para os buckets.
O exemplo a seguir mostra um cliente de serviço configurado com uma substituição de endpoint e usando o endereçamento no estilo de caminho.
S3Client client = S3Client.builder() .region(Region.US_WEST_2) .endpointOverride(URI.create("https://s3.us-west-2.amazonaws.com")) .forcePathStyle(true) .build();
Usar pontos de acesso ou pontos de acesso multirregionais
Depois que pontos de acesso Amazon S3 ou pontos de acesso multirregionais forem configurados, você poderá chamar métodos de objeto, como putObject
e getObject
, e fornecer o identificador do ponto de acesso em vez de um nome de bucket.
Por exemplo, se o identificador ARN de um ponto de acesso for arn:aws:s3:us-west-2:123456789012:accesspoint/test
, você poderá usar o seguinte trecho de código para chamar o método putObject
.
Path path = Paths.get(URI.create("file:///temp/file.txt")); s3Client.putObject(builder -> builder .key("myKey") .bucket("arn:aws:s3:us-west-2:123456789012:accesspoint/test") , path);
No lugar da string ARN, você também pode usar o alias em estilo de bucket do ponto de acesso para o parâmetro bucket
.
Para usar o ponto de acesso multirregional, substitua o parâmetro bucket
pelo ARN do ponto de acesso multirregional que tenha o formato a seguir.
arn:aws:s3::account-id:accesspoint/MultiRegionAccessPoint_alias
Adicione a seguinte dependência do Maven para trabalhar com pontos de acesso multirregionais usando o SDK for Java. Pesquise a versão mais recente
<dependency> <groupId>software.amazon.awssdk</groupId> <artifactId>auth-crt</artifactId> <version>
VERSION
</version> </dependency>