@aws-sdk/client-dynamodb 3.1102.0 → 3.1103.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/README.md +7 -0
  2. package/dist-cjs/index.js +327 -144
  3. package/dist-es/DynamoDB.js +2 -0
  4. package/dist-es/commandBuilder.js +5 -1
  5. package/dist-es/commands/SearchVectorsCommand.js +4 -0
  6. package/dist-es/commands/TransactGetItemsCommand.js +2 -2
  7. package/dist-es/commands/TransactWriteItemsCommand.js +2 -2
  8. package/dist-es/commands/index.js +1 -0
  9. package/dist-es/endpoint/bdd.js +136 -108
  10. package/dist-es/endpoint/endpointResolver.js +1 -0
  11. package/dist-es/models/enums.js +9 -0
  12. package/dist-es/schemas/schemas_0.js +153 -32
  13. package/dist-types/DynamoDB.d.ts +7 -0
  14. package/dist-types/DynamoDBClient.d.ts +3 -2
  15. package/dist-types/commandBuilder.d.ts +4 -0
  16. package/dist-types/commands/BatchExecuteStatementCommand.d.ts +6 -0
  17. package/dist-types/commands/BatchGetItemCommand.d.ts +6 -0
  18. package/dist-types/commands/BatchWriteItemCommand.d.ts +12 -7
  19. package/dist-types/commands/CreateTableCommand.d.ts +49 -0
  20. package/dist-types/commands/DeleteBackupCommand.d.ts +22 -0
  21. package/dist-types/commands/DeleteItemCommand.d.ts +6 -0
  22. package/dist-types/commands/DeleteTableCommand.d.ts +27 -0
  23. package/dist-types/commands/DescribeBackupCommand.d.ts +22 -0
  24. package/dist-types/commands/DescribeImportCommand.d.ts +22 -0
  25. package/dist-types/commands/DescribeTableCommand.d.ts +27 -0
  26. package/dist-types/commands/ExecuteStatementCommand.d.ts +6 -0
  27. package/dist-types/commands/ExecuteTransactionCommand.d.ts +10 -1
  28. package/dist-types/commands/GetItemCommand.d.ts +6 -0
  29. package/dist-types/commands/ImportTableCommand.d.ts +44 -0
  30. package/dist-types/commands/PutItemCommand.d.ts +6 -0
  31. package/dist-types/commands/QueryCommand.d.ts +6 -0
  32. package/dist-types/commands/RestoreTableFromBackupCommand.d.ts +49 -0
  33. package/dist-types/commands/RestoreTableToPointInTimeCommand.d.ts +49 -0
  34. package/dist-types/commands/ScanCommand.d.ts +6 -0
  35. package/dist-types/commands/SearchVectorsCommand.d.ts +295 -0
  36. package/dist-types/commands/TransactGetItemsCommand.d.ts +10 -1
  37. package/dist-types/commands/TransactWriteItemsCommand.d.ts +10 -1
  38. package/dist-types/commands/UpdateItemCommand.d.ts +6 -0
  39. package/dist-types/commands/UpdateTableCommand.d.ts +54 -0
  40. package/dist-types/commands/index.d.ts +1 -0
  41. package/dist-types/endpoint/EndpointParameters.d.ts +1 -0
  42. package/dist-types/models/enums.d.ts +25 -0
  43. package/dist-types/models/errors.d.ts +4 -1
  44. package/dist-types/models/models_0.d.ts +631 -4
  45. package/dist-types/schemas/schemas_0.d.ts +13 -0
  46. package/dist-types/ts3.4/DynamoDB.d.ts +17 -0
  47. package/dist-types/ts3.4/DynamoDBClient.d.ts +6 -0
  48. package/dist-types/ts3.4/commandBuilder.d.ts +1 -0
  49. package/dist-types/ts3.4/commands/SearchVectorsCommand.d.ts +38 -0
  50. package/dist-types/ts3.4/commands/index.d.ts +1 -0
  51. package/dist-types/ts3.4/endpoint/EndpointParameters.d.ts +1 -0
  52. package/dist-types/ts3.4/models/enums.d.ts +13 -0
  53. package/dist-types/ts3.4/models/models_0.d.ts +84 -0
  54. package/dist-types/ts3.4/schemas/schemas_0.d.ts +13 -0
  55. package/package.json +4 -4
@@ -1,4 +1,4 @@
1
- import type { ApproximateCreationDateTimePrecision, AttributeAction, BackupStatus, BackupType, BackupTypeFilter, BatchStatementErrorCodeEnum, BillingMode, ComparisonOperator, ConditionalOperator, ContinuousBackupsStatus, ContributorInsightsAction, ContributorInsightsMode, ContributorInsightsStatus, DestinationStatus, ExportFormat, ExportStatus, ExportType, ExportViewType, GlobalTableSettingsReplicationMode, GlobalTableStatus, ImportStatus, IndexStatus, InputCompressionType, InputFormat, KeyType, MultiRegionConsistency, PointInTimeRecoveryStatus, ProjectionType, ReplicaStatus, ReturnConsumedCapacity, ReturnItemCollectionMetrics, ReturnValue, ReturnValuesOnConditionCheckFailure, S3SseAlgorithm, ScalarAttributeType, Select, SSEStatus, SSEType, StreamViewType, TableClass, TableStatus, TimeToLiveStatus, WitnessStatus } from "./enums";
1
+ import type { ApproximateCreationDateTimePrecision, AttributeAction, BackupStatus, BackupType, BackupTypeFilter, BatchStatementErrorCodeEnum, BillingMode, ComparisonOperator, ConditionalOperator, ContinuousBackupsStatus, ContributorInsightsAction, ContributorInsightsMode, ContributorInsightsStatus, DestinationStatus, ExportFormat, ExportStatus, ExportType, ExportViewType, GlobalTableSettingsReplicationMode, GlobalTableStatus, ImportStatus, IndexStatus, InputCompressionType, InputFormat, KeyType, MultiRegionConsistency, PointInTimeRecoveryStatus, ProjectionType, ReplicaStatus, ReturnConsumedCapacity, ReturnItemCollectionMetrics, ReturnValue, ReturnValuesOnConditionCheckFailure, S3SseAlgorithm, ScalarAttributeType, SearchSchemaElementType, Select, SSEStatus, SSEType, StreamViewType, TableClass, TableStatus, TimeToLiveStatus, VectorDistanceFunction, WitnessStatus } from "./enums";
2
2
  /**
3
3
  * <p>Contains details of a table archival operation.</p>
4
4
  * @public
@@ -728,6 +728,86 @@ export interface TimeToLiveDescription {
728
728
  */
729
729
  AttributeName?: string | undefined;
730
730
  }
731
+ /**
732
+ * <p>An element in the search schema of a vector index.</p>
733
+ * @public
734
+ */
735
+ export interface SearchSchemaElement {
736
+ /**
737
+ * <p>The name of the attribute.</p>
738
+ * @public
739
+ */
740
+ AttributeName: string | undefined;
741
+ /**
742
+ * <p>The role of the attribute in the search schema. Valid values:</p>
743
+ * <ul>
744
+ * <li>
745
+ * <p>
746
+ * <code>HASH</code> - A partition key that partitions the vector index for
747
+ * independent scaling. When specified, you must provide this attribute's value
748
+ * in the <code>SearchConditionExpression</code>.</p>
749
+ * </li>
750
+ * <li>
751
+ * <p>
752
+ * <code>INLINE_FILTER</code> - An attribute projected into the vector index
753
+ * for filtering at the storage layer during search. Inline filters are
754
+ * optional in the <code>SearchConditionExpression</code>.</p>
755
+ * </li>
756
+ * </ul>
757
+ * @public
758
+ */
759
+ SearchSchemaElementType: SearchSchemaElementType | undefined;
760
+ }
761
+ /**
762
+ * <p>The definition of a vector attribute for a vector index.</p>
763
+ * @public
764
+ */
765
+ export interface VectorAttributeDefinition {
766
+ /**
767
+ * <p>The name of the vector attribute.</p>
768
+ * @public
769
+ */
770
+ AttributeName: string | undefined;
771
+ }
772
+ /**
773
+ * <p>Contains the configuration of a vector index as it existed at the time a backup
774
+ * was created.</p>
775
+ * @public
776
+ */
777
+ export interface VectorIndexInfo {
778
+ /**
779
+ * <p>The name of the vector index.</p>
780
+ * @public
781
+ */
782
+ IndexName?: string | undefined;
783
+ /**
784
+ * <p>The vector attribute configuration for the index.</p>
785
+ * @public
786
+ */
787
+ VectorAttribute?: VectorAttributeDefinition | undefined;
788
+ /**
789
+ * <p>The search schema that defines partition key and inline filter attributes for
790
+ * the vector index.</p>
791
+ * @public
792
+ */
793
+ SearchSchema?: SearchSchemaElement[] | undefined;
794
+ /**
795
+ * <p>Specifies attributes that are copied (projected) from the table into the vector
796
+ * index.</p>
797
+ * @public
798
+ */
799
+ Projection?: Projection | undefined;
800
+ /**
801
+ * <p>The number of dimensions in each vector.</p>
802
+ * @public
803
+ */
804
+ Dimensions?: number | undefined;
805
+ /**
806
+ * <p>The distance function used to calculate similarity between vectors.</p>
807
+ * @public
808
+ */
809
+ DistanceFunction?: VectorDistanceFunction | undefined;
810
+ }
731
811
  /**
732
812
  * <p>Contains the details of the features enabled on the table when the backup was created.
733
813
  * For example, LSIs, GSIs, streams, TTL. </p>
@@ -764,6 +844,13 @@ export interface SourceTableFeatureDetails {
764
844
  * @public
765
845
  */
766
846
  SSEDescription?: SSEDescription | undefined;
847
+ /**
848
+ * <p>The vector index properties for the table at the time the backup was created,
849
+ * including the index name, vector attribute, dimensions, distance function, search
850
+ * schema, and projection.</p>
851
+ * @public
852
+ */
853
+ VectorIndexes?: VectorIndexInfo[] | undefined;
767
854
  }
768
855
  /**
769
856
  * <p>Contains the description of the backup created for the table.</p>
@@ -885,6 +972,26 @@ export interface Capacity {
885
972
  */
886
973
  CapacityUnits?: number | undefined;
887
974
  }
975
+ /**
976
+ * <p>The consumed capacity for vector index operations, including vector search request bytes
977
+ * and vector write request bytes.</p>
978
+ * @public
979
+ */
980
+ export interface VectorCapacity {
981
+ /**
982
+ * <p>The number of vector search request bytes consumed by a
983
+ * <code>SearchVectors</code> operation.</p>
984
+ * @public
985
+ */
986
+ VectorSearchRequestBytes?: number | undefined;
987
+ /**
988
+ * <p>The number of vector write request bytes consumed when writing to a vector index.
989
+ * Reported for write operations that modify attributes indexed by a vector
990
+ * index.</p>
991
+ * @public
992
+ */
993
+ VectorWriteRequestBytes?: number | undefined;
994
+ }
888
995
  /**
889
996
  * <p>The capacity units consumed by an operation. The data returned includes the total
890
997
  * provisioned throughput consumed, along with statistics for the table and any indexes
@@ -932,6 +1039,13 @@ export interface ConsumedCapacity {
932
1039
  * @public
933
1040
  */
934
1041
  GlobalSecondaryIndexes?: Record<string, Capacity> | undefined;
1042
+ /**
1043
+ * <p>The amount of throughput consumed on each vector index affected by the operation.
1044
+ * Each entry contains <code>VectorWriteRequestBytes</code> (for write operations) or
1045
+ * <code>VectorSearchRequestBytes</code> (for search operations).</p>
1046
+ * @public
1047
+ */
1048
+ VectorIndexes?: Record<string, VectorCapacity> | undefined;
935
1049
  }
936
1050
  /**
937
1051
  * <p>Represents the specific reason why a DynamoDB request was throttled and the
@@ -1841,6 +1955,47 @@ export interface Tag {
1841
1955
  */
1842
1956
  Value: string | undefined;
1843
1957
  }
1958
+ /**
1959
+ * <p>Contains the configuration settings for a vector index, including the index name,
1960
+ * vector attribute, dimensions, distance function, search schema, and
1961
+ * projection.</p>
1962
+ * @public
1963
+ */
1964
+ export interface VectorIndex {
1965
+ /**
1966
+ * <p>The name of the vector index.</p>
1967
+ * @public
1968
+ */
1969
+ IndexName: string | undefined;
1970
+ /**
1971
+ * <p>The vector attribute configuration for the index.</p>
1972
+ * @public
1973
+ */
1974
+ VectorAttribute: VectorAttributeDefinition | undefined;
1975
+ /**
1976
+ * <p>The search schema that defines partition key and inline filter attributes for
1977
+ * the vector index.</p>
1978
+ * @public
1979
+ */
1980
+ SearchSchema?: SearchSchemaElement[] | undefined;
1981
+ /**
1982
+ * <p>Specifies attributes that are copied (projected) from the table into the vector
1983
+ * index.</p>
1984
+ * @public
1985
+ */
1986
+ Projection: Projection | undefined;
1987
+ /**
1988
+ * <p>The number of dimensions in each vector.</p>
1989
+ * @public
1990
+ */
1991
+ Dimensions: number | undefined;
1992
+ /**
1993
+ * <p>The distance function used to calculate similarity between vectors. Valid values:
1994
+ * <code>COSINE</code>, <code>EUCLIDEAN</code>, <code>DOT_PRODUCT</code>.</p>
1995
+ * @public
1996
+ */
1997
+ DistanceFunction: VectorDistanceFunction | undefined;
1998
+ }
1844
1999
  /**
1845
2000
  * <p>Represents the input of a <code>CreateTable</code> operation.</p>
1846
2001
  * @public
@@ -2178,6 +2333,50 @@ export interface CreateTableInput {
2178
2333
  * @public
2179
2334
  */
2180
2335
  GlobalTableSettingsReplicationMode?: GlobalTableSettingsReplicationMode | undefined;
2336
+ /**
2337
+ * <p>One or more vector indexes to be created on the table. Each vector index enables
2338
+ * similarity search on a vector attribute. Each element in the list consists of:</p>
2339
+ * <ul>
2340
+ * <li>
2341
+ * <p>
2342
+ * <code>IndexName</code> - The name of the vector index. Must be unique
2343
+ * within the table.</p>
2344
+ * </li>
2345
+ * <li>
2346
+ * <p>
2347
+ * <code>VectorAttribute</code> - The attribute that contains vector
2348
+ * embeddings. If multiple vector indexes reference the same attribute, they
2349
+ * must all use the same number of dimensions.</p>
2350
+ * </li>
2351
+ * <li>
2352
+ * <p>
2353
+ * <code>Dimensions</code> - The number of dimensions in each vector.</p>
2354
+ * </li>
2355
+ * <li>
2356
+ * <p>
2357
+ * <code>DistanceFunction</code> - The distance function used to calculate
2358
+ * similarity. Valid values: <code>COSINE</code>, <code>EUCLIDEAN</code>,
2359
+ * <code>DOT_PRODUCT</code>.</p>
2360
+ * </li>
2361
+ * <li>
2362
+ * <p>
2363
+ * <code>Projection</code> - Specifies attributes that are copied (projected)
2364
+ * from the table into the vector index. The total number of projected
2365
+ * non-key attributes is shared across the vector attribute (counts as 1)
2366
+ * and <code>INLINE_FILTER</code> search schema elements (each counts as 1).
2367
+ * <code>HASH</code> search schema elements do not count toward this
2368
+ * limit.</p>
2369
+ * </li>
2370
+ * <li>
2371
+ * <p>
2372
+ * <code>SearchSchema</code> - (Optional) Defines the partition key
2373
+ * (<code>HASH</code>) and inline filter (<code>INLINE_FILTER</code>) attributes
2374
+ * for the vector index.</p>
2375
+ * </li>
2376
+ * </ul>
2377
+ * @public
2378
+ */
2379
+ VectorIndexes?: VectorIndex[] | undefined;
2181
2380
  }
2182
2381
  /**
2183
2382
  * <p>Represents the provisioned throughput settings for the table, consisting of read and
@@ -2209,12 +2408,18 @@ export interface ProvisionedThroughputDescription {
2209
2408
  * effort than strongly consistent reads, so a setting of 50 <code>ReadCapacityUnits</code>
2210
2409
  * per second provides 100 eventually consistent <code>ReadCapacityUnits</code> per
2211
2410
  * second.</p>
2411
+ * <p>For a table or global secondary index that uses on-demand capacity mode
2412
+ * (<code>PAY_PER_REQUEST</code>), this value is <code>0</code>, because on-demand mode
2413
+ * does not use provisioned throughput.</p>
2212
2414
  * @public
2213
2415
  */
2214
2416
  ReadCapacityUnits?: number | undefined;
2215
2417
  /**
2216
2418
  * <p>The maximum number of writes consumed per second before DynamoDB returns a
2217
2419
  * <code>ThrottlingException</code>.</p>
2420
+ * <p>For a table or global secondary index that uses on-demand capacity mode
2421
+ * (<code>PAY_PER_REQUEST</code>), this value is <code>0</code>, because on-demand mode
2422
+ * does not use provisioned throughput.</p>
2218
2423
  * @public
2219
2424
  */
2220
2425
  WriteCapacityUnits?: number | undefined;
@@ -2450,6 +2655,90 @@ export interface RestoreSummary {
2450
2655
  */
2451
2656
  RestoreInProgress: boolean | undefined;
2452
2657
  }
2658
+ /**
2659
+ * <p>Contains the current state and configuration of a vector index, including its
2660
+ * status, size, item count, and the settings specified when the index was
2661
+ * created.</p>
2662
+ * @public
2663
+ */
2664
+ export interface VectorIndexDescription {
2665
+ /**
2666
+ * <p>The name of the vector index.</p>
2667
+ * @public
2668
+ */
2669
+ IndexName?: string | undefined;
2670
+ /**
2671
+ * <p>The search schema that defines partition key and inline filter attributes for
2672
+ * the vector index.</p>
2673
+ * @public
2674
+ */
2675
+ SearchSchema?: SearchSchemaElement[] | undefined;
2676
+ /**
2677
+ * <p>Specifies attributes that are copied (projected) from the table into the vector
2678
+ * index.</p>
2679
+ * @public
2680
+ */
2681
+ Projection?: Projection | undefined;
2682
+ /**
2683
+ * <p>The vector attribute configuration for the index.</p>
2684
+ * @public
2685
+ */
2686
+ VectorAttribute?: VectorAttributeDefinition | undefined;
2687
+ /**
2688
+ * <p>The number of dimensions in each vector.</p>
2689
+ * @public
2690
+ */
2691
+ Dimensions?: number | undefined;
2692
+ /**
2693
+ * <p>The distance function used to calculate similarity between vectors.</p>
2694
+ * @public
2695
+ */
2696
+ DistanceFunction?: VectorDistanceFunction | undefined;
2697
+ /**
2698
+ * <p>The current state of the vector index:</p>
2699
+ * <ul>
2700
+ * <li>
2701
+ * <p>
2702
+ * <code>CREATING</code> - The index is being created.</p>
2703
+ * </li>
2704
+ * <li>
2705
+ * <p>
2706
+ * <code>ACTIVE</code> - The index is ready for use.</p>
2707
+ * </li>
2708
+ * <li>
2709
+ * <p>
2710
+ * <code>DELETING</code> - The index is being deleted.</p>
2711
+ * </li>
2712
+ * </ul>
2713
+ * @public
2714
+ */
2715
+ IndexStatus?: IndexStatus | undefined;
2716
+ /**
2717
+ * <p>Specifies whether the index is currently backfilling. During backfill,
2718
+ * <code>SearchVectors</code> operations might return incomplete results.</p>
2719
+ * @public
2720
+ */
2721
+ Backfilling?: boolean | undefined;
2722
+ /**
2723
+ * <p>The total size of the vector index, in bytes. Amazon DynamoDB updates this value
2724
+ * approximately every six hours. Recent changes might not be reflected in this
2725
+ * value.</p>
2726
+ * @public
2727
+ */
2728
+ IndexSizeBytes?: number | undefined;
2729
+ /**
2730
+ * <p>The number of items indexed in the vector index. Amazon DynamoDB updates this
2731
+ * value approximately every six hours. Recent changes might not be reflected in
2732
+ * this value.</p>
2733
+ * @public
2734
+ */
2735
+ ItemCount?: number | undefined;
2736
+ /**
2737
+ * <p>The Amazon Resource Name (ARN) that uniquely identifies the vector index.</p>
2738
+ * @public
2739
+ */
2740
+ IndexArn?: string | undefined;
2741
+ }
2453
2742
  /**
2454
2743
  * <p>Represents the properties of a table.</p>
2455
2744
  * @public
@@ -2588,7 +2877,8 @@ export interface TableDescription {
2588
2877
  */
2589
2878
  TableArn?: string | undefined;
2590
2879
  /**
2591
- * <p>Unique identifier for the table for which the backup was created. </p>
2880
+ * <p>A unique identifier for the table, in UUID format, generated by DynamoDB when the
2881
+ * table is created.</p>
2592
2882
  * @public
2593
2883
  */
2594
2884
  TableId?: string | undefined;
@@ -2925,6 +3215,72 @@ export interface TableDescription {
2925
3215
  * @public
2926
3216
  */
2927
3217
  MultiRegionConsistency?: MultiRegionConsistency | undefined;
3218
+ /**
3219
+ * <p>The vector indexes, if any, on the table. Each element is composed of:</p>
3220
+ * <ul>
3221
+ * <li>
3222
+ * <p>
3223
+ * <code>IndexName</code> - The name of the vector index.</p>
3224
+ * </li>
3225
+ * <li>
3226
+ * <p>
3227
+ * <code>IndexStatus</code> - The current status of the vector index:
3228
+ * <code>CREATING</code>, <code>ACTIVE</code>, or
3229
+ * <code>DELETING</code>.</p>
3230
+ * </li>
3231
+ * <li>
3232
+ * <p>
3233
+ * <code>Backfilling</code> - Specifies whether the index is currently
3234
+ * backfilling. During backfill, <code>SearchVectors</code> operations might
3235
+ * return incomplete results.</p>
3236
+ * </li>
3237
+ * <li>
3238
+ * <p>
3239
+ * <code>VectorAttribute</code> - The attribute that contains vector
3240
+ * embeddings.</p>
3241
+ * </li>
3242
+ * <li>
3243
+ * <p>
3244
+ * <code>Dimensions</code> - The number of dimensions in each
3245
+ * vector.</p>
3246
+ * </li>
3247
+ * <li>
3248
+ * <p>
3249
+ * <code>DistanceFunction</code> - The distance function used to calculate
3250
+ * similarity (<code>COSINE</code>, <code>EUCLIDEAN</code>, or
3251
+ * <code>DOT_PRODUCT</code>).</p>
3252
+ * </li>
3253
+ * <li>
3254
+ * <p>
3255
+ * <code>SearchSchema</code> - The partition key and inline filter
3256
+ * attributes for the vector index.</p>
3257
+ * </li>
3258
+ * <li>
3259
+ * <p>
3260
+ * <code>Projection</code> - Specifies attributes that are copied
3261
+ * (projected) from the table into the vector index.</p>
3262
+ * </li>
3263
+ * <li>
3264
+ * <p>
3265
+ * <code>IndexArn</code> - The Amazon Resource Name (ARN) that uniquely
3266
+ * identifies the index.</p>
3267
+ * </li>
3268
+ * <li>
3269
+ * <p>
3270
+ * <code>IndexSizeBytes</code> - The total size of the vector index, in
3271
+ * bytes. Amazon DynamoDB updates this value approximately every six hours.
3272
+ * Recent changes might not be reflected in this value.</p>
3273
+ * </li>
3274
+ * <li>
3275
+ * <p>
3276
+ * <code>ItemCount</code> - The number of items indexed in the vector
3277
+ * index. Amazon DynamoDB updates this value approximately every six hours.
3278
+ * Recent changes might not be reflected in this value.</p>
3279
+ * </li>
3280
+ * </ul>
3281
+ * @public
3282
+ */
3283
+ VectorIndexes?: VectorIndexDescription[] | undefined;
2928
3284
  }
2929
3285
  /**
2930
3286
  * <p>Represents the output of a <code>CreateTable</code> operation.</p>
@@ -2937,6 +3293,47 @@ export interface CreateTableOutput {
2937
3293
  */
2938
3294
  TableDescription?: TableDescription | undefined;
2939
3295
  }
3296
+ /**
3297
+ * <p>A new vector index to be added to a table.</p>
3298
+ * @public
3299
+ */
3300
+ export interface CreateVectorIndexAction {
3301
+ /**
3302
+ * <p>The name of the vector index. Must be unique within the table.</p>
3303
+ * @public
3304
+ */
3305
+ IndexName: string | undefined;
3306
+ /**
3307
+ * <p>The attribute that contains vector embeddings. If multiple vector indexes
3308
+ * reference the same attribute, they must all use the same number of
3309
+ * dimensions.</p>
3310
+ * @public
3311
+ */
3312
+ VectorAttribute: VectorAttributeDefinition | undefined;
3313
+ /**
3314
+ * <p>The partition key and inline filter attribute definitions for the vector
3315
+ * index.</p>
3316
+ * @public
3317
+ */
3318
+ SearchSchema?: SearchSchemaElement[] | undefined;
3319
+ /**
3320
+ * <p>Specifies attributes that are copied (projected) from the table into the vector
3321
+ * index.</p>
3322
+ * @public
3323
+ */
3324
+ Projection: Projection | undefined;
3325
+ /**
3326
+ * <p>The number of dimensions in each vector.</p>
3327
+ * @public
3328
+ */
3329
+ Dimensions: number | undefined;
3330
+ /**
3331
+ * <p>The distance function used to calculate similarity. Valid values:
3332
+ * <code>COSINE</code>, <code>EUCLIDEAN</code>, <code>DOT_PRODUCT</code>.</p>
3333
+ * @public
3334
+ */
3335
+ DistanceFunction: VectorDistanceFunction | undefined;
3336
+ }
2940
3337
  /**
2941
3338
  * <p> Processing options for the CSV file being imported. </p>
2942
3339
  * @public
@@ -3080,6 +3477,17 @@ export interface DeleteTableOutput {
3080
3477
  */
3081
3478
  TableDescription?: TableDescription | undefined;
3082
3479
  }
3480
+ /**
3481
+ * <p>A vector index to be removed from a table.</p>
3482
+ * @public
3483
+ */
3484
+ export interface DeleteVectorIndexAction {
3485
+ /**
3486
+ * <p>The name of the vector index to delete.</p>
3487
+ * @public
3488
+ */
3489
+ IndexName: string | undefined;
3490
+ }
3083
3491
  /**
3084
3492
  * @public
3085
3493
  */
@@ -3282,6 +3690,14 @@ export interface IncrementalExportSpecification {
3282
3690
  * <p>The view type that was chosen for the export. Valid values are
3283
3691
  * <code>NEW_AND_OLD_IMAGES</code> and <code>NEW_IMAGES</code>. The default value is
3284
3692
  * <code>NEW_AND_OLD_IMAGES</code>.</p>
3693
+ * <p>
3694
+ * <code>NEW_AND_OLD_IMAGES</code> exports both the new and old images of each changed
3695
+ * item, while <code>NEW_IMAGES</code> exports only the new (latest) image. The view type
3696
+ * you choose determines the structure of each item in the output for
3697
+ * <code>insert</code>, <code>update</code>, and <code>delete</code> operations. For
3698
+ * details and examples of how each view type shapes the export output, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/S3DataExport.Output.html">DynamoDB table
3699
+ * export output format</a> in the <i>Amazon DynamoDB Developer
3700
+ * Guide</i>.</p>
3285
3701
  * @public
3286
3702
  */
3287
3703
  ExportViewType?: ExportViewType | undefined;
@@ -3705,6 +4121,12 @@ export interface TableCreationParameters {
3705
4121
  * @public
3706
4122
  */
3707
4123
  GlobalSecondaryIndexes?: GlobalSecondaryIndex[] | undefined;
4124
+ /**
4125
+ * <p>The vector indexes of the table to be created as part of the import
4126
+ * operation.</p>
4127
+ * @public
4128
+ */
4129
+ VectorIndexes?: VectorIndex[] | undefined;
3708
4130
  }
3709
4131
  /**
3710
4132
  * <p> Represents the properties of the table being imported into.
@@ -4681,8 +5103,7 @@ export interface ImportSummary {
4681
5103
  */
4682
5104
  StartTime?: Date | undefined;
4683
5105
  /**
4684
- * <p> The time at which this import task ended. (Does this include the successful complete
4685
- * creation of the table it was imported to?) </p>
5106
+ * <p> The time at which this import task ended. </p>
4686
5107
  * @public
4687
5108
  */
4688
5109
  EndTime?: Date | undefined;
@@ -4894,6 +5315,14 @@ export interface RestoreTableFromBackupInput {
4894
5315
  * @public
4895
5316
  */
4896
5317
  SSESpecificationOverride?: SSESpecification | undefined;
5318
+ /**
5319
+ * <p>The vector indexes for the restored table. If not specified, all vector indexes
5320
+ * from the backup are restored. The indexes provided must match existing vector
5321
+ * indexes from the backup. You can choose to exclude some or all of the vector
5322
+ * indexes at the time of restore.</p>
5323
+ * @public
5324
+ */
5325
+ VectorIndexOverride?: VectorIndex[] | undefined;
4897
5326
  }
4898
5327
  /**
4899
5328
  * @public
@@ -4945,6 +5374,11 @@ export interface RestoreTableToPointInTimeInput {
4945
5374
  * <p>List of global secondary indexes for the restored table. The indexes provided should
4946
5375
  * match existing secondary indexes. You can choose to exclude some or all of the indexes
4947
5376
  * at the time of restore.</p>
5377
+ * <p>The <code>WarmThroughput</code> setting is not supported on global secondary indexes
5378
+ * when you use <code>RestoreTableToPointInTime</code>. Although <code>WarmThroughput</code>
5379
+ * appears in the shared index definition, including it in a
5380
+ * <code>GlobalSecondaryIndexOverride</code> entry causes the request to fail with a
5381
+ * validation error.</p>
4948
5382
  * @public
4949
5383
  */
4950
5384
  GlobalSecondaryIndexOverride?: GlobalSecondaryIndex[] | undefined;
@@ -4972,6 +5406,14 @@ export interface RestoreTableToPointInTimeInput {
4972
5406
  * @public
4973
5407
  */
4974
5408
  SSESpecificationOverride?: SSESpecification | undefined;
5409
+ /**
5410
+ * <p>The vector indexes for the restored table. If not specified, all vector indexes
5411
+ * from the source table are restored. The indexes provided must match existing
5412
+ * vector indexes from the source table. You can choose to exclude some or all of
5413
+ * the vector indexes at the time of restore.</p>
5414
+ * @public
5415
+ */
5416
+ VectorIndexOverride?: VectorIndex[] | undefined;
4975
5417
  }
4976
5418
  /**
4977
5419
  * @public
@@ -5589,6 +6031,22 @@ export interface ReplicationGroupUpdate {
5589
6031
  */
5590
6032
  Delete?: DeleteReplicationGroupMemberAction | undefined;
5591
6033
  }
6034
+ /**
6035
+ * <p>A vector index to be added to or removed from a table.</p>
6036
+ * @public
6037
+ */
6038
+ export interface VectorIndexUpdate {
6039
+ /**
6040
+ * <p>The configuration for creating a new vector index on the table.</p>
6041
+ * @public
6042
+ */
6043
+ Create?: CreateVectorIndexAction | undefined;
6044
+ /**
6045
+ * <p>The configuration for deleting an existing vector index from the table.</p>
6046
+ * @public
6047
+ */
6048
+ Delete?: DeleteVectorIndexAction | undefined;
6049
+ }
5592
6050
  /**
5593
6051
  * <p>Represents the input of an <code>UpdateTable</code> operation.</p>
5594
6052
  * @public
@@ -5771,6 +6229,16 @@ export interface UpdateTableInput {
5771
6229
  * @public
5772
6230
  */
5773
6231
  GlobalTableSettingsReplicationMode?: GlobalTableSettingsReplicationMode | undefined;
6232
+ /**
6233
+ * <p>A list of vector indexes to be added to or removed from the table. You can add or
6234
+ * remove one vector index for each <code>UpdateTable</code> operation.</p>
6235
+ * <p>To add a vector index, specify <code>IndexName</code>,
6236
+ * <code>VectorAttribute</code>, <code>Dimensions</code>,
6237
+ * <code>DistanceFunction</code>, and <code>Projection</code>. To remove a vector
6238
+ * index, specify only the <code>IndexName</code>.</p>
6239
+ * @public
6240
+ */
6241
+ VectorIndexUpdates?: VectorIndexUpdate[] | undefined;
5774
6242
  }
5775
6243
  /**
5776
6244
  * <p>Represents the output of an <code>UpdateTable</code> operation.</p>
@@ -6958,6 +7426,25 @@ export interface PutRequest {
6958
7426
  */
6959
7427
  Item: Record<string, AttributeValue> | undefined;
6960
7428
  }
7429
+ /**
7430
+ * <p>A single result from a <code>SearchVectors</code> operation.</p>
7431
+ * @public
7432
+ */
7433
+ export interface SearchResultItem {
7434
+ /**
7435
+ * <p>A map of attribute names to <code>AttributeValue</code> objects, representing the
7436
+ * projected attributes of the item returned by the vector search.</p>
7437
+ * @public
7438
+ */
7439
+ Item?: Record<string, AttributeValue> | undefined;
7440
+ /**
7441
+ * <p>The similarity score for this item relative to the search vector. The
7442
+ * interpretation depends on the distance function configured for the vector
7443
+ * index.</p>
7444
+ * @public
7445
+ */
7446
+ Score?: number | undefined;
7447
+ }
6961
7448
  /**
6962
7449
  * <p>Represents a set of primary keys and, for each key, the attributes to retrieve from
6963
7450
  * the table.</p>
@@ -7145,6 +7632,25 @@ export interface ExecuteTransactionOutput {
7145
7632
  */
7146
7633
  ConsumedCapacity?: ConsumedCapacity[] | undefined;
7147
7634
  }
7635
+ /**
7636
+ * @public
7637
+ */
7638
+ export interface SearchVectorsOutput {
7639
+ /**
7640
+ * <p>The capacity units consumed by the <code>SearchVectors</code> operation. Contains
7641
+ * <code>VectorSearchRequestBytes</code>, which represents the vector search capacity
7642
+ * consumed.</p>
7643
+ * @public
7644
+ */
7645
+ ConsumedCapacity?: VectorCapacity | undefined;
7646
+ /**
7647
+ * <p>A list of items returned by the vector similarity search, sorted by similarity
7648
+ * with the most similar item first. Each item contains the projected attributes and
7649
+ * a similarity score.</p>
7650
+ * @public
7651
+ */
7652
+ SearchResults?: SearchResultItem[] | undefined;
7653
+ }
7148
7654
  /**
7149
7655
  * @public
7150
7656
  */
@@ -7616,6 +8122,9 @@ export interface TransactWriteItemsOutput {
7616
8122
  * <p>The capacity units consumed by the entire <code>TransactWriteItems</code> operation.
7617
8123
  * The values of the list are ordered according to the ordering of the
7618
8124
  * <code>TransactItems</code> request parameter. </p>
8125
+ * <p>If the table has vector indexes, each element also includes a
8126
+ * <code>VectorIndexes</code> field with <code>VectorWriteRequestBytes</code> consumed
8127
+ * for each affected vector index.</p>
7619
8128
  * @public
7620
8129
  */
7621
8130
  ConsumedCapacity?: ConsumedCapacity[] | undefined;
@@ -7763,6 +8272,95 @@ export interface Put {
7763
8272
  */
7764
8273
  ReturnValuesOnConditionCheckFailure?: ReturnValuesOnConditionCheckFailure | undefined;
7765
8274
  }
8275
+ /**
8276
+ * @public
8277
+ */
8278
+ export interface SearchVectorsInput {
8279
+ /**
8280
+ * <p>The name or Amazon Resource Name (ARN) of the table containing the vector index.</p>
8281
+ * @public
8282
+ */
8283
+ TableName: string | undefined;
8284
+ /**
8285
+ * <p>The name of the vector index to search. The index must be in the
8286
+ * <code>ACTIVE</code> state.</p>
8287
+ * @public
8288
+ */
8289
+ IndexName: string | undefined;
8290
+ /**
8291
+ * <p>Determines the level of detail about either provisioned or on-demand throughput
8292
+ * consumption that is returned in the response:</p>
8293
+ * <ul>
8294
+ * <li>
8295
+ * <p>
8296
+ * <code>INDEXES</code> - The response includes the aggregate
8297
+ * <code>ConsumedCapacity</code> for the operation, together with
8298
+ * <code>ConsumedCapacity</code> for each table and secondary index that was
8299
+ * accessed.</p>
8300
+ * <p>Note that some operations, such as <code>GetItem</code> and
8301
+ * <code>BatchGetItem</code>, do not access any indexes at all. In these cases,
8302
+ * specifying <code>INDEXES</code> will only return <code>ConsumedCapacity</code>
8303
+ * information for table(s).</p>
8304
+ * </li>
8305
+ * <li>
8306
+ * <p>
8307
+ * <code>TOTAL</code> - The response includes only the aggregate
8308
+ * <code>ConsumedCapacity</code> for the operation.</p>
8309
+ * </li>
8310
+ * <li>
8311
+ * <p>
8312
+ * <code>NONE</code> - No <code>ConsumedCapacity</code> details are included in the
8313
+ * response.</p>
8314
+ * </li>
8315
+ * </ul>
8316
+ * @public
8317
+ */
8318
+ ReturnConsumedCapacity?: ReturnConsumedCapacity | undefined;
8319
+ /**
8320
+ * <p>One or more substitution tokens for attribute names in an expression. Use the
8321
+ * <code>#</code> character in an expression to dereference an attribute name.</p>
8322
+ * @public
8323
+ */
8324
+ ExpressionAttributeNames?: Record<string, string> | undefined;
8325
+ /**
8326
+ * <p>One or more values that can be substituted in an expression. Use the
8327
+ * <code>:</code> character in an expression to dereference an attribute value.</p>
8328
+ * @public
8329
+ */
8330
+ ExpressionAttributeValues?: Record<string, AttributeValue> | undefined;
8331
+ /**
8332
+ * <p>A string that identifies one or more attributes to retrieve from the index.
8333
+ * Separate attribute names with commas. If not specified, the operation returns all
8334
+ * attributes projected into the vector index.</p>
8335
+ * <p>Only attributes projected into the vector index can be retrieved.</p>
8336
+ * @public
8337
+ */
8338
+ ProjectionExpression?: string | undefined;
8339
+ /**
8340
+ * <p>The search vector to compare against the indexed vectors. Each element is a 32-bit
8341
+ * IEEE-754 floating point number, provided in DynamoDB list format.</p>
8342
+ * <p>The number of dimensions must match the number of dimensions configured for the
8343
+ * vector index.</p>
8344
+ * @public
8345
+ */
8346
+ SearchVector: AttributeValue[] | undefined;
8347
+ /**
8348
+ * <p>A condition expression used to filter the vector search results. The expression can
8349
+ * reference attributes defined in the vector index search schema, including
8350
+ * <code>HASH</code> and <code>INLINE_FILTER</code> key elements.</p>
8351
+ * <p>Only the equality operator (<code>=</code>) is supported for <code>HASH</code>
8352
+ * attributes. Comparison and range operators are supported for
8353
+ * <code>INLINE_FILTER</code> attributes. Only top-level attributes from the search
8354
+ * schema can be referenced.</p>
8355
+ * @public
8356
+ */
8357
+ SearchConditionExpression?: string | undefined;
8358
+ /**
8359
+ * <p>The number of most similar results to return.</p>
8360
+ * @public
8361
+ */
8362
+ TopK: number | undefined;
8363
+ }
7766
8364
  /**
7767
8365
  * <p>Represents a request to perform an <code>UpdateItem</code> operation.</p>
7768
8366
  * @public
@@ -7852,6 +8450,9 @@ export interface DeleteItemOutput {
7852
8450
  * only returned if the <code>ReturnConsumedCapacity</code> parameter was specified. For
7853
8451
  * more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/provisioned-capacity-mode.html">Provisioned capacity mode</a> in the <i>Amazon DynamoDB Developer
7854
8452
  * Guide</i>.</p>
8453
+ * <p>If the table has vector indexes, the response includes a
8454
+ * <code>VectorIndexes</code> field with <code>VectorWriteRequestBytes</code> consumed
8455
+ * for each affected vector index.</p>
7855
8456
  * @public
7856
8457
  */
7857
8458
  ConsumedCapacity?: ConsumedCapacity | undefined;
@@ -7942,6 +8543,9 @@ export interface PutItemOutput {
7942
8543
  * returned if the <code>ReturnConsumedCapacity</code> parameter was specified. For more
7943
8544
  * information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/read-write-operations.html#write-operation-consumption">Capacity unity consumption for write operations</a> in the <i>Amazon
7944
8545
  * DynamoDB Developer Guide</i>.</p>
8546
+ * <p>If the table has vector indexes, the response includes a
8547
+ * <code>VectorIndexes</code> field with <code>VectorWriteRequestBytes</code> consumed
8548
+ * for each affected vector index.</p>
7945
8549
  * @public
7946
8550
  */
7947
8551
  ConsumedCapacity?: ConsumedCapacity | undefined;
@@ -8104,6 +8708,9 @@ export interface UpdateItemOutput {
8104
8708
  * only returned if the <code>ReturnConsumedCapacity</code> parameter was specified. For
8105
8709
  * more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/read-write-operations.html#write-operation-consumption">Capacity unity consumption for write operations</a> in the <i>Amazon
8106
8710
  * DynamoDB Developer Guide</i>.</p>
8711
+ * <p>If the table has vector indexes, the response includes a
8712
+ * <code>VectorIndexes</code> field with <code>VectorWriteRequestBytes</code> consumed
8713
+ * for each affected vector index.</p>
8107
8714
  * @public
8108
8715
  */
8109
8716
  ConsumedCapacity?: ConsumedCapacity | undefined;
@@ -8870,6 +9477,23 @@ export interface PutItemInput {
8870
9477
  * <p>If you specify any attributes that are part of an index key, then the data types for
8871
9478
  * those attributes must match those of the schema in the table's attribute
8872
9479
  * definition.</p>
9480
+ * <p>If the table has vector indexes, the following validations apply to write
9481
+ * operations. A violation of any of these constraints results in a
9482
+ * <code>ValidationException</code>:</p>
9483
+ * <ul>
9484
+ * <li>
9485
+ * <p>The vector attribute must be a list of numbers with dimensions matching the
9486
+ * index configuration.</p>
9487
+ * </li>
9488
+ * <li>
9489
+ * <p>Vector values must fit in 32-bit IEEE-754 floating point format
9490
+ * (f32).</p>
9491
+ * </li>
9492
+ * <li>
9493
+ * <p>Partition key and inline filter attributes defined in the search schema
9494
+ * must have data types matching the index schema definition.</p>
9495
+ * </li>
9496
+ * </ul>
8873
9497
  * <p>Empty String and Binary attribute values are allowed. Attribute values of type String
8874
9498
  * and Binary must have a length greater than zero if the attribute is used as a key
8875
9499
  * attribute for a table or index.</p>
@@ -9575,6 +10199,9 @@ export interface BatchWriteItemOutput {
9575
10199
  * <code>CapacityUnits</code> - The total number of capacity units consumed.</p>
9576
10200
  * </li>
9577
10201
  * </ul>
10202
+ * <p>If the table has vector indexes, each element also includes a
10203
+ * <code>VectorIndexes</code> field with <code>VectorWriteRequestBytes</code> consumed
10204
+ * for each affected vector index.</p>
9578
10205
  * @public
9579
10206
  */
9580
10207
  ConsumedCapacity?: ConsumedCapacity[] | undefined;