Verwenden von HeadBucket, um festzustellen, ob ein S3-on-Outposts-Bucket vorhanden ist und Sie Zugriffsberechtigungen haben
Objekte sind die Grundeinheiten, die in Amazon S3 on Outposts gespeichert sind. Jedes Objekt ist in einem Bucket enthalten. Sie müssen Zugriffspunkte verwenden, um auf ein Objekt in einem Outpost-Bucket zuzugreifen. Wenn Sie den Bucket für Objektoperationen angeben, verwenden Sie den Amazon-Ressourcennamen (ARN) oder den Alias des Zugriffspunkts. Weitere Informationen zu Zugriffspunkt-Aliassen finden Sie unter Verwenden eines Alias im Bucket-Stil für den Zugriffspunkt Ihres S3-on-Outposts-Buckets.
Das folgende Beispiel zeigt das ARN-Format für S3-on-Outposts-Objekte, das den AWS-Region-Code für die Region, in der sich der Outpost befindet, die AWS-Konto-ID, Outpost-ID, Bucket-Name und den Namen des Zugriffspunkts umfasst:
arn:aws:s3-outposts:region:account-id:outpost/outpost-id/accesspoint/accesspoint-name
Weitere Informationen zu S3-in-Outposts-ARNs finden Sie unter Ressourcen-ARNs für S3 on Outposts.
Anmerkung
Mit Amazon S3 on Outposts werden Objektdaten immer im Outpost gespeichert. Wenn AWS ein Outpost-Rack installiert, bleiben Ihre Daten in Ihrem Outpost lokal, um die Anforderungen an die Datenspeicherorte zu erfüllen. Ihre Objekte verlassen niemals Ihren Outpost und befinden sich nicht in einer AWS-Region. Da die AWS-Managementkonsole innerhalb der Region gehostet wird, können Sie die Konsole nicht verwenden, um Objekte in Ihrem Outpost hochzuladen oder zu verwalten. Sie können die REST-API, AWS Command Line Interface (AWS CLI) und AWS-SDKs zum Hochladen und Verwalten Ihrer Objekte über Ihre Zugriffspunkte verwenden.
Die folgenden Beispiele für AWS Command Line Interface (AWS CLI) und AWS SDK für Java veranschaulichen, wie Sie die API-Operation HeadBucket verwenden, um festzustellen, ob ein Amazon-S3-on-Outpost-Bucket vorhanden ist und ob Sie Zugriffsberechtigungen für diesen Bucket besitzen. Weitere Informationen finden Sie unter HeadBucket in der API-Referenz zu Amazon Simple Storage Service.
Im folgenden AWS CLI-Beispiel für S3 on Outposts wird der Befehl head-bucket verwendet, um festzustellen, ob ein Bucket vorhanden ist und ob Sie Zugriffsberechtigungen für diesen Bucket besitzen. Zum Verwenden dieses Befehls ersetzen Sie durch Ihre eigenen Informationen. Weitere Informationen über diesen Befehl finden Sie unter head-bucketuser input placeholder
aws s3api head-bucket --bucket arn:aws:s3-outposts:region:123456789012:outpost/op-01ac5d28a6a232904/accesspoint/example-outposts-access-point
Das folgende S3-on-Outposts-Beispiel veranschaulicht, wie Sie feststellen, ob ein Bucket vorhanden ist und ob Sie Zugriffsberechtigungen für diesen Bucket besitzen. Wenn Sie dieses Beispiel verwenden möchten, geben Sie den Zugriffspunkt-ARN für den Outpost an. Weitere Informationen finden Sie unter HeadBucket in der API-Referenz zu 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(); } } }