Head Bucket
s3_head_bucket | R Documentation |
You can use this operation to determine if a bucket exists and if you have permission to access it¶
Description¶
You can use this operation to determine if a bucket exists and if you
have permission to access it. The action returns a 200 OK
if the
bucket exists and you have permission to access it.
If the bucket does not exist or you do not have permission to access it,
the HEAD
request returns a generic 400 Bad Request
, 403 Forbidden
or 404 Not Found
code. A message body is not included, so you cannot
determine the exception beyond these HTTP response codes.
Authentication and authorization¶
General purpose buckets - Request to public buckets that grant the
s3:ListBucket permission publicly do not need to be signed. All other
head_bucket
requests must be authenticated and signed by using IAM
credentials (access key ID and secret access key for the IAM
identities). All headers with the x-amz-
prefix, including
x-amz-copy-source
, must be signed. For more information, see REST
Authentication.
Directory buckets - You must use IAM credentials to authenticate and
authorize your access to the head_bucket
API operation, instead of
using the temporary security credentials through the create_session
API operation.
Amazon Web Services CLI or SDKs handles authentication and authorization on your behalf.
Permissions¶
-
General purpose bucket permissions - To use this operation, you must have permissions to perform the
s3:ListBucket
action. The bucket owner has this permission by default and can grant this permission to others. For more information about permissions, see Managing access permissions to your Amazon S3 resources in the Amazon S3 User Guide. -
Directory bucket permissions - You must have the
s3express:CreateSession
permission in theAction
element of a policy. By default, the session is in theReadWrite
mode. If you want to restrict the access, you can explicitly set thes3express:SessionMode
condition key toReadOnly
on the bucket.For more information about example bucket policies, see Example bucket policies for S3 Express One Zone and Amazon Web Services Identity and Access Management (IAM) identity-based policies for S3 Express One Zone in the Amazon S3 User Guide.
HTTP Host header syntax¶
Directory buckets - The HTTP Host header syntax is
Bucket_name.s3express-az_id.region.amazonaws.com
.
You must make requests for this API operation to the Zonal endpoint.
These endpoints support virtual-hosted-style requests in the format
https://bucket_name.s3express-az_id.region.amazonaws.com
. Path-style
requests are not supported. For more information, see Regional and
Zonal
endpoints
in the Amazon S3 User Guide.
Usage¶
Arguments¶
Bucket
[required] The bucket name.
Directory buckets - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format
Bucket_name.s3express-az_id.region.amazonaws.com
. Path-style requests are not supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must follow the formatbucket_base_name--az-id--x-s3
(for example,DOC-EXAMPLE-BUCKET--usw2-az1--x-s3
). For information about bucket naming restrictions, see Directory bucket naming rules in the Amazon S3 User Guide.Access points - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.
Object Lambda access points - When you use this API operation with an Object Lambda access point, provide the alias of the Object Lambda access point in place of the bucket name. If the Object Lambda access point alias in a request is not valid, the error code
InvalidAccessPointAliasError
is returned. For more information aboutInvalidAccessPointAliasError
, see List of Error Codes.Access points and Object Lambda access points are not supported by directory buckets.
S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form
AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com
. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.ExpectedBucketOwner
The account ID of the expected bucket owner. If the account ID that you provide does not match the actual owner of the bucket, the request fails with the HTTP status code
403 Forbidden
(access denied).
Value¶
A list with the following syntax:
list(
BucketLocationType = "AvailabilityZone",
BucketLocationName = "string",
BucketRegion = "string",
AccessPointAlias = TRUE|FALSE
)