Usar o HeadBucket para determinar se existe um bucket do S3 on Outposts e se você tem permissões de acesso
Objetos são as entidades fundamentais armazenadas no Amazon S3 on Outposts. Cada objeto está contido em um bucket. É necessário usar pontos de acesso para acessar qualquer objeto em um bucket do Outpost. Ao especificar o bucket para operações de objeto, use o nome do recurso da Amazon (ARN) do ponto de acesso ou o alias do ponto de acesso. Para obter mais informações sobre alias de pontos de acesso, consulte Usar um alias em estilo de bucket para seu ponto de acesso de bucket do S3 no Outposts.
O exemplo a seguir mostra o formato do ARN para pontos de acesso do S3 no Outposts, que inclui o código Região da AWS para a região em que o Outpost está hospedado, o ID da Conta da AWS, o ID do Outpost e o nome do ponto de acesso:
arn:aws:s3-outposts:
region
:account-id
:outpost/outpost-id
/accesspoint/accesspoint-name
Para obter mais informações sobre o S3 on Outposts, consulte ARNs de recurso para S3 no Outposts.
nota
Com o Amazon S3 on Outposts, os dados do objeto são sempre armazenados no Outpost. Quando a AWS instala um rack do Outpost, seus dados permanecem no local do Outpost para atender aos requisitos de residência de dados. Seus objetos nunca saem do Outpost e não estão em uma Região da AWS. Como o AWS Management Console está hospedado na região, você não pode usá-lo para fazer upload de objetos no Outpost nem os gerenciar. No entanto, você pode usar a API REST, a AWS Command Line Interface (AWS CLI) e os SDKs para fazer upload de objetos e gerenciá-los por meio de seus pontos de acesso.
Os exemplos de AWS Command Line Interface (AWS CLI) e AWS SDK for Java a seguir mostram como usar a operação HeadBucket da API para determinar se existe um bucket do Amazon S3 on Outposts e se você tem permissão para acessá-lo. Para obter mais informações, consulte HeadBucket na Referência de API do Amazon Simple Storage Service.
O exemplo de AWS CLI do S3 no Outposts a seguir usa o comando head-bucket
para determinar se existe um bucket e se você tem permissão para acessá-lo. Para usar esse comando, substitua cada
por suas próprias informações. Para obter mais informações sobre esse comando, consulte head-bucketuser input placeholder
aws s3api head-bucket --bucket arn:aws:s3-outposts:
region
:123456789012
:outpost/op-01ac5d28a6a232904
/accesspoint/example-outposts-access-point
O exemplo do S3 on Outposts a seguir mostra como determinar se existe um bucket e se você tem permissão para acessá-lo. Para usar este exemplo, especifique o ARN do ponto de acesso para o Outpost. Para obter mais informações, consulte HeadBucket na Referência de API do Amazon Simple Storage Service.
import com.amazonaws.AmazonServiceException; import com.amazonaws.SdkClientException; import com.amazonaws.services.s3.AmazonS3; import com.amazonaws.services.s3.AmazonS3ClientBuilder; import com.amazonaws.services.s3.model.HeadBucketRequest; public class HeadBucket { public static void main(String[] args) { String accessPointArn = "
*** access point ARN ***
"; try { // This code expects that you have AWS credentials set up per: // https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/setup-credentials.html AmazonS3 s3Client = AmazonS3ClientBuilder.standard() .enableUseArnRegion() .build(); s3Client.headBucket(new HeadBucketRequest(accessPointArn)); } catch (AmazonServiceException e) { // The call was transmitted successfully, but Amazon S3 couldn't process // it, so it returned an error response. e.printStackTrace(); } catch (SdkClientException e) { // Amazon S3 couldn't be contacted for a response, or the client // couldn't parse the response from Amazon S3. e.printStackTrace(); } } }