Chargement d’un objet dans un compartiment S3 sur Outposts - Amazon S3 sur Outposts

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.

Chargement d’un objet dans un compartiment S3 sur Outposts

Les objets sont les entités fondamentales stockées dans S3 sur 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 sur les Outposts, qui inclut le Région AWS code de la région dans laquelle l'Outpost est hébergé, l'ID, l' Compte AWS ID de l'Outpost et 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 S3 on Outposts ARNs, consultez. Ressource ARNs pour S3 sur les Outposts

Avec Amazon S3 sur Outposts, les données des objets sont toujours stockées sur l’Outpost. Lorsque vous AWS installez un rack Outpost, vos données restent locales dans votre Outpost afin de répondre aux exigences en matière de résidence des données. Vos objets ne quittent jamais votre Outpost et ne se trouvent pas dans un Région AWS. Comme il AWS Management Console est hébergé dans la région, vous ne pouvez pas utiliser la console pour télécharger ou gérer des objets dans votre Outpost. Cependant, vous pouvez utiliser l'API REST, AWS Command Line Interface (AWS CLI), et AWS SDKs pour télécharger et gérer vos objets via vos points d'accès.

Les AWS SDK pour Java exemples suivants AWS CLI vous montrent comment télécharger un objet dans un compartiment S3 on Outposts à l'aide d'un point d'accès.

AWS CLI

L’exemple suivant place un objet nommé sample-object.xml dans un compartiment S3 sur Outposts (s3-outposts:PutObject) à 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, consultez put-object dans la Référence de l’AWS CLI .

aws s3api put-object --bucket arn:aws:s3-outposts:Region:123456789012:outpost/op-01ac5d28a6a232904/accesspoint/example-outposts-access-point --key sample-object.xml --body sample-object.xml
SDK for Java

L’exemple suivant place un objet dans un compartiment S3 sur Outposts à l’aide du kit SDK pour Java. Pour utiliser cet exemple, remplacez chaque user input placeholder 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.ObjectMetadata; import com.amazonaws.services.s3.model.PutObjectRequest; import java.io.File; public class PutObject { public static void main(String[] args) { String accessPointArn = "*** access point ARN ***"; String stringObjKeyName = "*** String object key name ***"; String fileObjKeyName = "*** File object key name ***"; String fileName = "*** Path to file to upload ***"; 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 a text string as a new object. s3Client.putObject(accessPointArn, stringObjKeyName, "Uploaded String Object"); // Upload a file as a new object with ContentType and title specified. PutObjectRequest request = new PutObjectRequest(accessPointArn, fileObjKeyName, new File(fileName)); ObjectMetadata metadata = new ObjectMetadata(); metadata.setContentType("plain/text"); metadata.addUserMetadata("title", "someTitle"); request.setMetadata(metadata); s3Client.putObject(request); } 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(); } } }