Suppression d'objets dans des compartiments Amazon S3 on Outposts - Amazon Simple Storage Service

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Suppression d'objets dans des compartiments Amazon S3 on Outposts

Les objets sont les entités fondamentales stockées dans Amazon S3 on Outposts. Chaque objet est contenu dans un compartiment. Vous devez utiliser des points d'accès pour accéder à tout objet dans un compartiment Outpost. Lorsque vous spécifiez le compartiment pour les opérations d'objet, vous utilisez l'Amazon Resource Name (ARN) du point d'accès ou l'alias de point d'accès. Pour plus d'informations sur les alias de point d'accès, consultez Utilisation d'un alias de type compartiment pour le point d'accès de votre compartiment S3 sur Outposts.

L'exemple suivant montre le format ARN pour les points d'accès S3 on Outposts, qui inclut le code Région AWS pour la région où l'Outpost est hébergé, l'ID Compte AWS, l'ID d'Outpost, le nom du point d'accès :

arn:aws:s3-outposts:region:account-id:outpost/outpost-id/accesspoint/accesspoint-name

Pour plus d'informations sur les ARN de S3 on Outposts, consultez Ressource ARNs pour S3 sur les Outposts.

Avec Amazon S3 on Outposts, les données des objets sont toujours stockées sur l'Outpost. Quand AWS installe un rack Outpost, vos données restent locales à votre Outpost pour répondre aux exigences de résidence des données. Vos objets ne quittent jamais votre Outpost et ne se trouvent pas dans un Région AWS. Comme AWS Management Console est hébergé dans la région, vous ne pouvez pas l'utiliser pour charger ou gérer des objets dans votre Outpost. Toutefois, vous pouvez utiliser l'API REST, AWS Command Line Interface (AWS CLI) et les kits SDK AWS pour charger et gérer vos objets via vos points d'accès.

Les exemples suivants vous montrent comment supprimer un objet unique ou plusieurs objets dans un compartiment S3 on Outposts à l'aide de l’AWS Command Line Interface (AWS CLI) et de AWS SDK for Java.

Les exemples suivants vous montrent comment supprimer un objet unique ou plusieurs objets d'un compartiment S3 on Outposts.

delete-object

L'exemple suivant supprime un objet nommé sample-object.xml d’un compartiment S3 on Outposts (s3-outposts:DeleteObject) à l'aide de l’AWS CLI. Pour utiliser cette commande, remplacez chaque user input placeholder par vos propres informations. Pour de plus amples informations sur cette commande, veuillez consulter delete-object dans le document AWS CLI Reference.

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

L'exemple suivant supprime deux objets nommés sample-object.xml et test1.text d’un compartiment S3 on Outposts (s3-outposts:DeleteObject) à l'aide de l’AWS CLI. Pour utiliser cette commande, remplacez chaque user input placeholder par vos propres informations. Pour plus d'informations sur cette commande, veuillez consulter delete-objects dans le document AWS CLI Reference.

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 }

Les exemples suivants vous montrent comment supprimer un objet unique ou plusieurs objets d'un compartiment S3 on Outposts.

DeleteObject

L'exemple S3 on Outposts suivant supprime un objet dans un compartiment à l'aide du kit SDK pour Java. Pour utiliser cet exemple, spécifiez l'ARN du point d'accès pour l'Outpost et le nom de clé de l'objet que vous souhaitez supprimer. Pour plus d'informations, veuillez consulter DeleteObject dans la Référence d'API 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

L'exemple S3 on Outposts suivant télécharge puis supprime des objets dans un compartiment à l'aide du kit SDK pour Java. Pour utiliser cet exemple, spécifiez l'ARN du point d'accès pour l'Outpost. Pour de plus amples informations, veuillez consulter DeleteObject dans le document Amazon Simple Storage Service API Reference.

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(); } } }