Skip to content

Commit b6368e5

Browse files
author
awstools
committed
feat(client-s3): Amazon S3 Metadata stores object metadata in read-only, fully managed Apache Iceberg metadata tables that you can query. You can create metadata table configurations for S3 general purpose buckets.
1 parent b6e41dd commit b6368e5

24 files changed

+2091
-536
lines changed

clients/client-s3/README.md

+24
Original file line numberDiff line numberDiff line change
@@ -234,6 +234,14 @@ CreateBucket
234234

235235
[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/)
236236

237+
</details>
238+
<details>
239+
<summary>
240+
CreateBucketMetadataTableConfiguration
241+
</summary>
242+
243+
[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/)
244+
237245
</details>
238246
<details>
239247
<summary>
@@ -306,6 +314,14 @@ DeleteBucketLifecycle
306314

307315
[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/)
308316

317+
</details>
318+
<details>
319+
<summary>
320+
DeleteBucketMetadataTableConfiguration
321+
</summary>
322+
323+
[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/)
324+
309325
</details>
310326
<details>
311327
<summary>
@@ -466,6 +482,14 @@ GetBucketLogging
466482

467483
[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/)
468484

485+
</details>
486+
<details>
487+
<summary>
488+
GetBucketMetadataTableConfiguration
489+
</summary>
490+
491+
[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/)
492+
469493
</details>
470494
<details>
471495
<summary>

clients/client-s3/src/S3.ts

+69
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,11 @@ import {
1818
CreateBucketCommandInput,
1919
CreateBucketCommandOutput,
2020
} from "./commands/CreateBucketCommand";
21+
import {
22+
CreateBucketMetadataTableConfigurationCommand,
23+
CreateBucketMetadataTableConfigurationCommandInput,
24+
CreateBucketMetadataTableConfigurationCommandOutput,
25+
} from "./commands/CreateBucketMetadataTableConfigurationCommand";
2126
import {
2227
CreateMultipartUploadCommand,
2328
CreateMultipartUploadCommandInput,
@@ -63,6 +68,11 @@ import {
6368
DeleteBucketLifecycleCommandInput,
6469
DeleteBucketLifecycleCommandOutput,
6570
} from "./commands/DeleteBucketLifecycleCommand";
71+
import {
72+
DeleteBucketMetadataTableConfigurationCommand,
73+
DeleteBucketMetadataTableConfigurationCommandInput,
74+
DeleteBucketMetadataTableConfigurationCommandOutput,
75+
} from "./commands/DeleteBucketMetadataTableConfigurationCommand";
6676
import {
6777
DeleteBucketMetricsConfigurationCommand,
6878
DeleteBucketMetricsConfigurationCommandInput,
@@ -163,6 +173,11 @@ import {
163173
GetBucketLoggingCommandInput,
164174
GetBucketLoggingCommandOutput,
165175
} from "./commands/GetBucketLoggingCommand";
176+
import {
177+
GetBucketMetadataTableConfigurationCommand,
178+
GetBucketMetadataTableConfigurationCommandInput,
179+
GetBucketMetadataTableConfigurationCommandOutput,
180+
} from "./commands/GetBucketMetadataTableConfigurationCommand";
166181
import {
167182
GetBucketMetricsConfigurationCommand,
168183
GetBucketMetricsConfigurationCommandInput,
@@ -448,6 +463,7 @@ const commands = {
448463
CompleteMultipartUploadCommand,
449464
CopyObjectCommand,
450465
CreateBucketCommand,
466+
CreateBucketMetadataTableConfigurationCommand,
451467
CreateMultipartUploadCommand,
452468
CreateSessionCommand,
453469
DeleteBucketCommand,
@@ -457,6 +473,7 @@ const commands = {
457473
DeleteBucketIntelligentTieringConfigurationCommand,
458474
DeleteBucketInventoryConfigurationCommand,
459475
DeleteBucketLifecycleCommand,
476+
DeleteBucketMetadataTableConfigurationCommand,
460477
DeleteBucketMetricsConfigurationCommand,
461478
DeleteBucketOwnershipControlsCommand,
462479
DeleteBucketPolicyCommand,
@@ -477,6 +494,7 @@ const commands = {
477494
GetBucketLifecycleConfigurationCommand,
478495
GetBucketLocationCommand,
479496
GetBucketLoggingCommand,
497+
GetBucketMetadataTableConfigurationCommand,
480498
GetBucketMetricsConfigurationCommand,
481499
GetBucketNotificationConfigurationCommand,
482500
GetBucketOwnershipControlsCommand,
@@ -598,6 +616,23 @@ export interface S3 {
598616
cb: (err: any, data?: CreateBucketCommandOutput) => void
599617
): void;
600618

619+
/**
620+
* @see {@link CreateBucketMetadataTableConfigurationCommand}
621+
*/
622+
createBucketMetadataTableConfiguration(
623+
args: CreateBucketMetadataTableConfigurationCommandInput,
624+
options?: __HttpHandlerOptions
625+
): Promise<CreateBucketMetadataTableConfigurationCommandOutput>;
626+
createBucketMetadataTableConfiguration(
627+
args: CreateBucketMetadataTableConfigurationCommandInput,
628+
cb: (err: any, data?: CreateBucketMetadataTableConfigurationCommandOutput) => void
629+
): void;
630+
createBucketMetadataTableConfiguration(
631+
args: CreateBucketMetadataTableConfigurationCommandInput,
632+
options: __HttpHandlerOptions,
633+
cb: (err: any, data?: CreateBucketMetadataTableConfigurationCommandOutput) => void
634+
): void;
635+
601636
/**
602637
* @see {@link CreateMultipartUploadCommand}
603638
*/
@@ -739,6 +774,23 @@ export interface S3 {
739774
cb: (err: any, data?: DeleteBucketLifecycleCommandOutput) => void
740775
): void;
741776

777+
/**
778+
* @see {@link DeleteBucketMetadataTableConfigurationCommand}
779+
*/
780+
deleteBucketMetadataTableConfiguration(
781+
args: DeleteBucketMetadataTableConfigurationCommandInput,
782+
options?: __HttpHandlerOptions
783+
): Promise<DeleteBucketMetadataTableConfigurationCommandOutput>;
784+
deleteBucketMetadataTableConfiguration(
785+
args: DeleteBucketMetadataTableConfigurationCommandInput,
786+
cb: (err: any, data?: DeleteBucketMetadataTableConfigurationCommandOutput) => void
787+
): void;
788+
deleteBucketMetadataTableConfiguration(
789+
args: DeleteBucketMetadataTableConfigurationCommandInput,
790+
options: __HttpHandlerOptions,
791+
cb: (err: any, data?: DeleteBucketMetadataTableConfigurationCommandOutput) => void
792+
): void;
793+
742794
/**
743795
* @see {@link DeleteBucketMetricsConfigurationCommand}
744796
*/
@@ -1055,6 +1107,23 @@ export interface S3 {
10551107
cb: (err: any, data?: GetBucketLoggingCommandOutput) => void
10561108
): void;
10571109

1110+
/**
1111+
* @see {@link GetBucketMetadataTableConfigurationCommand}
1112+
*/
1113+
getBucketMetadataTableConfiguration(
1114+
args: GetBucketMetadataTableConfigurationCommandInput,
1115+
options?: __HttpHandlerOptions
1116+
): Promise<GetBucketMetadataTableConfigurationCommandOutput>;
1117+
getBucketMetadataTableConfiguration(
1118+
args: GetBucketMetadataTableConfigurationCommandInput,
1119+
cb: (err: any, data?: GetBucketMetadataTableConfigurationCommandOutput) => void
1120+
): void;
1121+
getBucketMetadataTableConfiguration(
1122+
args: GetBucketMetadataTableConfigurationCommandInput,
1123+
options: __HttpHandlerOptions,
1124+
cb: (err: any, data?: GetBucketMetadataTableConfigurationCommandOutput) => void
1125+
): void;
1126+
10581127
/**
10591128
* @see {@link GetBucketMetricsConfigurationCommand}
10601129
*/

clients/client-s3/src/S3Client.ts

+18
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,10 @@ import {
9090
} from "./commands/CompleteMultipartUploadCommand";
9191
import { CopyObjectCommandInput, CopyObjectCommandOutput } from "./commands/CopyObjectCommand";
9292
import { CreateBucketCommandInput, CreateBucketCommandOutput } from "./commands/CreateBucketCommand";
93+
import {
94+
CreateBucketMetadataTableConfigurationCommandInput,
95+
CreateBucketMetadataTableConfigurationCommandOutput,
96+
} from "./commands/CreateBucketMetadataTableConfigurationCommand";
9397
import {
9498
CreateMultipartUploadCommandInput,
9599
CreateMultipartUploadCommandOutput,
@@ -121,6 +125,10 @@ import {
121125
DeleteBucketLifecycleCommandInput,
122126
DeleteBucketLifecycleCommandOutput,
123127
} from "./commands/DeleteBucketLifecycleCommand";
128+
import {
129+
DeleteBucketMetadataTableConfigurationCommandInput,
130+
DeleteBucketMetadataTableConfigurationCommandOutput,
131+
} from "./commands/DeleteBucketMetadataTableConfigurationCommand";
124132
import {
125133
DeleteBucketMetricsConfigurationCommandInput,
126134
DeleteBucketMetricsConfigurationCommandOutput,
@@ -180,6 +188,10 @@ import {
180188
} from "./commands/GetBucketLifecycleConfigurationCommand";
181189
import { GetBucketLocationCommandInput, GetBucketLocationCommandOutput } from "./commands/GetBucketLocationCommand";
182190
import { GetBucketLoggingCommandInput, GetBucketLoggingCommandOutput } from "./commands/GetBucketLoggingCommand";
191+
import {
192+
GetBucketMetadataTableConfigurationCommandInput,
193+
GetBucketMetadataTableConfigurationCommandOutput,
194+
} from "./commands/GetBucketMetadataTableConfigurationCommand";
183195
import {
184196
GetBucketMetricsConfigurationCommandInput,
185197
GetBucketMetricsConfigurationCommandOutput,
@@ -357,6 +369,7 @@ export type ServiceInputTypes =
357369
| CompleteMultipartUploadCommandInput
358370
| CopyObjectCommandInput
359371
| CreateBucketCommandInput
372+
| CreateBucketMetadataTableConfigurationCommandInput
360373
| CreateMultipartUploadCommandInput
361374
| CreateSessionCommandInput
362375
| DeleteBucketAnalyticsConfigurationCommandInput
@@ -366,6 +379,7 @@ export type ServiceInputTypes =
366379
| DeleteBucketIntelligentTieringConfigurationCommandInput
367380
| DeleteBucketInventoryConfigurationCommandInput
368381
| DeleteBucketLifecycleCommandInput
382+
| DeleteBucketMetadataTableConfigurationCommandInput
369383
| DeleteBucketMetricsConfigurationCommandInput
370384
| DeleteBucketOwnershipControlsCommandInput
371385
| DeleteBucketPolicyCommandInput
@@ -386,6 +400,7 @@ export type ServiceInputTypes =
386400
| GetBucketLifecycleConfigurationCommandInput
387401
| GetBucketLocationCommandInput
388402
| GetBucketLoggingCommandInput
403+
| GetBucketMetadataTableConfigurationCommandInput
389404
| GetBucketMetricsConfigurationCommandInput
390405
| GetBucketNotificationConfigurationCommandInput
391406
| GetBucketOwnershipControlsCommandInput
@@ -457,6 +472,7 @@ export type ServiceOutputTypes =
457472
| CompleteMultipartUploadCommandOutput
458473
| CopyObjectCommandOutput
459474
| CreateBucketCommandOutput
475+
| CreateBucketMetadataTableConfigurationCommandOutput
460476
| CreateMultipartUploadCommandOutput
461477
| CreateSessionCommandOutput
462478
| DeleteBucketAnalyticsConfigurationCommandOutput
@@ -466,6 +482,7 @@ export type ServiceOutputTypes =
466482
| DeleteBucketIntelligentTieringConfigurationCommandOutput
467483
| DeleteBucketInventoryConfigurationCommandOutput
468484
| DeleteBucketLifecycleCommandOutput
485+
| DeleteBucketMetadataTableConfigurationCommandOutput
469486
| DeleteBucketMetricsConfigurationCommandOutput
470487
| DeleteBucketOwnershipControlsCommandOutput
471488
| DeleteBucketPolicyCommandOutput
@@ -486,6 +503,7 @@ export type ServiceOutputTypes =
486503
| GetBucketLifecycleConfigurationCommandOutput
487504
| GetBucketLocationCommandOutput
488505
| GetBucketLoggingCommandOutput
506+
| GetBucketMetadataTableConfigurationCommandOutput
489507
| GetBucketMetricsConfigurationCommandOutput
490508
| GetBucketNotificationConfigurationCommandOutput
491509
| GetBucketOwnershipControlsCommandOutput

clients/client-s3/src/commands/CreateBucketCommand.ts

+13-13
Original file line numberDiff line numberDiff line change
@@ -235,39 +235,39 @@ export interface CreateBucketCommandOutput extends CreateBucketOutput, __Metadat
235235
* <p>Base exception class for all service exceptions from S3 service.</p>
236236
*
237237
* @public
238-
* @example To create a bucket
238+
* @example To create a bucket in a specific region
239239
* ```javascript
240-
* // The following example creates a bucket.
240+
* // The following example creates a bucket. The request specifies an AWS region where to create the bucket.
241241
* const input = {
242-
* "Bucket": "examplebucket"
242+
* "Bucket": "examplebucket",
243+
* "CreateBucketConfiguration": {
244+
* "LocationConstraint": "eu-west-1"
245+
* }
243246
* };
244247
* const command = new CreateBucketCommand(input);
245248
* const response = await client.send(command);
246249
* /* response ==
247250
* {
248-
* "Location": "/examplebucket"
251+
* "Location": "http://examplebucket.<Region>.s3.amazonaws.com/"
249252
* }
250253
* *\/
251-
* // example id: to-create-a-bucket--1472851826060
254+
* // example id: to-create-a-bucket-in-a-specific-region-1483399072992
252255
* ```
253256
*
254-
* @example To create a bucket in a specific region
257+
* @example To create a bucket
255258
* ```javascript
256-
* // The following example creates a bucket. The request specifies an AWS region where to create the bucket.
259+
* // The following example creates a bucket.
257260
* const input = {
258-
* "Bucket": "examplebucket",
259-
* "CreateBucketConfiguration": {
260-
* "LocationConstraint": "eu-west-1"
261-
* }
261+
* "Bucket": "examplebucket"
262262
* };
263263
* const command = new CreateBucketCommand(input);
264264
* const response = await client.send(command);
265265
* /* response ==
266266
* {
267-
* "Location": "http://examplebucket.<Region>.s3.amazonaws.com/"
267+
* "Location": "/examplebucket"
268268
* }
269269
* *\/
270-
* // example id: to-create-a-bucket-in-a-specific-region-1483399072992
270+
* // example id: to-create-a-bucket--1472851826060
271271
* ```
272272
*
273273
*/

0 commit comments

Comments
 (0)