Eliminación de objetos en buckets de Amazon S3 en Outposts - Amazon S3 en Outposts

Eliminación de objetos en buckets de Amazon S3 en Outposts

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.

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, se muestra cómo eliminar un solo objeto o varios objetos en un bucket de S3 en Outposts con AWS Command Line Interface (AWS CLI) y AWS SDK para Java.

En los ejemplos siguientes, se muestra cómo eliminar un solo objeto o varios objetos de un bucket de S3 en Outposts.

delete-object

En el siguiente ejemplo, se elimina un objeto denominado sample-object.xml de un bucket de S3 en Outposts (s3-outposts:DeleteObject) mediante la AWS CLI. Para usar este comando, sustituya user input placeholder por su propia información. Para obtener más información sobre este comando, consulte delete-object en la Referencia de AWS CLI.

aws s3api delete-object --bucket arn:aws:s3-outposts:region:123456789012:outpost/op-01ac5d28a6a232904/accesspoint/example-outposts-access-point --key sample-object.xml
delete-objects

En el siguiente ejemplo, se eliminan dos objetos denominados sample-object.xml y test1.text de un bucket de S3 en Outposts (s3-outposts:DeleteObject) mediante la AWS CLI. Para usar este comando, sustituya user input placeholder por su propia información. Para obtener más información sobre este comando, consulte delete-objects en la Referencia de AWS CLI.

aws s3api delete-objects --bucket arn:aws:s3-outposts:region:123456789012:outpost/op-01ac5d28a6a232904/accesspoint/example-outposts-access-point --delete file://delete.json delete.json { "Objects": [ { "Key": "test1.txt" }, { "Key": "sample-object.xml" } ], "Quiet": false }

En los ejemplos siguientes, se muestra cómo eliminar un solo objeto o varios objetos de un bucket de S3 en Outposts.

DeleteObject

En el siguiente ejemplo de S3 en Outposts, se elimina un objeto de un bucket mediante el SDK para Java. Para utilizar este ejemplo, especifique el ARN del punto de acceso para Outpost y el nombre de la clave del objeto que desea eliminar. Para obtener más información, consulte DeleteObject 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.DeleteObjectRequest; public class DeleteObject { public static void main(String[] args) { String accessPointArn = "*** access point ARN ***"; String keyName = "*** key name ****"; 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.deleteObject(new DeleteObjectRequest(accessPointArn, keyName)); } 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(); } } }
DeleteObjects

En el siguiente ejemplo de S3 en Outposts, se cargan y luego, eliminan objetos de un bucket mediante el SDK para Java. Para utilizar este ejemplo, especifique el ARN del punto de acceso para Outpost. Para obtener más información, consulte DeleteObjects 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.DeleteObjectsRequest; import com.amazonaws.services.s3.model.DeleteObjectsRequest.KeyVersion; import com.amazonaws.services.s3.model.DeleteObjectsResult; import java.util.ArrayList; public class DeleteObjects { public static void main(String[] args) { String accessPointArn = "arn:aws:s3-outposts:region:123456789012:outpost/op-01ac5d28a6a232904/accesspoint/example-outposts-access-point"; 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(); // Upload three sample objects. ArrayList<KeyVersion> keys = new ArrayList<KeyVersion>(); for (int i = 0; i < 3; i++) { String keyName = "delete object example " + i; s3Client.putObject(accessPointArn, keyName, "Object number " + i + " to be deleted."); keys.add(new KeyVersion(keyName)); } System.out.println(keys.size() + " objects successfully created."); // Delete the sample objects. DeleteObjectsRequest multiObjectDeleteRequest = new DeleteObjectsRequest(accessPointArn) .withKeys(keys) .withQuiet(false); // Verify that the objects were deleted successfully. DeleteObjectsResult delObjRes = s3Client.deleteObjects(multiObjectDeleteRequest); int successfulDeletes = delObjRes.getDeletedObjects().size(); System.out.println(successfulDeletes + " objects successfully deleted."); } 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(); } } }