GetBucketAccelerateConfiguration
GetBucketAccelerateConfiguration reports whether transfer acceleration is switched on for a
bucket. Transfer acceleration is not part of STRG, so there is never anything to report:
the operation checks that the bucket exists and answers with an empty AccelerateConfiguration
document - the same answer Amazon S3 gives for a bucket whose acceleration state has never been
set. Some tools ask about transfer acceleration while describing a bucket or before an upload,
and with this answer they carry on as usual.
- Transfer acceleration is not part of STRG, so the answer never contains a
Status. - PutBucketAccelerateConfiguration is answered with
501 NotImplemented, so a client knows straight away. x-amz-expected-bucket-ownerandx-amz-request-payerare welcome and make no difference: a key only ever reaches buckets of its own account, and there are no requester-pays buckets.
When you'd use it
- Tools that describe a bucket. Infrastructure-as-code tools and inventory scripts written for Amazon S3 read every bucket setting they know about, acceleration included. On STRG the request succeeds with the never-configured answer, so the description completes without errors.
- Upload tools that check for acceleration first. A client that looks up the acceleration state before deciding which endpoint to upload to learns that it is not enabled, and uploads to the bucket's regional endpoint as usual.
Request
GET /?accelerate HTTP/1.1
Host: my-bucket.s3.eu-central-1.strg.com
Authorization: AWS4-HMAC-SHA256 Credential=...
x-amz-date: 20260926T120000Z
x-amz-content-sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
The path-style form is GET /my-bucket?accelerate on s3.eu-central-1.strg.com -
Addressing explains both.
Permissions
The access key needs Read bucket settings (buckets:read-config). Every access key holds
it, whether it covers all buckets or only some - a key scoped to specific buckets reads only
those. Access keys has the details.
URI parameters
| Name | Type | Required | Description |
|---|---|---|---|
Bucket | String | Yes | The bucket whose acceleration state to read. |
accelerate | Flag | Yes | Selects this operation. Sent with no value. |
Any other query parameter is answered with 501 NotImplemented, so a client knows straight away
that it has no effect here.
Request headers
| Name | Type | Required | Description |
|---|---|---|---|
x-amz-expected-bucket-owner | String | No | Welcome, with nothing to check: an access key only ever reaches its own account's buckets. |
x-amz-request-payer | String | No | Welcome, and makes no difference: there are no requester-pays buckets on STRG. |
Request body
None.
Response
A successful request answers 200 OK with an XML body.
Response headers
| Name | Description |
|---|---|
Content-Type | application/xml. |
x-amz-request-id | The request ID, handy for a support request. |
x-amz-request-charged | Not sent, as there are no requester-pays buckets on STRG. |
Response body
The document has one element, and it is always empty:
| Element | Type | Description |
|---|---|---|
AccelerateConfiguration | Container | The root element. Always empty on STRG. |
Status | String | Not sent. Amazon S3 answers Enabled or Suspended here once acceleration has been configured. |
<?xml version="1.0" encoding="UTF-8"?>
<AccelerateConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/"/>
Errors
These are the errors this request can return, and the situation behind each one.
| Code | HTTP status | When |
|---|---|---|
NoSuchBucket | 404 | The bucket does not exist, belongs to another account, is in a region other than the endpoint's, or the account stores nothing in the endpoint's region yet. |
AccessDenied | 403 | The access key is scoped to buckets that do not include this one, or the account is not active. |
InvalidAccessKeyId | 403 | The access key does not exist, has expired or been revoked - or it was created moments ago and is not usable yet in a region where the account already stores data, in which case the same request works shortly afterwards. |
SignatureDoesNotMatch | 403 | The request signature does not match. |
RequestTimeTooSkewed | 403 | The request time is more than 15 minutes from the server's. |
AuthorizationHeaderMalformed | 400 | The signature's credential scope names a region other than the endpoint's. |
NotImplemented | 501 | The request carries a query parameter this operation does not accept. |
SlowDown | 503 | Too many requests. The Retry-After header says when a retry is welcome; the AWS SDKs retry on their own. |
ServiceUnavailable | 503 | A temporary failure; the same request can be retried. |
InternalError | 500 | An unexpected failure while checking the bucket; the same request can be retried. |
Differences from Amazon S3
The table lists each place where STRG behaves differently, and what that means for a client.
| Aspect | Amazon S3 | STRG |
|---|---|---|
| Transfer acceleration | Configurable per bucket; Status is Enabled or Suspended once set | Not part of STRG. The answer is always the empty, never-configured document |
| Setting it | PutBucketAccelerateConfiguration | Answered with 501 NotImplemented |
| Bucket in another region | 301 redirect with x-amz-bucket-region | 404 NoSuchBucket. A bucket is reached through its own regional endpoint. |
x-amz-expected-bucket-owner | Checked against the bucket owner | Welcome, with nothing to check |
Examples
Reading the acceleration state of my-bucket in eu-central-1:
- AWS CLI
- Python (boto3)
- JavaScript (AWS SDK v3)
aws s3api get-bucket-accelerate-configuration \
--bucket my-bucket \
--endpoint-url https://s3.eu-central-1.strg.com \
--region eu-central-1
The command succeeds and prints nothing, because the answer has no Status.
import boto3
s3 = boto3.client(
"s3",
endpoint_url="https://s3.eu-central-1.strg.com",
region_name="eu-central-1",
)
response = s3.get_bucket_accelerate_configuration(Bucket="my-bucket")
print(response.get("Status", "not configured"))
import { GetBucketAccelerateConfigurationCommand, S3Client } from "@aws-sdk/client-s3";
const client = new S3Client({
endpoint: "https://s3.eu-central-1.strg.com",
region: "eu-central-1",
});
const response = await client.send(
new GetBucketAccelerateConfigurationCommand({ Bucket: "my-bucket" }),
);
console.log(response.Status ?? "not configured");