Sets or updates the storage class configuration for a table bucket. This configuration serves as the default storage class for all new tables created in the bucket, allowing you to optimize storage costs at the bucket level.
- Permissions
-
You must have the s3tables:PutTableBucketStorageClass permission to use this operation.
Parameters:
-
table_bucket_arn
(TableBucketARN)
–
The Amazon Resource Name (ARN) of the table bucket.
-
storage_class_configuration
(StorageClassConfiguration)
–
The storage class configuration to apply to the table bucket. This configuration will serve as the default for new tables created in this bucket.
Raises:
Source code in docs_src/capo_s3tables/_services/async_s3_tables.py
| async def put_table_bucket_storage_class(
self,
table_bucket_arn: "capo_s3tables.types.table_bucket_arn.TableBucketARN",
storage_class_configuration: "capo_s3tables.types.storage_class_configuration.StorageClassConfiguration",
*,
config_overrides: Optional[AsyncS3TablesClientConfig] = None,
) -> None:
"""<p>Sets or updates the storage class configuration for a table bucket. This configuration serves as the default storage class for all new tables created in the bucket, allowing you to optimize storage costs at the bucket level.</p> <dl> <dt>Permissions</dt> <dd> <p>You must have the <code>s3tables:PutTableBucketStorageClass</code> permission to use this operation.</p> </dd> </dl>
Args:
table_bucket_arn: <p>The Amazon Resource Name (ARN) of the table bucket.</p>
storage_class_configuration: <p>The storage class configuration to apply to the table bucket. This configuration will serve as the default for new tables created in this bucket.</p>
Raises:
capo_s3tables.errors.bad_request_exception.BadRequestException: <p>The request is invalid or malformed.</p>
capo_s3tables.errors.conflict_exception.ConflictException: <p>The request failed because there is a conflict with a previous write. You can retry the request.</p>
capo_s3tables.errors.forbidden_exception.ForbiddenException: <p>The caller isn't authorized to make the request.</p>
capo_s3tables.errors.internal_server_error_exception.InternalServerErrorException: <p>The request failed due to an internal server error.</p>
capo_s3tables.errors.not_found_exception.NotFoundException: <p>The request was rejected because the specified resource could not be found.</p>
capo_s3tables.errors.too_many_requests_exception.TooManyRequestsException: <p>The limit on the number of requests per second was exceeded.</p>
capo_s3tables.errors.UnknownServiceError: The service returned an error code this client does not model.
"""
async def _handler(
req: "AsyncOperationRequest[capo_s3tables.types.put_table_bucket_storage_class_request.PutTableBucketStorageClassRequest]",
) -> AsyncOperationResponse[None]:
import capo_s3tables._operations.s3_table_buckets.put_table_bucket_storage_class
(
output,
http_response,
) = await capo_s3tables._operations.s3_table_buckets.put_table_bucket_storage_class.async_put_table_bucket_storage_class(
req.options, req.input
)
return AsyncOperationResponse(output=output, response=http_response)
interceptors_, options_ = self.operation_options(
config_overrides, OperationLogging("PutTableBucketStorageClass")
)
input_: capo_s3tables.types.put_table_bucket_storage_class_request.PutTableBucketStorageClassRequest = {
"table_bucket_arn": table_bucket_arn,
"storage_class_configuration": storage_class_configuration,
}
response = await aexecute_pipeline(
AsyncOperationRequest(input=input_, options=options_),
handler=_handler,
interceptors=list(interceptors_),
)
await response.response.aclose()
return response.output
|