Utilisation d'objets S3 sur un appareil Snowball Edge - AWS Snowball Edge Guide du développeur

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.

Utilisation d'objets S3 sur un appareil Snowball Edge

Cette section décrit les différentes opérations que vous pouvez effectuer avec des objets sur un stockage compatible Amazon S3 sur des appareils de la gamme Snow.

Copier un objet vers un espace de stockage compatible Amazon S3 sur un compartiment d'appareils Snow Family

L'exemple suivant télécharge un fichier nommé sample-object.xml vers un compartiment de stockage compatible Amazon S3 sur les appareils de la famille Snow pour lequel vous êtes autorisé à écrire pour utiliser le AWS CLI. Pour utiliser cette commande, remplacez chaque espace réservé saisi par l'utilisateur par vos propres informations.

aws s3api put-object --bucket sample-bucket --key sample-object.xml --body sample-object.xml --profile your-profile --endpoint-url s3api-endpoint-ip

L'exemple suivant de stockage compatible avec Amazon S3 sur les appareils de la famille Snow permet de copier un objet dans un nouvel objet du même compartiment à l'aide de SDK for Java. Pour utiliser cette commande, remplacez chaque espace réservé saisi par l'utilisateur par vos propres informations.

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.CopyObjectRequest; add : import java.io.IOException; public class CopyObject { public static void main(String[] args) { String bucketName = "*** Bucket name ***"; String sourceKey = "*** Source object key ***"; String destinationKey = "*** Destination object key ***"; 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(); // Copy the object into a new object in the same bucket. CopyObjectRequest copyObjectRequest = new CopyObjectRequest(sourceKey, destinationKey); s3Client.copyObject(copyObjectRequest); CopyObjectRequest copyObjectRequest = CopyObjectRequest.builder() .sourceKey(sourceKey) .destinationKey(destKey) .build(); } 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(); } } }

Obtenir un objet depuis un bucket

L'exemple suivant obtient un objet nommé sample-object.xml à partir d'un compartiment de stockage compatible Amazon S3 sur les appareils Snow Family à l'aide du AWS CLI. La SDK commande ests3-snow:GetObject. Pour utiliser cette commande, remplacez chaque espace réservé saisi par l'utilisateur par vos propres informations.

aws s3api get-object --bucket sample-bucket --key sample-object.xml --profile your-profile --endpoint-url s3api-endpoint-ip

Pour plus d'informations sur cette commande, consultez get-object dans la référence des AWS CLI commandes.

L'exemple de stockage compatible Amazon S3 sur les appareils Snow Family suivant permet d'obtenir un objet à l'aide de SDK for Java. Pour utiliser cette commande, remplacez chaque espace réservé saisi par l'utilisateur par vos propres informations. Pour plus d'informations, consultez GetObjectle manuel 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.GetObjectRequest; import com.amazonaws.services.s3.model.ResponseHeaderOverrides; import com.amazonaws.services.s3.model.S3Object; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; public class GetObject { public static void main(String[] args) throws IOException { String bucketName = "*** Bucket name ***"; String key = "*** Object key ***"; S3Object fullObject = null, objectPortion = null, headerOverrideObject = null; 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(); GetObjectRequest getObjectRequest = GetObjectRequest.builder() .bucket(bucketName) .key(key) .build()); s3Client.getObject(getObjectRequest); } 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(); } finally { // To ensure that the network connection doesn't remain open, close any open input streams. if (fullObject != null) { fullObject.close(); } if (objectPortion != null) { objectPortion.close(); } if (headerOverrideObject != null) { headerOverrideObject.close(); } } } private static void displayTextInputStream(InputStream input) throws IOException { // Read the text input stream one line at a time and display each line. BufferedReader reader = new BufferedReader(new InputStreamReader(input)); String line = null; while ((line = reader.readLine()) != null) { System.out.println(line); } System.out.println(); } }

Répertorier les objets d'un bucket

L'exemple suivant répertorie les objets d'un compartiment de stockage compatible Amazon S3 sur les appareils de la famille Snow à l'aide du AWS CLI. La SDK commande ests3-snow:ListObjectsV2. Pour utiliser cette commande, remplacez chaque espace réservé saisi par l'utilisateur par vos propres informations.

aws s3api list-objects-v2 --bucket sample-bucket --profile your-profile --endpoint-url s3api-endpoint-ip

Pour plus d'informations sur cette commande, reportez-vous à la section list-objects-v2 de la référence des AWS CLI commandes.

L'exemple de stockage compatible Amazon S3 sur les appareils de la famille Snow suivant répertorie les objets d'un bucket à l'aide de SDK for Java. Pour utiliser cette commande, remplacez chaque espace réservé saisi par l'utilisateur par vos propres informations.

Cet exemple utilise la ListObjectsversion V2, qui est la dernière révision de l' ListObjects APIopération. Nous vous recommandons d'utiliser cette API opération révisée pour le développement d'applications. Pour des raisons de rétrocompatibilité, Amazon S3 continue de prendre en charge la version précédente de cette API opération.

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.ListObjectsV2Request; import com.amazonaws.services.s3.model.ListObjectsV2Result; import com.amazonaws.services.s3.model.S3ObjectSummary; public class ListObjectsV2 { public static void main(String[] args) { String bucketName = "*** Bucket 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(); System.out.println("Listing objects"); // maxKeys is set to 2 to demonstrate the use of // ListObjectsV2Result.getNextContinuationToken() ListObjectsV2Request req = new ListObjectsV2Request().withBucketName(bucketName).withMaxKeys(2); ListObjectsV2Result result; do { result = s3Client.listObjectsV2(req); for (S3ObjectSummary objectSummary : result.getObjectSummaries()) { System.out.printf(" - %s (size: %d)\n", objectSummary.getKey(), objectSummary.getSize()); } // If there are more than maxKeys keys in the bucket, get a continuation token // and list the next objects. String token = result.getNextContinuationToken(); System.out.println("Next Continuation Token: " + token); req.setContinuationToken(token); } while (result.isTruncated()); } 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(); } } }

Supprimer des objets dans un compartiment

Vous pouvez supprimer un ou plusieurs objets d'un compartiment de stockage compatible avec Amazon S3 sur les appareils Snow Family. L'exemple suivant supprime un objet nommé sample-object.xml en utilisant le AWS CLI. Pour utiliser cette commande, remplacez chaque espace réservé saisi par l'utilisateur par vos propres informations.

aws s3api delete-object --bucket sample-bucket --key key --profile your-profile --endpoint-url s3api-endpoint-ip

Pour plus d'informations sur cette commande, voir delete-object dans la référence des AWS CLI commandes.

L'exemple de stockage compatible Amazon S3 sur les appareils Snow Family suivant supprime un objet dans un compartiment à l'aide de SDK for Java. Pour utiliser cet exemple, spécifiez le nom clé de l'objet que vous souhaitez supprimer. Pour plus d'informations, consultez DeleteObjectle manuel 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.DeleteObjectRequest; public class DeleteObject { public static void main(String[] args) { String bucketName = "*** Bucket name ***"; 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(); DeleteObjectRequest deleteObjectRequest = DeleteObjectRequest.builder() .bucket(bucketName) .key(keyName) .build())); s3Client.deleteObject(deleteObjectRequest); } 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(); } } }