aws-sdk-sagemakerfeaturestoreruntime 1.64.0 → 1.66.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: cd14ee0c3e2073590f0abf0c441471532221a6f1a5a85f929ec11fff562d512e
4
- data.tar.gz: 33266c00de10228678b45de30f5ee8059eb48a60c30e1575c6bc8cef3e1d0e9b
3
+ metadata.gz: cb1067b098d127c12d4f4a21c1eaca462c6185789b761ddbdd41ff01e32f08be
4
+ data.tar.gz: 6144b26aaa2e9283a38d96d706803ca2a41288a0263def07da63f30066e9b18a
5
5
  SHA512:
6
- metadata.gz: c17dcbac50942c038dc017dc4e32e90ec6141c59f401d42bf2072013aa8d6b5ab48a01af03e96349b7a997408f082935990e39df332499868e1e37625ffb017d
7
- data.tar.gz: 6ab8dfa9fa9b6faf3bac488ed2b5720b3061e9acd055f2f5bd9200af8340c75f5e6e599041ebbb82f4268b0a8c9d93290e002f7a78a8eb1b23ae18aa333ca114
6
+ metadata.gz: eb98b645767c59b1536bc9f75b3d4c7ade6e5a7d647b8b53d9f930169f8f95f3d399d29f62de8a371a073389ec75dbe426d7beae5f65eb089ef0593fc7eec226
7
+ data.tar.gz: 7302b6d2971fc97a69a8564b2a2f3ee9938b5d6585c42f60df1b44acde0ba03bd8d6a5b17820a2d0bd929cc1fffedae67f1b31c67062440e80cb62799229023f
data/CHANGELOG.md CHANGED
@@ -1,6 +1,16 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.66.0 (2026-06-29)
5
+ ------------------
6
+
7
+ * Feature - Add support for ListRecords and BatchWriteRecord APIs to Feature Store.
8
+
9
+ 1.65.0 (2026-05-27)
10
+ ------------------
11
+
12
+ * Feature - Adding new BDD representation of endpoint ruleset
13
+
4
14
  1.64.0 (2026-05-21)
5
15
  ------------------
6
16
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.64.0
1
+ 1.66.0
@@ -537,6 +537,125 @@ module Aws::SageMakerFeatureStoreRuntime
537
537
  req.send_request(options)
538
538
  end
539
539
 
540
+ # Writes a batch of `Records` to one or more `FeatureGroup`s. Use this
541
+ # API for bulk ingestion of records into the `OnlineStore` and
542
+ # `OfflineStore`.
543
+ #
544
+ # You can set the ingested records to expire at a given time to live
545
+ # (TTL) duration after the record's event time by specifying the
546
+ # `TtlDuration` parameter. A request level `TtlDuration` applies to all
547
+ # entries that do not specify their own `TtlDuration`.
548
+ #
549
+ # @option params [required, Array<Types::BatchWriteRecordEntry>] :entries
550
+ # A list of records to write. Each entry specifies the `FeatureGroup`,
551
+ # the record data, and optionally target stores and a TTL duration.
552
+ #
553
+ # @option params [Types::TtlDuration] :ttl_duration
554
+ # Time to live duration applied to all entries in the batch that do not
555
+ # specify their own `TtlDuration`; `ExpiresAt` = `EventTime` +
556
+ # `TtlDuration`. For information on HardDelete, see the
557
+ # [DeleteRecord][1] API in the Amazon SageMaker API Reference guide.
558
+ #
559
+ #
560
+ #
561
+ # [1]: https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_feature_store_DeleteRecord.html
562
+ #
563
+ # @return [Types::BatchWriteRecordResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
564
+ #
565
+ # * {Types::BatchWriteRecordResponse#errors #errors} => Array&lt;Types::BatchWriteRecordError&gt;
566
+ # * {Types::BatchWriteRecordResponse#unprocessed_entries #unprocessed_entries} => Array&lt;Types::BatchWriteRecordEntry&gt;
567
+ #
568
+ #
569
+ # @example Example: Write records to multiple feature groups
570
+ #
571
+ # resp = client.batch_write_record({
572
+ # entries: [
573
+ # {
574
+ # feature_group_name: "my-feature-group",
575
+ # record: [
576
+ # {
577
+ # feature_name: "customer_id",
578
+ # value_as_string: "cust-001",
579
+ # },
580
+ # {
581
+ # feature_name: "age",
582
+ # value_as_string: "25",
583
+ # },
584
+ # ],
585
+ # },
586
+ # ],
587
+ # })
588
+ #
589
+ # resp.to_h outputs the following:
590
+ # {
591
+ # errors: [
592
+ # ],
593
+ # unprocessed_entries: [
594
+ # ],
595
+ # }
596
+ #
597
+ # @example Request syntax with placeholder values
598
+ #
599
+ # resp = client.batch_write_record({
600
+ # entries: [ # required
601
+ # {
602
+ # feature_group_name: "FeatureGroupNameOrArn", # required
603
+ # record: [ # required
604
+ # {
605
+ # feature_name: "FeatureName", # required
606
+ # value_as_string: "ValueAsString",
607
+ # value_as_string_list: ["ValueAsString"],
608
+ # },
609
+ # ],
610
+ # target_stores: ["OnlineStore"], # accepts OnlineStore, OfflineStore
611
+ # ttl_duration: {
612
+ # unit: "Seconds", # required, accepts Seconds, Minutes, Hours, Days, Weeks
613
+ # value: 1, # required
614
+ # },
615
+ # },
616
+ # ],
617
+ # ttl_duration: {
618
+ # unit: "Seconds", # required, accepts Seconds, Minutes, Hours, Days, Weeks
619
+ # value: 1, # required
620
+ # },
621
+ # })
622
+ #
623
+ # @example Response structure
624
+ #
625
+ # resp.errors #=> Array
626
+ # resp.errors[0].entry.feature_group_name #=> String
627
+ # resp.errors[0].entry.record #=> Array
628
+ # resp.errors[0].entry.record[0].feature_name #=> String
629
+ # resp.errors[0].entry.record[0].value_as_string #=> String
630
+ # resp.errors[0].entry.record[0].value_as_string_list #=> Array
631
+ # resp.errors[0].entry.record[0].value_as_string_list[0] #=> String
632
+ # resp.errors[0].entry.target_stores #=> Array
633
+ # resp.errors[0].entry.target_stores[0] #=> String, one of "OnlineStore", "OfflineStore"
634
+ # resp.errors[0].entry.ttl_duration.unit #=> String, one of "Seconds", "Minutes", "Hours", "Days", "Weeks"
635
+ # resp.errors[0].entry.ttl_duration.value #=> Integer
636
+ # resp.errors[0].error_code #=> String
637
+ # resp.errors[0].error_message #=> String
638
+ # resp.unprocessed_entries #=> Array
639
+ # resp.unprocessed_entries[0].feature_group_name #=> String
640
+ # resp.unprocessed_entries[0].record #=> Array
641
+ # resp.unprocessed_entries[0].record[0].feature_name #=> String
642
+ # resp.unprocessed_entries[0].record[0].value_as_string #=> String
643
+ # resp.unprocessed_entries[0].record[0].value_as_string_list #=> Array
644
+ # resp.unprocessed_entries[0].record[0].value_as_string_list[0] #=> String
645
+ # resp.unprocessed_entries[0].target_stores #=> Array
646
+ # resp.unprocessed_entries[0].target_stores[0] #=> String, one of "OnlineStore", "OfflineStore"
647
+ # resp.unprocessed_entries[0].ttl_duration.unit #=> String, one of "Seconds", "Minutes", "Hours", "Days", "Weeks"
648
+ # resp.unprocessed_entries[0].ttl_duration.value #=> Integer
649
+ #
650
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sagemaker-featurestore-runtime-2020-07-01/BatchWriteRecord AWS API Documentation
651
+ #
652
+ # @overload batch_write_record(params = {})
653
+ # @param [Hash] params ({})
654
+ def batch_write_record(params = {}, options = {})
655
+ req = build_request(:batch_write_record, params)
656
+ req.send_request(options)
657
+ end
658
+
540
659
  # Deletes a `Record` from a `FeatureGroup` in the `OnlineStore`. Feature
541
660
  # Store supports both `SoftDelete` and `HardDelete`. For `SoftDelete`
542
661
  # (default), feature columns are set to `null` and the record is no
@@ -570,7 +689,7 @@ module Aws::SageMakerFeatureStoreRuntime
570
689
  #
571
690
  #
572
691
  #
573
- # [1]: https://docs.aws.amazon.com/sagemaker/latest/dg/feature-store-delete-records-offline-store.html#feature-store-delete-records-offline-store
692
+ # [1]: https://docs.aws.amazon.com/sagemaker/latest/dg/feature-store-delete-records.html#feature-store-delete-records-offline-store
574
693
  #
575
694
  # @option params [required, String] :feature_group_name
576
695
  # The name or Amazon Resource Name (ARN) of the feature group to delete
@@ -668,6 +787,75 @@ module Aws::SageMakerFeatureStoreRuntime
668
787
  req.send_request(options)
669
788
  end
670
789
 
790
+ # Lists the `RecordIdentifier` values of all records stored in a
791
+ # `FeatureGroup`'s `OnlineStore`. This enables you to discover which
792
+ # records exist without retrieving the full record data.
793
+ #
794
+ # @option params [required, String] :feature_group_name
795
+ # The name or Amazon Resource Name (ARN) of the feature group to list
796
+ # records from.
797
+ #
798
+ # @option params [Integer] :max_results
799
+ # The maximum number of record identifiers to return in a single page of
800
+ # results. For the `InMemory` tier, this value is a hint and not a
801
+ # strict requirement. The response may contain more or fewer results
802
+ # than the specified `MaxResults`.
803
+ #
804
+ # @option params [String] :next_token
805
+ # A token to resume pagination of `ListRecords` results.
806
+ #
807
+ # @option params [Boolean] :include_soft_deleted_records
808
+ # If set to `true`, the result includes records that have been soft
809
+ # deleted.
810
+ #
811
+ # @return [Types::ListRecordsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
812
+ #
813
+ # * {Types::ListRecordsResponse#record_identifiers #record_identifiers} => Array&lt;String&gt;
814
+ # * {Types::ListRecordsResponse#next_token #next_token} => String
815
+ #
816
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
817
+ #
818
+ #
819
+ # @example Example: List record identifiers from a feature group
820
+ #
821
+ # resp = client.list_records({
822
+ # feature_group_name: "my-feature-group",
823
+ # max_results: 10,
824
+ # })
825
+ #
826
+ # resp.to_h outputs the following:
827
+ # {
828
+ # next_token: "eyJsYXN0RXZhbHVhdGVkS2V5IjoiYWJjMTIzIn0=",
829
+ # record_identifiers: [
830
+ # "record-id-1",
831
+ # "record-id-2",
832
+ # ],
833
+ # }
834
+ #
835
+ # @example Request syntax with placeholder values
836
+ #
837
+ # resp = client.list_records({
838
+ # feature_group_name: "FeatureGroupNameOrArn", # required
839
+ # max_results: 1,
840
+ # next_token: "ListRecordsNextToken",
841
+ # include_soft_deleted_records: false,
842
+ # })
843
+ #
844
+ # @example Response structure
845
+ #
846
+ # resp.record_identifiers #=> Array
847
+ # resp.record_identifiers[0] #=> String
848
+ # resp.next_token #=> String
849
+ #
850
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sagemaker-featurestore-runtime-2020-07-01/ListRecords AWS API Documentation
851
+ #
852
+ # @overload list_records(params = {})
853
+ # @param [Hash] params ({})
854
+ def list_records(params = {}, options = {})
855
+ req = build_request(:list_records, params)
856
+ req.send_request(options)
857
+ end
858
+
671
859
  # The `PutRecord` API is used to ingest a list of `Records` into your
672
860
  # feature group.
673
861
  #
@@ -764,7 +952,7 @@ module Aws::SageMakerFeatureStoreRuntime
764
952
  tracer: tracer
765
953
  )
766
954
  context[:gem_name] = 'aws-sdk-sagemakerfeaturestoreruntime'
767
- context[:gem_version] = '1.64.0'
955
+ context[:gem_version] = '1.66.0'
768
956
  Seahorse::Client::Request.new(handlers, context)
769
957
  end
770
958
 
@@ -23,6 +23,13 @@ module Aws::SageMakerFeatureStoreRuntime
23
23
  BatchGetRecordResponse = Shapes::StructureShape.new(name: 'BatchGetRecordResponse')
24
24
  BatchGetRecordResultDetail = Shapes::StructureShape.new(name: 'BatchGetRecordResultDetail')
25
25
  BatchGetRecordResultDetails = Shapes::ListShape.new(name: 'BatchGetRecordResultDetails')
26
+ BatchWriteRecordEntries = Shapes::ListShape.new(name: 'BatchWriteRecordEntries')
27
+ BatchWriteRecordEntry = Shapes::StructureShape.new(name: 'BatchWriteRecordEntry')
28
+ BatchWriteRecordError = Shapes::StructureShape.new(name: 'BatchWriteRecordError')
29
+ BatchWriteRecordErrors = Shapes::ListShape.new(name: 'BatchWriteRecordErrors')
30
+ BatchWriteRecordRequest = Shapes::StructureShape.new(name: 'BatchWriteRecordRequest')
31
+ BatchWriteRecordResponse = Shapes::StructureShape.new(name: 'BatchWriteRecordResponse')
32
+ Boolean = Shapes::BooleanShape.new(name: 'Boolean')
26
33
  DeleteRecordRequest = Shapes::StructureShape.new(name: 'DeleteRecordRequest')
27
34
  DeletionMode = Shapes::StringShape.new(name: 'DeletionMode')
28
35
  ExpirationTimeResponse = Shapes::StringShape.new(name: 'ExpirationTimeResponse')
@@ -34,9 +41,14 @@ module Aws::SageMakerFeatureStoreRuntime
34
41
  GetRecordRequest = Shapes::StructureShape.new(name: 'GetRecordRequest')
35
42
  GetRecordResponse = Shapes::StructureShape.new(name: 'GetRecordResponse')
36
43
  InternalFailure = Shapes::StructureShape.new(name: 'InternalFailure')
44
+ ListRecordsMaxResults = Shapes::IntegerShape.new(name: 'ListRecordsMaxResults')
45
+ ListRecordsNextToken = Shapes::StringShape.new(name: 'ListRecordsNextToken')
46
+ ListRecordsRequest = Shapes::StructureShape.new(name: 'ListRecordsRequest')
47
+ ListRecordsResponse = Shapes::StructureShape.new(name: 'ListRecordsResponse')
37
48
  Message = Shapes::StringShape.new(name: 'Message')
38
49
  PutRecordRequest = Shapes::StructureShape.new(name: 'PutRecordRequest')
39
50
  Record = Shapes::ListShape.new(name: 'Record')
51
+ RecordIdentifierList = Shapes::ListShape.new(name: 'RecordIdentifierList')
40
52
  RecordIdentifiers = Shapes::ListShape.new(name: 'RecordIdentifiers')
41
53
  ResourceNotFound = Shapes::StructureShape.new(name: 'ResourceNotFound')
42
54
  ServiceUnavailable = Shapes::StructureShape.new(name: 'ServiceUnavailable')
@@ -45,6 +57,7 @@ module Aws::SageMakerFeatureStoreRuntime
45
57
  TtlDuration = Shapes::StructureShape.new(name: 'TtlDuration')
46
58
  TtlDurationUnit = Shapes::StringShape.new(name: 'TtlDurationUnit')
47
59
  TtlDurationValue = Shapes::IntegerShape.new(name: 'TtlDurationValue')
60
+ UnprocessedBatchWriteRecordEntries = Shapes::ListShape.new(name: 'UnprocessedBatchWriteRecordEntries')
48
61
  UnprocessedIdentifiers = Shapes::ListShape.new(name: 'UnprocessedIdentifiers')
49
62
  ValidationError = Shapes::StructureShape.new(name: 'ValidationError')
50
63
  ValueAsString = Shapes::StringShape.new(name: 'ValueAsString')
@@ -85,6 +98,29 @@ module Aws::SageMakerFeatureStoreRuntime
85
98
 
86
99
  BatchGetRecordResultDetails.member = Shapes::ShapeRef.new(shape: BatchGetRecordResultDetail)
87
100
 
101
+ BatchWriteRecordEntries.member = Shapes::ShapeRef.new(shape: BatchWriteRecordEntry)
102
+
103
+ BatchWriteRecordEntry.add_member(:feature_group_name, Shapes::ShapeRef.new(shape: FeatureGroupNameOrArn, required: true, location_name: "FeatureGroupName"))
104
+ BatchWriteRecordEntry.add_member(:record, Shapes::ShapeRef.new(shape: Record, required: true, location_name: "Record"))
105
+ BatchWriteRecordEntry.add_member(:target_stores, Shapes::ShapeRef.new(shape: TargetStores, location_name: "TargetStores"))
106
+ BatchWriteRecordEntry.add_member(:ttl_duration, Shapes::ShapeRef.new(shape: TtlDuration, location_name: "TtlDuration"))
107
+ BatchWriteRecordEntry.struct_class = Types::BatchWriteRecordEntry
108
+
109
+ BatchWriteRecordError.add_member(:entry, Shapes::ShapeRef.new(shape: BatchWriteRecordEntry, required: true, location_name: "Entry"))
110
+ BatchWriteRecordError.add_member(:error_code, Shapes::ShapeRef.new(shape: ValueAsString, required: true, location_name: "ErrorCode"))
111
+ BatchWriteRecordError.add_member(:error_message, Shapes::ShapeRef.new(shape: Message, required: true, location_name: "ErrorMessage"))
112
+ BatchWriteRecordError.struct_class = Types::BatchWriteRecordError
113
+
114
+ BatchWriteRecordErrors.member = Shapes::ShapeRef.new(shape: BatchWriteRecordError)
115
+
116
+ BatchWriteRecordRequest.add_member(:entries, Shapes::ShapeRef.new(shape: BatchWriteRecordEntries, required: true, location_name: "Entries"))
117
+ BatchWriteRecordRequest.add_member(:ttl_duration, Shapes::ShapeRef.new(shape: TtlDuration, location_name: "TtlDuration"))
118
+ BatchWriteRecordRequest.struct_class = Types::BatchWriteRecordRequest
119
+
120
+ BatchWriteRecordResponse.add_member(:errors, Shapes::ShapeRef.new(shape: BatchWriteRecordErrors, required: true, location_name: "Errors"))
121
+ BatchWriteRecordResponse.add_member(:unprocessed_entries, Shapes::ShapeRef.new(shape: UnprocessedBatchWriteRecordEntries, required: true, location_name: "UnprocessedEntries"))
122
+ BatchWriteRecordResponse.struct_class = Types::BatchWriteRecordResponse
123
+
88
124
  DeleteRecordRequest.add_member(:feature_group_name, Shapes::ShapeRef.new(shape: FeatureGroupNameOrArn, required: true, location: "uri", location_name: "FeatureGroupName"))
89
125
  DeleteRecordRequest.add_member(:record_identifier_value_as_string, Shapes::ShapeRef.new(shape: ValueAsString, required: true, location: "querystring", location_name: "RecordIdentifierValueAsString"))
90
126
  DeleteRecordRequest.add_member(:event_time, Shapes::ShapeRef.new(shape: ValueAsString, required: true, location: "querystring", location_name: "EventTime"))
@@ -112,6 +148,16 @@ module Aws::SageMakerFeatureStoreRuntime
112
148
  InternalFailure.add_member(:message, Shapes::ShapeRef.new(shape: Message, location_name: "Message"))
113
149
  InternalFailure.struct_class = Types::InternalFailure
114
150
 
151
+ ListRecordsRequest.add_member(:feature_group_name, Shapes::ShapeRef.new(shape: FeatureGroupNameOrArn, required: true, location: "uri", location_name: "FeatureGroupName"))
152
+ ListRecordsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: ListRecordsMaxResults, location_name: "MaxResults"))
153
+ ListRecordsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: ListRecordsNextToken, location_name: "NextToken"))
154
+ ListRecordsRequest.add_member(:include_soft_deleted_records, Shapes::ShapeRef.new(shape: Boolean, location_name: "IncludeSoftDeletedRecords"))
155
+ ListRecordsRequest.struct_class = Types::ListRecordsRequest
156
+
157
+ ListRecordsResponse.add_member(:record_identifiers, Shapes::ShapeRef.new(shape: RecordIdentifierList, required: true, location_name: "RecordIdentifiers"))
158
+ ListRecordsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: ListRecordsNextToken, location_name: "NextToken"))
159
+ ListRecordsResponse.struct_class = Types::ListRecordsResponse
160
+
115
161
  PutRecordRequest.add_member(:feature_group_name, Shapes::ShapeRef.new(shape: FeatureGroupNameOrArn, required: true, location: "uri", location_name: "FeatureGroupName"))
116
162
  PutRecordRequest.add_member(:record, Shapes::ShapeRef.new(shape: Record, required: true, location_name: "Record"))
117
163
  PutRecordRequest.add_member(:target_stores, Shapes::ShapeRef.new(shape: TargetStores, location_name: "TargetStores"))
@@ -120,6 +166,8 @@ module Aws::SageMakerFeatureStoreRuntime
120
166
 
121
167
  Record.member = Shapes::ShapeRef.new(shape: FeatureValue)
122
168
 
169
+ RecordIdentifierList.member = Shapes::ShapeRef.new(shape: ValueAsString)
170
+
123
171
  RecordIdentifiers.member = Shapes::ShapeRef.new(shape: ValueAsString)
124
172
 
125
173
  ResourceNotFound.add_member(:message, Shapes::ShapeRef.new(shape: Message, location_name: "Message"))
@@ -134,6 +182,8 @@ module Aws::SageMakerFeatureStoreRuntime
134
182
  TtlDuration.add_member(:value, Shapes::ShapeRef.new(shape: TtlDurationValue, required: true, location_name: "Value"))
135
183
  TtlDuration.struct_class = Types::TtlDuration
136
184
 
185
+ UnprocessedBatchWriteRecordEntries.member = Shapes::ShapeRef.new(shape: BatchWriteRecordEntry)
186
+
137
187
  UnprocessedIdentifiers.member = Shapes::ShapeRef.new(shape: BatchGetRecordIdentifier)
138
188
 
139
189
  ValidationError.add_member(:message, Shapes::ShapeRef.new(shape: Message, location_name: "Message"))
@@ -173,6 +223,19 @@ module Aws::SageMakerFeatureStoreRuntime
173
223
  o.errors << Shapes::ShapeRef.new(shape: AccessForbidden)
174
224
  end)
175
225
 
226
+ api.add_operation(:batch_write_record, Seahorse::Model::Operation.new.tap do |o|
227
+ o.name = "BatchWriteRecord"
228
+ o.http_method = "POST"
229
+ o.http_request_uri = "/BatchWriteRecord"
230
+ o.input = Shapes::ShapeRef.new(shape: BatchWriteRecordRequest)
231
+ o.output = Shapes::ShapeRef.new(shape: BatchWriteRecordResponse)
232
+ o.errors << Shapes::ShapeRef.new(shape: ValidationError)
233
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFound)
234
+ o.errors << Shapes::ShapeRef.new(shape: InternalFailure)
235
+ o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailable)
236
+ o.errors << Shapes::ShapeRef.new(shape: AccessForbidden)
237
+ end)
238
+
176
239
  api.add_operation(:delete_record, Seahorse::Model::Operation.new.tap do |o|
177
240
  o.name = "DeleteRecord"
178
241
  o.http_method = "DELETE"
@@ -198,6 +261,25 @@ module Aws::SageMakerFeatureStoreRuntime
198
261
  o.errors << Shapes::ShapeRef.new(shape: AccessForbidden)
199
262
  end)
200
263
 
264
+ api.add_operation(:list_records, Seahorse::Model::Operation.new.tap do |o|
265
+ o.name = "ListRecords"
266
+ o.http_method = "POST"
267
+ o.http_request_uri = "/FeatureGroup/{FeatureGroupName}/ListRecords"
268
+ o.input = Shapes::ShapeRef.new(shape: ListRecordsRequest)
269
+ o.output = Shapes::ShapeRef.new(shape: ListRecordsResponse)
270
+ o.errors << Shapes::ShapeRef.new(shape: ValidationError)
271
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFound)
272
+ o.errors << Shapes::ShapeRef.new(shape: InternalFailure)
273
+ o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailable)
274
+ o.errors << Shapes::ShapeRef.new(shape: AccessForbidden)
275
+ o[:pager] = Aws::Pager.new(
276
+ limit_key: "max_results",
277
+ tokens: {
278
+ "next_token" => "next_token"
279
+ }
280
+ )
281
+ end)
282
+
201
283
  api.add_operation(:put_record, Seahorse::Model::Operation.new.tap do |o|
202
284
  o.name = "PutRecord"
203
285
  o.http_method = "PUT"
@@ -163,6 +163,110 @@ module Aws::SageMakerFeatureStoreRuntime
163
163
  include Aws::Structure
164
164
  end
165
165
 
166
+ # An entry to write as part of a `BatchWriteRecord` request.
167
+ #
168
+ # @!attribute [rw] feature_group_name
169
+ # The name or Amazon Resource Name (ARN) of the `FeatureGroup` to
170
+ # write the record to.
171
+ # @return [String]
172
+ #
173
+ # @!attribute [rw] record
174
+ # List of FeatureValues to be inserted. This will be a full
175
+ # over-write.
176
+ # @return [Array<Types::FeatureValue>]
177
+ #
178
+ # @!attribute [rw] target_stores
179
+ # A list of stores to which you're adding the record. By default,
180
+ # Feature Store adds the record to all of the stores that you're
181
+ # using for the `FeatureGroup`.
182
+ # @return [Array<String>]
183
+ #
184
+ # @!attribute [rw] ttl_duration
185
+ # Time to live duration for this entry, where the record is hard
186
+ # deleted after the expiration time is reached; `ExpiresAt` =
187
+ # `EventTime` + `TtlDuration`. This overrides the request level
188
+ # `TtlDuration`.
189
+ # @return [Types::TtlDuration]
190
+ #
191
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sagemaker-featurestore-runtime-2020-07-01/BatchWriteRecordEntry AWS API Documentation
192
+ #
193
+ class BatchWriteRecordEntry < Struct.new(
194
+ :feature_group_name,
195
+ :record,
196
+ :target_stores,
197
+ :ttl_duration)
198
+ SENSITIVE = []
199
+ include Aws::Structure
200
+ end
201
+
202
+ # The error that has occurred when attempting to write a record in a
203
+ # batch.
204
+ #
205
+ # @!attribute [rw] entry
206
+ # The entry that failed to be written.
207
+ # @return [Types::BatchWriteRecordEntry]
208
+ #
209
+ # @!attribute [rw] error_code
210
+ # The error code for the failed record write.
211
+ # @return [String]
212
+ #
213
+ # @!attribute [rw] error_message
214
+ # The error message for the failed record write.
215
+ # @return [String]
216
+ #
217
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sagemaker-featurestore-runtime-2020-07-01/BatchWriteRecordError AWS API Documentation
218
+ #
219
+ class BatchWriteRecordError < Struct.new(
220
+ :entry,
221
+ :error_code,
222
+ :error_message)
223
+ SENSITIVE = []
224
+ include Aws::Structure
225
+ end
226
+
227
+ # @!attribute [rw] entries
228
+ # A list of records to write. Each entry specifies the `FeatureGroup`,
229
+ # the record data, and optionally target stores and a TTL duration.
230
+ # @return [Array<Types::BatchWriteRecordEntry>]
231
+ #
232
+ # @!attribute [rw] ttl_duration
233
+ # Time to live duration applied to all entries in the batch that do
234
+ # not specify their own `TtlDuration`; `ExpiresAt` = `EventTime` +
235
+ # `TtlDuration`. For information on HardDelete, see the
236
+ # [DeleteRecord][1] API in the Amazon SageMaker API Reference guide.
237
+ #
238
+ #
239
+ #
240
+ # [1]: https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_feature_store_DeleteRecord.html
241
+ # @return [Types::TtlDuration]
242
+ #
243
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sagemaker-featurestore-runtime-2020-07-01/BatchWriteRecordRequest AWS API Documentation
244
+ #
245
+ class BatchWriteRecordRequest < Struct.new(
246
+ :entries,
247
+ :ttl_duration)
248
+ SENSITIVE = []
249
+ include Aws::Structure
250
+ end
251
+
252
+ # @!attribute [rw] errors
253
+ # A list of errors that occurred when writing records in the batch.
254
+ # @return [Array<Types::BatchWriteRecordError>]
255
+ #
256
+ # @!attribute [rw] unprocessed_entries
257
+ # A list of entries that were not processed. These entries can be
258
+ # retried.
259
+ # @return [Array<Types::BatchWriteRecordEntry>]
260
+ #
261
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sagemaker-featurestore-runtime-2020-07-01/BatchWriteRecordResponse AWS API Documentation
262
+ #
263
+ class BatchWriteRecordResponse < Struct.new(
264
+ :errors,
265
+ :unprocessed_entries)
266
+ SENSITIVE = []
267
+ include Aws::Structure
268
+ end
269
+
166
270
  # @!attribute [rw] feature_group_name
167
271
  # The name or Amazon Resource Name (ARN) of the feature group to
168
272
  # delete the record from.
@@ -294,6 +398,57 @@ module Aws::SageMakerFeatureStoreRuntime
294
398
  include Aws::Structure
295
399
  end
296
400
 
401
+ # @!attribute [rw] feature_group_name
402
+ # The name or Amazon Resource Name (ARN) of the feature group to list
403
+ # records from.
404
+ # @return [String]
405
+ #
406
+ # @!attribute [rw] max_results
407
+ # The maximum number of record identifiers to return in a single page
408
+ # of results. For the `InMemory` tier, this value is a hint and not a
409
+ # strict requirement. The response may contain more or fewer results
410
+ # than the specified `MaxResults`.
411
+ # @return [Integer]
412
+ #
413
+ # @!attribute [rw] next_token
414
+ # A token to resume pagination of `ListRecords` results.
415
+ # @return [String]
416
+ #
417
+ # @!attribute [rw] include_soft_deleted_records
418
+ # If set to `true`, the result includes records that have been soft
419
+ # deleted.
420
+ # @return [Boolean]
421
+ #
422
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sagemaker-featurestore-runtime-2020-07-01/ListRecordsRequest AWS API Documentation
423
+ #
424
+ class ListRecordsRequest < Struct.new(
425
+ :feature_group_name,
426
+ :max_results,
427
+ :next_token,
428
+ :include_soft_deleted_records)
429
+ SENSITIVE = []
430
+ include Aws::Structure
431
+ end
432
+
433
+ # @!attribute [rw] record_identifiers
434
+ # A list of record identifier values for the records stored in the
435
+ # `OnlineStore`.
436
+ # @return [Array<String>]
437
+ #
438
+ # @!attribute [rw] next_token
439
+ # A token to resume pagination if the response includes more record
440
+ # identifiers than `MaxResults`.
441
+ # @return [String]
442
+ #
443
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sagemaker-featurestore-runtime-2020-07-01/ListRecordsResponse AWS API Documentation
444
+ #
445
+ class ListRecordsResponse < Struct.new(
446
+ :record_identifiers,
447
+ :next_token)
448
+ SENSITIVE = []
449
+ include Aws::Structure
450
+ end
451
+
297
452
  # @!attribute [rw] feature_group_name
298
453
  # The name or Amazon Resource Name (ARN) of the feature group that you
299
454
  # want to insert the record into.
@@ -54,7 +54,7 @@ module Aws::SageMakerFeatureStoreRuntime
54
54
  autoload :EndpointProvider, 'aws-sdk-sagemakerfeaturestoreruntime/endpoint_provider'
55
55
  autoload :Endpoints, 'aws-sdk-sagemakerfeaturestoreruntime/endpoints'
56
56
 
57
- GEM_VERSION = '1.64.0'
57
+ GEM_VERSION = '1.66.0'
58
58
 
59
59
  end
60
60
 
data/sig/client.rbs CHANGED
@@ -97,6 +97,37 @@ module Aws
97
97
  ) -> _BatchGetRecordResponseSuccess
98
98
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _BatchGetRecordResponseSuccess
99
99
 
100
+ interface _BatchWriteRecordResponseSuccess
101
+ include ::Seahorse::Client::_ResponseSuccess[Types::BatchWriteRecordResponse]
102
+ def errors: () -> ::Array[Types::BatchWriteRecordError]
103
+ def unprocessed_entries: () -> ::Array[Types::BatchWriteRecordEntry]
104
+ end
105
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/SageMakerFeatureStoreRuntime/Client.html#batch_write_record-instance_method
106
+ def batch_write_record: (
107
+ entries: Array[
108
+ {
109
+ feature_group_name: ::String,
110
+ record: Array[
111
+ {
112
+ feature_name: ::String,
113
+ value_as_string: ::String?,
114
+ value_as_string_list: Array[::String]?
115
+ }
116
+ ],
117
+ target_stores: Array[("OnlineStore" | "OfflineStore")]?,
118
+ ttl_duration: {
119
+ unit: ("Seconds" | "Minutes" | "Hours" | "Days" | "Weeks"),
120
+ value: ::Integer
121
+ }?
122
+ }
123
+ ],
124
+ ?ttl_duration: {
125
+ unit: ("Seconds" | "Minutes" | "Hours" | "Days" | "Weeks"),
126
+ value: ::Integer
127
+ }
128
+ ) -> _BatchWriteRecordResponseSuccess
129
+ | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _BatchWriteRecordResponseSuccess
130
+
100
131
  # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/SageMakerFeatureStoreRuntime/Client.html#delete_record-instance_method
101
132
  def delete_record: (
102
133
  feature_group_name: ::String,
@@ -121,6 +152,20 @@ module Aws
121
152
  ) -> _GetRecordResponseSuccess
122
153
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _GetRecordResponseSuccess
123
154
 
155
+ interface _ListRecordsResponseSuccess
156
+ include ::Seahorse::Client::_ResponseSuccess[Types::ListRecordsResponse]
157
+ def record_identifiers: () -> ::Array[::String]
158
+ def next_token: () -> ::String
159
+ end
160
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/SageMakerFeatureStoreRuntime/Client.html#list_records-instance_method
161
+ def list_records: (
162
+ feature_group_name: ::String,
163
+ ?max_results: ::Integer,
164
+ ?next_token: ::String,
165
+ ?include_soft_deleted_records: bool
166
+ ) -> _ListRecordsResponseSuccess
167
+ | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _ListRecordsResponseSuccess
168
+
124
169
  # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/SageMakerFeatureStoreRuntime/Client.html#put_record-instance_method
125
170
  def put_record: (
126
171
  feature_group_name: ::String,
data/sig/types.rbs CHANGED
@@ -49,6 +49,33 @@ module Aws::SageMakerFeatureStoreRuntime
49
49
  SENSITIVE: []
50
50
  end
51
51
 
52
+ class BatchWriteRecordEntry
53
+ attr_accessor feature_group_name: ::String
54
+ attr_accessor record: ::Array[Types::FeatureValue]
55
+ attr_accessor target_stores: ::Array[("OnlineStore" | "OfflineStore")]
56
+ attr_accessor ttl_duration: Types::TtlDuration
57
+ SENSITIVE: []
58
+ end
59
+
60
+ class BatchWriteRecordError
61
+ attr_accessor entry: Types::BatchWriteRecordEntry
62
+ attr_accessor error_code: ::String
63
+ attr_accessor error_message: ::String
64
+ SENSITIVE: []
65
+ end
66
+
67
+ class BatchWriteRecordRequest
68
+ attr_accessor entries: ::Array[Types::BatchWriteRecordEntry]
69
+ attr_accessor ttl_duration: Types::TtlDuration
70
+ SENSITIVE: []
71
+ end
72
+
73
+ class BatchWriteRecordResponse
74
+ attr_accessor errors: ::Array[Types::BatchWriteRecordError]
75
+ attr_accessor unprocessed_entries: ::Array[Types::BatchWriteRecordEntry]
76
+ SENSITIVE: []
77
+ end
78
+
52
79
  class DeleteRecordRequest
53
80
  attr_accessor feature_group_name: ::String
54
81
  attr_accessor record_identifier_value_as_string: ::String
@@ -84,6 +111,20 @@ module Aws::SageMakerFeatureStoreRuntime
84
111
  SENSITIVE: []
85
112
  end
86
113
 
114
+ class ListRecordsRequest
115
+ attr_accessor feature_group_name: ::String
116
+ attr_accessor max_results: ::Integer
117
+ attr_accessor next_token: ::String
118
+ attr_accessor include_soft_deleted_records: bool
119
+ SENSITIVE: []
120
+ end
121
+
122
+ class ListRecordsResponse
123
+ attr_accessor record_identifiers: ::Array[::String]
124
+ attr_accessor next_token: ::String
125
+ SENSITIVE: []
126
+ end
127
+
87
128
  class PutRecordRequest
88
129
  attr_accessor feature_group_name: ::String
89
130
  attr_accessor record: ::Array[Types::FeatureValue]
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-sagemakerfeaturestoreruntime
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.64.0
4
+ version: 1.66.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services