If the operation is successful, no output will be returned.
Understanding Object Storage bucket operations
CreateBucket
This operation allows you to create a new bucket.
Sample request
PUT / HTTP/1.1Host: bucketname.s3.nl-ams.scw.cloudx-amz-content-sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855Date: Wed, 19 Sep 2018 15:21:16 GMTAuthorization: authorization string
CLI command
aws s3 mb s3://bucketname
DeleteBucket
This operation allows you to delete the bucket mentioned in the command.
Deleting a bucket will also delete all of its objects. For safety measures, the effective deletion of the bucket will start 24 hours after the deletion request. The bucket name will then be available for other customers to use.
The billing of your resources stops as soon as you request the deletion of your resources.
Once you do so, the bucket and its objects and versions will no longer be displayed in the console or available via the API. For this reason, we recommend you delete all objects and versions in the bucket before requesting the deletion, if you wish the bucket deletion to be effective immediately.
If the operation is successful, no output will be returned.
Sample request
DELETE / HTTP/1.1Host: bucketname.s3.nl-ams.scw.cloudx-amz-content-sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855x-amz-date: 20170710T181321ZAuthorization: authorization string
CLI command
aws s3api delete-bucket --bucket my-bucket --region nl-ams-1
DeleteBucketCors
This operation allows you to delete the CORS configuration of an existing bucket.
If the operation is successful, no output will be returned.
Sample request
DELETE /?cors HTTP/1.1Host: bucketname.s3.nl-ams.scw.cloudAuthorization: authorization string
DeleteBucketLifecycle
This operation deletes the lifecycle configuration of a specified bucket.
If the operation is successful, no output will be returned.
Sample request
DELETE /?lifecycle HTTP/1.1Host: bucketname.s3.nl-ams.scw.cloudAuthorization: authorization string
DeleteBucketPolicy
This operation deletes the bucket policy of a specified bucket.
If the operation is successful, no output will be returned.
Sample request
DELETE /my-bucket?policy HTTP/1.1
CLI command
aws s3api delete-bucket-policy --bucket my-bucket
DeleteBucketTagging
This operation allows you to delete the tag set from the specified bucket.
If the operation is successful, no output will be returned.
Sample request
DELETE /?tagging HTTP/1.1Host: bucketname.s3.nl-ams.scw.cloudDate: Mon, 10 Jun 2018 17:31:43 GMTAuthorization: authorization string
Sample response
HTTP/1.1 204 No ContentDate: Mon, 10 Jun 2018 17:31:45 GMTConnection: close
DeleteBucketWebsite
This operation deletes the bucket website configuration of a specified bucket.
If the operation is successful, no output will be returned.
Sample request
DELETE /my-bucket?website HTTP/1.1
CLI command
aws s3api delete-bucket-website --bucket my-bucket
GetBucketAcl
This request triggers the display of the Access Control List (ACL) of the bucket BucketName
.
Sample request
GET /?acl HTTP/1.1Host: bucketname.s3.nl-ams.scw.cloudx-amz-content-sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855x-amz-date: 20190411T095616ZAuthorization: authorization string
Sample response
HTTP/1.1 200 OKDate: Thu, 11 Apr 2019 09:56:16 GMTx-amz-request-id: tx6beab12a75c84071b6378-005caf06c9Content-Type: application/xmlContent-Length: 698Connection: close<?xml version='1.0' encoding='UTF-8'?><AccessControlPolicy xmlns="http://s3.amazonaws.com/doc/2006-03-01/"><Owner><ID>04dcf44f-a6ca-4e69-a74c-f0c557d87d79:04dcf44f-a6ca-4e69-a74c-f0c557d87d79</ID><DisplayName>04dcf44f-a6ca-4e69-a74c-f0c557d87d79:04dcf44f-a6ca-4e69-a74c-f0c557d87d79</DisplayName></Owner><AccessControlList><Grant><Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="CanonicalUser"><ID>04dcf44f-a6ca-4e69-a74c-f0c557d87d79:04dcf44f-a6ca-4e69-a74c-f0c557d87d79</ID><DisplayName>04dcf44f-a6ca-4e69-a74c-f0c557d87d79:04dcf44f-a6ca-4e69-a74c-f0c557d87d79</DisplayName></Grantee><Permission>FULL_CONTROL</Permission></Grant></AccessControlList></AccessControlPolicy>'
CLI command
aws s3api get-bucket-acl --bucket my-bucket
GetBucketCors
This operation allows you to get the Cross-origin resource sharing (CORS) configuration of a bucket.
Sample request
GET /?cors HTTP/1.1Host: bucketname.s3.nl-ams.scw.cloudDate: dateAuthorization: authorization string
Sample response
HTTP/1.1 200 OKDate: Mon, 18 Mar 2019 10:41:42 GMT<CORSConfiguration><CORSRule><AllowedOrigin>http://www.example.com</AllowedOrigin><AllowedMethod>GET</AllowedMethod><MaxAgeSeconds>3000</MaxAgeSec><ExposeHeader>Etag</ExposeHeader></CORSRule></CORSConfiguration>
GetBucketLifecycleConfiguration
This operation returns information about the lifecycle configuration set on the bucket.
Sample request
GET /?lifecycle HTTP/1.1Host: bucketname.s3.nl-ams.scw.cloudAuthorization: authorization string
Sample response
HTTP/1.1 200 OKx-amz-id-2: txda274593e2dc4974a82cc-005cdbe130x-amz-request-id: txda274593e2dc4974a82cc-005cdbe130Date: Wed, 15 May 2019 09:51:44 GMTContent-Length: 238<?xml version="1.0" encoding="UTF-8"?><LifecycleConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/"><Rule><ID>ExampleRule</ID><Filter><Prefix>documents/</Prefix></Filter><Status>Enabled</Status><Expiration><Days>30</Days></Expiration></Rule></LifecycleConfiguration>
GetBucketLocation
This operation allows you to display the location constraint of a bucket.
Sample request
GET /?location HTTP/1.1Host: bucketname.s3.nl-ams.scw.cloudx-amz-content-sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855x-amz-date: 20190411T094149ZAuthorization: authorization string
Sample response
<?xml version='1.0' encoding='UTF-8'?><LocationConstraint xmlns="http://s3.amazonaws.com/doc/2006-03-01/">nl-ams</LocationConstraint>'
CLI command
aws s3api get-bucket-location --bucket my-bucket
ListObjectVersions
This operation allows you to return metadata about all the versions of objects in a bucket.
Sample request
GET /?versions HTTP/1.1Host: bucketname.s3.nl-ams.scw.cloudx-amz-content-sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855x-amz-date: 20190411T100211Z
Sample response
<?xml version='1.0' encoding='UTF-8'?><ListVersionsResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/"><Name>bucket-stoic-tesla</Name><Prefix/><KeyMarker/><VersionIdMarker/><MaxKeys>1000</MaxKeys><IsTruncated>false</IsTruncated><Version><Key>holidays.png</Key><VersionId>1553680197512368</VersionId><IsLatest>true</IsLatest><LastModified>2019-03-27T09:49:57.000Z</LastModified><ETag>"694be693a6156cd92283c1f29026ac25"</ETag><Size>54139</Size><Owner><ID>04dcf44f-a6ca-4e69-a74c-f0c557d87d79:04dcf44f-a6ca-4e69-a74c-f0c557d87d79</ID><DisplayName>04dcf44f-a6ca-4e69-a74c-f0c557d87d79:04dcf44f-a6ca-4e69-a74c-f0c557d87d79</DisplayName></Owner><StorageClass>STANDARD</StorageClass></Version><Version><Key>website.html</Key><VersionId>1553680708039023</VersionId><IsLatest>true</IsLatest><LastModified>2019-03-27T09:58:28.000Z</LastModified><ETag>"e5b7e0dcc9d664896cb92a3f7775f352"</ETag><Size>138</Size><Owner><ID>04dcf44f-a6ca-4e69-a74c-f0c557d87d79:04dcf44f-a6ca-4e69-a74c-f0c557d87d79</ID><DisplayName>04dcf44f-a6ca-4e69-a74c-f0c557d87d79:04dcf44f-a6ca-4e69-a74c-f0c557d87d79</DisplayName></Owner><StorageClass>STANDARD</StorageClass></Version></ListVersionsResult>
CLI Command
aws s3api list-object-versions --bucket my-bucket
GetBucketPolicy
This operation returns the policy of a specified bucket.
Sample request
GET /my-bucket?policy HTTP/1.1
Sample response:
{"Policy": "{\"Version\": \"2023-04-17\", \"Statement\": [{\"Action\": [\"s3:GetObject\"], \"Principal\": {\"SCW\": [\"<APPLICATION_ID>\"]}, \"Resource\": [\"dst/*\"], \"Effect\": \"Allow\", \"Sid\": \"DelegateGetObject\"}]}"}
CLI command
aws s3api get-bucket-policy --bucket dst --profile client{"Policy": "{\"Version\": \"2023-04-17\", \"Statement\": [{\"Action\": [\"s3:GetObject\"], \"Principal\": {\"SCW\": [\"<APPLICATION_ID>\"]}, \"Resource\": [\"dst/*\"], \"Effect\": \"Allow\", \"Sid\": \"DelegateGetObject\"}]}"}
GetBucketTagging
This operation allows you to the tag set of the specified bucket.
Sample request
GET ?tagging HTTP/1.1Host: bucket.s3.nl-ams.scw.cloudDate: Thu, 11 Apr 2019 10:02:11 GMTAuthorization: authorization stringContent-Type: text/plain
Sample response
<Tagging><TagSet><Tag><Key>Bucket Description</Key><Value>Holiday Photos</Value></Tag><Tag><Key>Event</Key><Value>Paris March 2019</Value></Tag></TagSet></Tagging>
GetBucketVersioning
This operation allows you to return the versioning state of a bucket.
Sample request
GET /?versioning HTTP/1.1Host: bucket.s3.nl-ams.scw.cloudDate: Thu, 11 Apr 2019 10:02:11 GMTAuthorization: authorization stringContent-Type: text/plain
Sample response
<VersioningConfiguration xmlns="http://s3.nl-ams.scw.cloud/bucketname/doc/2006-03-01/"><Status>Enabled</Status></VersioningConfiguration>
CLI command
aws s3api get-bucket-versioning --bucket BucketName
GetBucketWebsite
This operation returns information about the configuration of your bucket website.
Sample request
GET /my-bucket?website HTTP/1.1
CLI command
aws s3api get-bucket-website --bucket <my-bucket>
HeadBucket
This operation can be used to determine if a bucket exists and if you have permission to access it.
If the operation is successful, no output will be returned.
Sample request
HEAD / HTTP/1.1Host: bucket.s3.nl-ams.scw.cloudx-amz-content-sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855Date: Thu, 11 Apr 2019 10:07:54 GMTAuthorization: authorization string
CLI command
aws s3api head-bucket --bucket BucketName
ListObjects
This operation allows to return some or all (up to 1,000) of the objects in a bucket.
Sample request
GET / HTTP/1.1Host: bucketname.s3.nl-ams.scw.cloud
Sample response
HTTP/1.1 200 OKContent-Length: 526Content-Type: application/xmlDate: Mon, 20 Apr 2020 08:34:47 GMTx-amz-id-2: txaef1634de6b6411eb3f9b-005e9d5ea6x-amz-request-id: txaef1634de6b6411eb3f9b-005e9d5ea6<?xml version="1.0" encoding="UTF-8"?><ListBucketResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/"><Name>bucketname</Name><Prefix /><Marker /><MaxKeys>1000</MaxKeys><IsTruncated>false</IsTruncated><Contents><Key>image.png</Key><LastModified>2020-03-25T11:27:33.000Z</LastModified><ETag>"2962dcafeea999ebad0e7a09074856e6"</ETag><Size>37939</Size><Owner><ID /><DisplayName /></Owner><StorageClass>STANDARD</StorageClass></Contents><Contents><Key>file.log</Key><LastModified>2020-03-24T21:39:22.000Z</LastModified><ETag>"4b5ff0ea81ec9df052ae7947d17ceba1"</ETag><Size>137668</Size><Owner><ID /><DisplayName /></Owner><StorageClass>STANDARD</StorageClass></Contents></ListBucketResult>
CLI command
aws s3api list-objects-v2 --bucket my-bucket
You can use the request parameters as selection criteria to return a subset of the objects in a bucket.
Run aws s3api list-objects-v2 help
for more details.
PutBucketAcl
This operation allows you to configure the Access Control List (ACL) of a bucket.
If the operation is successful, no output will be returned.
Sample request
PUT /?acl HTTP/1.1content-type:application/xmlHost: bucketname.s3.nl-ams.scw.cloudx-amz-content-sha256: 724483e3830b19d6960345c484fb7904b26e8f2fb34a6c002fa779353b68c8d8x-amz-date: 20180910T183709ZAuthorization: authorization string<AccessControlPolicy xmlns="http://s3.nl-ams.scw.cloud/bucketname"><Owner><ID>6174283</ID></Owner><AccessControlList><Grant><Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="CanonicalUser"><ID>04dcf44f-a6ca-4e69-a74c-f0c557d87d79:04dcf44f-a6ca-4e69-a74c-f0c557d87d79</ID></Grantee><Permission>FULL_CONTROL</Permission></Grant><Grant><Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="Group"><URI>http://acs.amazonaws.com/groups/global/AllUsers</URI></Grantee><Permission>READ</Permission></Grant></AccessControlList></AccessControlPolicy>
CLI command
aws s3api put-bucket-acl --bucket BucketName --acl private
PutBucketCors
This operation allows you to configure CORS settings of an existing bucket.
If the operation is successful, no output will be returned.
Sample request
PUT /?cors HTTP/1.1Host: bucketname.s3.nl-ams.scw.cloudAuthorization: authorization string<CORSConfiguration><CORSRule><AllowedOrigin>http://www.example.com</AllowedOrigin><AllowedMethod>PUT</AllowedMethod><AllowedMethod>POST</AllowedMethod><AllowedMethod>DELETE</AllowedMethod><AllowedHeader>*</AllowedHeader><MaxAgeSeconds>3000</MaxAgeSec><ExposeHeader>Etag</ExposeHeader></CORSRule><CORSRule><AllowedOrigin>*</AllowedOrigin><AllowedMethod>GET</AllowedMethod><AllowedHeader>*</AllowedHeader><MaxAgeSeconds>3000</MaxAgeSeconds></CORSRule></CORSConfiguration>
PutBucketLifecycleConfiguration
Sample request
PUT /?lifecycle HTTP/1.1Host: bucketname.s3.nl-ams.scw.cloudContent-MD5: e0d656aa8bed46fe766420c6d21537d5Authorization: authorization string<LifecycleConfiguration><Rule><ID>ExampleRule</ID><Filter><Prefix>documents/</Prefix></Filter><Status>Enabled</Status><Expiration><Days>30</Days></Expiration></Rule></LifecycleConfiguration>
Sample response
HTTP/1.1 200 OK
PutBucketTagging
This operation allows you to add a tag set to an existing bucket.
If the operation is successful, no output will be returned.
Sample request
PUT ?tagging HTTP/1.1Host: bucketname.s3.nl-ams.scw.cloudContent-Length: 1660x-amz-date: Thu, 14 Mar 2019 10:04:21 GMTAuthorization: authorization string<Tagging><TagSet><Tag><Key>Bucket Description</Key><Value>Holiday Photos</Value></Tag><Tag><Key>Event</Key><Value>Paris March 2019</Value></Tag></TagSet></Tagging>
PutBucketVersioning
This operation allows you to set the versioning state of an existing bucket. To set the versioning state, you must be the bucket owner.
Sample request
PUT /?versioning HTTP/1.1Host: bucketname.s3.nl-ams.scw.cloudDate: Thu, 11 Apr 2019 10:13:00 GMTAuthorization: authorization stringContent-Type: text/plainContent-Length: 124
Sample response
HTTP/1.1 200 OKx-amz-id-2: tx456e25b3558449a08b406-005caf132cx-amz-request-id: tx456e25b3558449a08b406-005caf132cDate: Thu, 11 Apr 2019 10:13:00 GMT
CLI command
aws s3api put-bucket-versioning --bucket BucketName
PutBucketPolicy
This operation applies an Object Storage bucket policy to an Object Storage bucket.
If the operation is successful, no output will be returned.
Sample request
PUT /my-bucket?policy HTTP/1.1
{"Version": "22023-04-17","Id": "MyBucketPolicy","Statement": [{"Sid": "DelegateAccess","Effect": "Allow","Principal":{"SCW": "application_id:<APPLICATION_ID>"},"Action": ["s3:ListBucket","s3:GetObject"],"Resource": ["<BUCKET_NAME>","<BUCKET_NAME>/*"]}]}
CLI command
Create the file bucket-policy.json
with the following content:
{"Version": "2023-04-17","Id": "MyBucketPolicy","Statement": [{"Sid": "DelegateAccess","Effect": "Allow","Principal": {"SCW": "application_id:<APPLICATION_ID>"},"Action": ["s3:ListBucket","s3:GetObject"],"Resource": ["<BUCKET_NAME>","<BUCKET_NAME>/*"]}]}
Then, run the command:
aws s3api put-bucket-policy --bucket <BUCKET_NAME> --policy file://bucket-policy.json
PutBucketWebsite
This operation enables the bucket website feature and sets the basic configuration for the website.
PUT /my-bucket?website HTTP/1.1{"IndexDocument" : {"Suffix": "index.html"},"ErrorDocument": {"Key": "error.html"}}
To enable the bucket website feature via the CLI, you can create a file called bucket-website.json
with the index and error page names.
{"IndexDocument" : {"Suffix": "index.html"},"ErrorDocument": {"Key": "error.html"}}
Then, upload it using the following command:
aws s3api put-bucket-website --bucket <BUCKET_NAME> --website-configuration file://bucket-website.json