Uso de HeadBucket para determinar si existe un bucket de S3 en Outposts y si tiene permisos de acceso
Los objetos son las entidades fundamentales almacenadas en Amazon S3 en Outposts. Cada objeto está almacenado en un bucket. Debe utilizar puntos de acceso para acceder a cualquier objeto de un bucket de Outpost. Cuando especifica el bucket para las operaciones de objetos, se utiliza el Nombre de recurso de Amazon (ARN) del punto de acceso o el alias del punto de acceso. Para obtener más información acerca de los alias de punto de acceso, consulte Uso de un alias de estilo de bucket para su punto de acceso de bucket de S3 en Outposts.
En el siguiente ejemplo se muestra el formato ARN para los puntos de acceso de S3 en Outposts, que incluye el código Región de AWS de la Región a la que pertenece el Outpost, el ID de Cuenta de AWS, el ID de Outposts y el nombre del punto de acceso:
arn:aws:s3-outposts:
region
:account-id
:outpost/outpost-id
/accesspoint/accesspoint-name
Para obtener más información acerca de S3 en Outposts, consulte ARN de recursos para S3 en Outposts.
nota
Con Amazon S3 en Outposts, los datos de objeto siempre se almacenan en el Outpost. Cuando AWS instala un bastidor de Outpost, sus datos permanecen de manera local en su Outpost para cumplir los requisitos de residencia de datos. Sus objetos nunca salen de su Outpost y no están en una Región de AWS. Ya que la AWS Management Console está alojada dentro de la región, no puede usar la consola para cargar o administrar objetos en su Outpost. Sin embargo, puede utilizar la API de REST, AWS Command Line Interface (AWS CLI) y los SDK de AWS para cargar y administrar los objetos a través de los puntos de acceso.
En los siguientes ejemplos de AWS Command Line Interface (AWS CLI) y AWS SDK for Java, se muestra cómo usar la operación de la API HeadBucket para determinar si existe un bucket de S3 en Outposts y si tiene permiso para acceder a él. Para obtener más información, consulte HeadBucket en la Referencia de la API de Amazon Simple Storage Service.
En el siguiente ejemplo de S3 en Outposts de AWS CLI, se utiliza el comando head-bucket
para determinar si existe un bucket y si tiene permiso para acceder a él. Para usar este comando, sustituya
por su propia información. Para obtener más información acerca de este 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
En el siguiente ejemplo de S3 en Outposts, se muestra cómo determinar si existe un bucket y si usted tiene permiso para acceder a él. Para utilizar este ejemplo, especifique el ARN del punto de acceso para Outpost. Para obtener más información, consulte HeadBucket en la Referencia de la API de 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(); } } }