Skip to content

Commit

Permalink
feat(client-s3): Amazon S3 Metadata stores object metadata in read-on…
Browse files Browse the repository at this point in the history
…ly, fully managed Apache Iceberg metadata tables that you can query. You can create metadata table configurations for S3 general purpose buckets.
  • Loading branch information
awstools committed Dec 3, 2024
1 parent b6e41dd commit b6368e5
Show file tree
Hide file tree
Showing 24 changed files with 2,091 additions and 536 deletions.
24 changes: 24 additions & 0 deletions clients/client-s3/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -234,6 +234,14 @@ CreateBucket

[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/s3/command/CreateBucketCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-s3/Interface/CreateBucketCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-s3/Interface/CreateBucketCommandOutput/)

</details>
<details>
<summary>
CreateBucketMetadataTableConfiguration
</summary>

[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/s3/command/CreateBucketMetadataTableConfigurationCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-s3/Interface/CreateBucketMetadataTableConfigurationCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-s3/Interface/CreateBucketMetadataTableConfigurationCommandOutput/)

</details>
<details>
<summary>
Expand Down Expand Up @@ -306,6 +314,14 @@ DeleteBucketLifecycle

[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/s3/command/DeleteBucketLifecycleCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-s3/Interface/DeleteBucketLifecycleCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-s3/Interface/DeleteBucketLifecycleCommandOutput/)

</details>
<details>
<summary>
DeleteBucketMetadataTableConfiguration
</summary>

[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/s3/command/DeleteBucketMetadataTableConfigurationCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-s3/Interface/DeleteBucketMetadataTableConfigurationCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-s3/Interface/DeleteBucketMetadataTableConfigurationCommandOutput/)

</details>
<details>
<summary>
Expand Down Expand Up @@ -466,6 +482,14 @@ GetBucketLogging

[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/s3/command/GetBucketLoggingCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-s3/Interface/GetBucketLoggingCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-s3/Interface/GetBucketLoggingCommandOutput/)

</details>
<details>
<summary>
GetBucketMetadataTableConfiguration
</summary>

[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/s3/command/GetBucketMetadataTableConfigurationCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-s3/Interface/GetBucketMetadataTableConfigurationCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-s3/Interface/GetBucketMetadataTableConfigurationCommandOutput/)

</details>
<details>
<summary>
Expand Down
69 changes: 69 additions & 0 deletions clients/client-s3/src/S3.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,11 @@ import {
CreateBucketCommandInput,
CreateBucketCommandOutput,
} from "./commands/CreateBucketCommand";
import {
CreateBucketMetadataTableConfigurationCommand,
CreateBucketMetadataTableConfigurationCommandInput,
CreateBucketMetadataTableConfigurationCommandOutput,
} from "./commands/CreateBucketMetadataTableConfigurationCommand";
import {
CreateMultipartUploadCommand,
CreateMultipartUploadCommandInput,
Expand Down Expand Up @@ -63,6 +68,11 @@ import {
DeleteBucketLifecycleCommandInput,
DeleteBucketLifecycleCommandOutput,
} from "./commands/DeleteBucketLifecycleCommand";
import {
DeleteBucketMetadataTableConfigurationCommand,
DeleteBucketMetadataTableConfigurationCommandInput,
DeleteBucketMetadataTableConfigurationCommandOutput,
} from "./commands/DeleteBucketMetadataTableConfigurationCommand";
import {
DeleteBucketMetricsConfigurationCommand,
DeleteBucketMetricsConfigurationCommandInput,
Expand Down Expand Up @@ -163,6 +173,11 @@ import {
GetBucketLoggingCommandInput,
GetBucketLoggingCommandOutput,
} from "./commands/GetBucketLoggingCommand";
import {
GetBucketMetadataTableConfigurationCommand,
GetBucketMetadataTableConfigurationCommandInput,
GetBucketMetadataTableConfigurationCommandOutput,
} from "./commands/GetBucketMetadataTableConfigurationCommand";
import {
GetBucketMetricsConfigurationCommand,
GetBucketMetricsConfigurationCommandInput,
Expand Down Expand Up @@ -448,6 +463,7 @@ const commands = {
CompleteMultipartUploadCommand,
CopyObjectCommand,
CreateBucketCommand,
CreateBucketMetadataTableConfigurationCommand,
CreateMultipartUploadCommand,
CreateSessionCommand,
DeleteBucketCommand,
Expand All @@ -457,6 +473,7 @@ const commands = {
DeleteBucketIntelligentTieringConfigurationCommand,
DeleteBucketInventoryConfigurationCommand,
DeleteBucketLifecycleCommand,
DeleteBucketMetadataTableConfigurationCommand,
DeleteBucketMetricsConfigurationCommand,
DeleteBucketOwnershipControlsCommand,
DeleteBucketPolicyCommand,
Expand All @@ -477,6 +494,7 @@ const commands = {
GetBucketLifecycleConfigurationCommand,
GetBucketLocationCommand,
GetBucketLoggingCommand,
GetBucketMetadataTableConfigurationCommand,
GetBucketMetricsConfigurationCommand,
GetBucketNotificationConfigurationCommand,
GetBucketOwnershipControlsCommand,
Expand Down Expand Up @@ -598,6 +616,23 @@ export interface S3 {
cb: (err: any, data?: CreateBucketCommandOutput) => void
): void;

/**
* @see {@link CreateBucketMetadataTableConfigurationCommand}
*/
createBucketMetadataTableConfiguration(
args: CreateBucketMetadataTableConfigurationCommandInput,
options?: __HttpHandlerOptions
): Promise<CreateBucketMetadataTableConfigurationCommandOutput>;
createBucketMetadataTableConfiguration(
args: CreateBucketMetadataTableConfigurationCommandInput,
cb: (err: any, data?: CreateBucketMetadataTableConfigurationCommandOutput) => void
): void;
createBucketMetadataTableConfiguration(
args: CreateBucketMetadataTableConfigurationCommandInput,
options: __HttpHandlerOptions,
cb: (err: any, data?: CreateBucketMetadataTableConfigurationCommandOutput) => void
): void;

/**
* @see {@link CreateMultipartUploadCommand}
*/
Expand Down Expand Up @@ -739,6 +774,23 @@ export interface S3 {
cb: (err: any, data?: DeleteBucketLifecycleCommandOutput) => void
): void;

/**
* @see {@link DeleteBucketMetadataTableConfigurationCommand}
*/
deleteBucketMetadataTableConfiguration(
args: DeleteBucketMetadataTableConfigurationCommandInput,
options?: __HttpHandlerOptions
): Promise<DeleteBucketMetadataTableConfigurationCommandOutput>;
deleteBucketMetadataTableConfiguration(
args: DeleteBucketMetadataTableConfigurationCommandInput,
cb: (err: any, data?: DeleteBucketMetadataTableConfigurationCommandOutput) => void
): void;
deleteBucketMetadataTableConfiguration(
args: DeleteBucketMetadataTableConfigurationCommandInput,
options: __HttpHandlerOptions,
cb: (err: any, data?: DeleteBucketMetadataTableConfigurationCommandOutput) => void
): void;

/**
* @see {@link DeleteBucketMetricsConfigurationCommand}
*/
Expand Down Expand Up @@ -1055,6 +1107,23 @@ export interface S3 {
cb: (err: any, data?: GetBucketLoggingCommandOutput) => void
): void;

/**
* @see {@link GetBucketMetadataTableConfigurationCommand}
*/
getBucketMetadataTableConfiguration(
args: GetBucketMetadataTableConfigurationCommandInput,
options?: __HttpHandlerOptions
): Promise<GetBucketMetadataTableConfigurationCommandOutput>;
getBucketMetadataTableConfiguration(
args: GetBucketMetadataTableConfigurationCommandInput,
cb: (err: any, data?: GetBucketMetadataTableConfigurationCommandOutput) => void
): void;
getBucketMetadataTableConfiguration(
args: GetBucketMetadataTableConfigurationCommandInput,
options: __HttpHandlerOptions,
cb: (err: any, data?: GetBucketMetadataTableConfigurationCommandOutput) => void
): void;

/**
* @see {@link GetBucketMetricsConfigurationCommand}
*/
Expand Down
18 changes: 18 additions & 0 deletions clients/client-s3/src/S3Client.ts
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,10 @@ import {
} from "./commands/CompleteMultipartUploadCommand";
import { CopyObjectCommandInput, CopyObjectCommandOutput } from "./commands/CopyObjectCommand";
import { CreateBucketCommandInput, CreateBucketCommandOutput } from "./commands/CreateBucketCommand";
import {
CreateBucketMetadataTableConfigurationCommandInput,
CreateBucketMetadataTableConfigurationCommandOutput,
} from "./commands/CreateBucketMetadataTableConfigurationCommand";
import {
CreateMultipartUploadCommandInput,
CreateMultipartUploadCommandOutput,
Expand Down Expand Up @@ -121,6 +125,10 @@ import {
DeleteBucketLifecycleCommandInput,
DeleteBucketLifecycleCommandOutput,
} from "./commands/DeleteBucketLifecycleCommand";
import {
DeleteBucketMetadataTableConfigurationCommandInput,
DeleteBucketMetadataTableConfigurationCommandOutput,
} from "./commands/DeleteBucketMetadataTableConfigurationCommand";
import {
DeleteBucketMetricsConfigurationCommandInput,
DeleteBucketMetricsConfigurationCommandOutput,
Expand Down Expand Up @@ -180,6 +188,10 @@ import {
} from "./commands/GetBucketLifecycleConfigurationCommand";
import { GetBucketLocationCommandInput, GetBucketLocationCommandOutput } from "./commands/GetBucketLocationCommand";
import { GetBucketLoggingCommandInput, GetBucketLoggingCommandOutput } from "./commands/GetBucketLoggingCommand";
import {
GetBucketMetadataTableConfigurationCommandInput,
GetBucketMetadataTableConfigurationCommandOutput,
} from "./commands/GetBucketMetadataTableConfigurationCommand";
import {
GetBucketMetricsConfigurationCommandInput,
GetBucketMetricsConfigurationCommandOutput,
Expand Down Expand Up @@ -357,6 +369,7 @@ export type ServiceInputTypes =
| CompleteMultipartUploadCommandInput
| CopyObjectCommandInput
| CreateBucketCommandInput
| CreateBucketMetadataTableConfigurationCommandInput
| CreateMultipartUploadCommandInput
| CreateSessionCommandInput
| DeleteBucketAnalyticsConfigurationCommandInput
Expand All @@ -366,6 +379,7 @@ export type ServiceInputTypes =
| DeleteBucketIntelligentTieringConfigurationCommandInput
| DeleteBucketInventoryConfigurationCommandInput
| DeleteBucketLifecycleCommandInput
| DeleteBucketMetadataTableConfigurationCommandInput
| DeleteBucketMetricsConfigurationCommandInput
| DeleteBucketOwnershipControlsCommandInput
| DeleteBucketPolicyCommandInput
Expand All @@ -386,6 +400,7 @@ export type ServiceInputTypes =
| GetBucketLifecycleConfigurationCommandInput
| GetBucketLocationCommandInput
| GetBucketLoggingCommandInput
| GetBucketMetadataTableConfigurationCommandInput
| GetBucketMetricsConfigurationCommandInput
| GetBucketNotificationConfigurationCommandInput
| GetBucketOwnershipControlsCommandInput
Expand Down Expand Up @@ -457,6 +472,7 @@ export type ServiceOutputTypes =
| CompleteMultipartUploadCommandOutput
| CopyObjectCommandOutput
| CreateBucketCommandOutput
| CreateBucketMetadataTableConfigurationCommandOutput
| CreateMultipartUploadCommandOutput
| CreateSessionCommandOutput
| DeleteBucketAnalyticsConfigurationCommandOutput
Expand All @@ -466,6 +482,7 @@ export type ServiceOutputTypes =
| DeleteBucketIntelligentTieringConfigurationCommandOutput
| DeleteBucketInventoryConfigurationCommandOutput
| DeleteBucketLifecycleCommandOutput
| DeleteBucketMetadataTableConfigurationCommandOutput
| DeleteBucketMetricsConfigurationCommandOutput
| DeleteBucketOwnershipControlsCommandOutput
| DeleteBucketPolicyCommandOutput
Expand All @@ -486,6 +503,7 @@ export type ServiceOutputTypes =
| GetBucketLifecycleConfigurationCommandOutput
| GetBucketLocationCommandOutput
| GetBucketLoggingCommandOutput
| GetBucketMetadataTableConfigurationCommandOutput
| GetBucketMetricsConfigurationCommandOutput
| GetBucketNotificationConfigurationCommandOutput
| GetBucketOwnershipControlsCommandOutput
Expand Down
26 changes: 13 additions & 13 deletions clients/client-s3/src/commands/CreateBucketCommand.ts
Original file line number Diff line number Diff line change
Expand Up @@ -235,39 +235,39 @@ export interface CreateBucketCommandOutput extends CreateBucketOutput, __Metadat
* <p>Base exception class for all service exceptions from S3 service.</p>
*
* @public
* @example To create a bucket
* @example To create a bucket in a specific region
* ```javascript
* // The following example creates a bucket.
* // The following example creates a bucket. The request specifies an AWS region where to create the bucket.
* const input = {
* "Bucket": "examplebucket"
* "Bucket": "examplebucket",
* "CreateBucketConfiguration": {
* "LocationConstraint": "eu-west-1"
* }
* };
* const command = new CreateBucketCommand(input);
* const response = await client.send(command);
* /* response ==
* {
* "Location": "/examplebucket"
* "Location": "http://examplebucket.<Region>.s3.amazonaws.com/"
* }
* *\/
* // example id: to-create-a-bucket--1472851826060
* // example id: to-create-a-bucket-in-a-specific-region-1483399072992
* ```
*
* @example To create a bucket in a specific region
* @example To create a bucket
* ```javascript
* // The following example creates a bucket. The request specifies an AWS region where to create the bucket.
* // The following example creates a bucket.
* const input = {
* "Bucket": "examplebucket",
* "CreateBucketConfiguration": {
* "LocationConstraint": "eu-west-1"
* }
* "Bucket": "examplebucket"
* };
* const command = new CreateBucketCommand(input);
* const response = await client.send(command);
* /* response ==
* {
* "Location": "http://examplebucket.<Region>.s3.amazonaws.com/"
* "Location": "/examplebucket"
* }
* *\/
* // example id: to-create-a-bucket-in-a-specific-region-1483399072992
* // example id: to-create-a-bucket--1472851826060
* ```
*
*/
Expand Down
Loading

0 comments on commit b6368e5

Please sign in to comment.