Interface SageMakerFeatureStoreRuntimeClient
- All Superinterfaces:
AutoCloseable,AwsClient,SdkAutoCloseable,SdkClient
builder() method.
Contains all data plane API operations and data types for the Amazon SageMaker Feature Store. Use this API to put, delete, and retrieve (get) features from a feature store.
Use the following operations to configure your OnlineStore and OfflineStore features, and
to create and manage feature groups:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringValue for looking up the service's metadata from theServiceMetadataProvider.static final String -
Method Summary
Modifier and TypeMethodDescriptiondefault BatchGetRecordResponsebatchGetRecord(Consumer<BatchGetRecordRequest.Builder> batchGetRecordRequest) Retrieves a batch ofRecordsfrom aFeatureGroup.default BatchGetRecordResponsebatchGetRecord(BatchGetRecordRequest batchGetRecordRequest) Retrieves a batch ofRecordsfrom aFeatureGroup.default BatchWriteRecordResponsebatchWriteRecord(Consumer<BatchWriteRecordRequest.Builder> batchWriteRecordRequest) Writes a batch ofRecordsto one or moreFeatureGroups.default BatchWriteRecordResponsebatchWriteRecord(BatchWriteRecordRequest batchWriteRecordRequest) Writes a batch ofRecordsto one or moreFeatureGroups.builder()Create a builder that can be used to configure and create aSageMakerFeatureStoreRuntimeClient.create()Create aSageMakerFeatureStoreRuntimeClientwith the region loaded from theDefaultAwsRegionProviderChainand credentials loaded from theDefaultCredentialsProvider.default DeleteRecordResponsedeleteRecord(Consumer<DeleteRecordRequest.Builder> deleteRecordRequest) Deletes aRecordfrom aFeatureGroupin theOnlineStore.default DeleteRecordResponsedeleteRecord(DeleteRecordRequest deleteRecordRequest) Deletes aRecordfrom aFeatureGroupin theOnlineStore.default GetRecordResponsegetRecord(Consumer<GetRecordRequest.Builder> getRecordRequest) Use forOnlineStoreserving from aFeatureStore.default GetRecordResponsegetRecord(GetRecordRequest getRecordRequest) Use forOnlineStoreserving from aFeatureStore.default ListRecordsResponselistRecords(Consumer<ListRecordsRequest.Builder> listRecordsRequest) Lists theRecordIdentifiervalues of all records stored in aFeatureGroup'sOnlineStore.default ListRecordsResponselistRecords(ListRecordsRequest listRecordsRequest) Lists theRecordIdentifiervalues of all records stored in aFeatureGroup'sOnlineStore.default ListRecordsIterablelistRecordsPaginator(Consumer<ListRecordsRequest.Builder> listRecordsRequest) This is a variant oflistRecords(software.amazon.awssdk.services.sagemakerfeaturestoreruntime.model.ListRecordsRequest)operation.default ListRecordsIterablelistRecordsPaginator(ListRecordsRequest listRecordsRequest) This is a variant oflistRecords(software.amazon.awssdk.services.sagemakerfeaturestoreruntime.model.ListRecordsRequest)operation.default PutRecordResponseputRecord(Consumer<PutRecordRequest.Builder> putRecordRequest) ThePutRecordAPI is used to ingest a list ofRecordsinto your feature group.default PutRecordResponseputRecord(PutRecordRequest putRecordRequest) ThePutRecordAPI is used to ingest a list ofRecordsinto your feature group.The SDK service client configuration exposes client settings to the user, e.g., ClientOverrideConfigurationstatic ServiceMetadataMethods inherited from interface software.amazon.awssdk.utils.SdkAutoCloseable
closeMethods inherited from interface software.amazon.awssdk.core.SdkClient
serviceName
-
Field Details
-
SERVICE_NAME
- See Also:
-
SERVICE_METADATA_ID
Value for looking up the service's metadata from theServiceMetadataProvider.- See Also:
-
-
Method Details
-
batchGetRecord
default BatchGetRecordResponse batchGetRecord(BatchGetRecordRequest batchGetRecordRequest) throws ValidationErrorException, InternalFailureException, ServiceUnavailableException, AccessForbiddenException, AwsServiceException, SdkClientException, SageMakerFeatureStoreRuntimeException Retrieves a batch of
Recordsfrom aFeatureGroup.- Parameters:
batchGetRecordRequest-- Returns:
- Result of the BatchGetRecord operation returned by the service.
- See Also:
-
batchGetRecord
default BatchGetRecordResponse batchGetRecord(Consumer<BatchGetRecordRequest.Builder> batchGetRecordRequest) throws ValidationErrorException, InternalFailureException, ServiceUnavailableException, AccessForbiddenException, AwsServiceException, SdkClientException, SageMakerFeatureStoreRuntimeException Retrieves a batch of
Recordsfrom aFeatureGroup.
This is a convenience which creates an instance of the
BatchGetRecordRequest.Builderavoiding the need to create one manually viaBatchGetRecordRequest.builder()- Parameters:
batchGetRecordRequest- AConsumerthat will call methods onBatchGetRecordRequest.Builderto create a request.- Returns:
- Result of the BatchGetRecord operation returned by the service.
- See Also:
-
batchWriteRecord
default BatchWriteRecordResponse batchWriteRecord(BatchWriteRecordRequest batchWriteRecordRequest) throws ValidationErrorException, ResourceNotFoundException, InternalFailureException, ServiceUnavailableException, AccessForbiddenException, AwsServiceException, SdkClientException, SageMakerFeatureStoreRuntimeException Writes a batch of
Recordsto one or moreFeatureGroups. Use this API for bulk ingestion of records into theOnlineStoreandOfflineStore.You can set the ingested records to expire at a given time to live (TTL) duration after the record's event time by specifying the
TtlDurationparameter. A request levelTtlDurationapplies to all entries that do not specify their ownTtlDuration.- Parameters:
batchWriteRecordRequest-- Returns:
- Result of the BatchWriteRecord operation returned by the service.
- See Also:
-
batchWriteRecord
default BatchWriteRecordResponse batchWriteRecord(Consumer<BatchWriteRecordRequest.Builder> batchWriteRecordRequest) throws ValidationErrorException, ResourceNotFoundException, InternalFailureException, ServiceUnavailableException, AccessForbiddenException, AwsServiceException, SdkClientException, SageMakerFeatureStoreRuntimeException Writes a batch of
Recordsto one or moreFeatureGroups. Use this API for bulk ingestion of records into theOnlineStoreandOfflineStore.You can set the ingested records to expire at a given time to live (TTL) duration after the record's event time by specifying the
TtlDurationparameter. A request levelTtlDurationapplies to all entries that do not specify their ownTtlDuration.
This is a convenience which creates an instance of the
BatchWriteRecordRequest.Builderavoiding the need to create one manually viaBatchWriteRecordRequest.builder()- Parameters:
batchWriteRecordRequest- AConsumerthat will call methods onBatchWriteRecordRequest.Builderto create a request.- Returns:
- Result of the BatchWriteRecord operation returned by the service.
- See Also:
-
deleteRecord
default DeleteRecordResponse deleteRecord(DeleteRecordRequest deleteRecordRequest) throws ValidationErrorException, InternalFailureException, ServiceUnavailableException, AccessForbiddenException, AwsServiceException, SdkClientException, SageMakerFeatureStoreRuntimeException Deletes a
Recordfrom aFeatureGroupin theOnlineStore. Feature Store supports bothSoftDeleteandHardDelete. ForSoftDelete(default), feature columns are set tonulland the record is no longer retrievable byGetRecordorBatchGetRecord. ForHardDelete, the completeRecordis removed from theOnlineStore. In both cases, Feature Store appends the deleted record marker to theOfflineStore. The deleted record marker is a record with the sameRecordIdentiferas the original, but withis_deletedvalue set toTrue,EventTimeset to the delete inputEventTime, and other feature values set tonull.Note that the
EventTimespecified inDeleteRecordshould be set later than theEventTimeof the existing record in theOnlineStorefor thatRecordIdentifer. If it is not, the deletion does not occur:-
For
SoftDelete, the existing (not deleted) record remains in theOnlineStore, though the delete record marker is still written to theOfflineStore. -
HardDeletereturnsEventTime:400 ValidationExceptionto indicate that the delete operation failed. No delete record marker is written to theOfflineStore.
When a record is deleted from the
OnlineStore, the deleted record marker is appended to theOfflineStore. If you have the Iceberg table format enabled for yourOfflineStore, you can remove all history of a record from theOfflineStoreusing Amazon Athena or Apache Spark. For information on how to hard delete a record from theOfflineStorewith the Iceberg table format enabled, see Delete records from the offline store.- Parameters:
deleteRecordRequest-- Returns:
- Result of the DeleteRecord operation returned by the service.
- See Also:
-
-
deleteRecord
default DeleteRecordResponse deleteRecord(Consumer<DeleteRecordRequest.Builder> deleteRecordRequest) throws ValidationErrorException, InternalFailureException, ServiceUnavailableException, AccessForbiddenException, AwsServiceException, SdkClientException, SageMakerFeatureStoreRuntimeException Deletes a
Recordfrom aFeatureGroupin theOnlineStore. Feature Store supports bothSoftDeleteandHardDelete. ForSoftDelete(default), feature columns are set tonulland the record is no longer retrievable byGetRecordorBatchGetRecord. ForHardDelete, the completeRecordis removed from theOnlineStore. In both cases, Feature Store appends the deleted record marker to theOfflineStore. The deleted record marker is a record with the sameRecordIdentiferas the original, but withis_deletedvalue set toTrue,EventTimeset to the delete inputEventTime, and other feature values set tonull.Note that the
EventTimespecified inDeleteRecordshould be set later than theEventTimeof the existing record in theOnlineStorefor thatRecordIdentifer. If it is not, the deletion does not occur:-
For
SoftDelete, the existing (not deleted) record remains in theOnlineStore, though the delete record marker is still written to theOfflineStore. -
HardDeletereturnsEventTime:400 ValidationExceptionto indicate that the delete operation failed. No delete record marker is written to theOfflineStore.
When a record is deleted from the
OnlineStore, the deleted record marker is appended to theOfflineStore. If you have the Iceberg table format enabled for yourOfflineStore, you can remove all history of a record from theOfflineStoreusing Amazon Athena or Apache Spark. For information on how to hard delete a record from theOfflineStorewith the Iceberg table format enabled, see Delete records from the offline store.
This is a convenience which creates an instance of the
DeleteRecordRequest.Builderavoiding the need to create one manually viaDeleteRecordRequest.builder()- Parameters:
deleteRecordRequest- AConsumerthat will call methods onDeleteRecordRequest.Builderto create a request.- Returns:
- Result of the DeleteRecord operation returned by the service.
- See Also:
-
-
getRecord
default GetRecordResponse getRecord(GetRecordRequest getRecordRequest) throws ValidationErrorException, ResourceNotFoundException, InternalFailureException, ServiceUnavailableException, AccessForbiddenException, AwsServiceException, SdkClientException, SageMakerFeatureStoreRuntimeException Use for
OnlineStoreserving from aFeatureStore. Only the latest records stored in theOnlineStorecan be retrieved. If no Record withRecordIdentifierValueis found, then an empty result is returned.- Parameters:
getRecordRequest-- Returns:
- Result of the GetRecord operation returned by the service.
- See Also:
-
getRecord
default GetRecordResponse getRecord(Consumer<GetRecordRequest.Builder> getRecordRequest) throws ValidationErrorException, ResourceNotFoundException, InternalFailureException, ServiceUnavailableException, AccessForbiddenException, AwsServiceException, SdkClientException, SageMakerFeatureStoreRuntimeException Use for
OnlineStoreserving from aFeatureStore. Only the latest records stored in theOnlineStorecan be retrieved. If no Record withRecordIdentifierValueis found, then an empty result is returned.
This is a convenience which creates an instance of the
GetRecordRequest.Builderavoiding the need to create one manually viaGetRecordRequest.builder()- Parameters:
getRecordRequest- AConsumerthat will call methods onGetRecordRequest.Builderto create a request.- Returns:
- Result of the GetRecord operation returned by the service.
- See Also:
-
listRecords
default ListRecordsResponse listRecords(ListRecordsRequest listRecordsRequest) throws ValidationErrorException, ResourceNotFoundException, InternalFailureException, ServiceUnavailableException, AccessForbiddenException, AwsServiceException, SdkClientException, SageMakerFeatureStoreRuntimeException Lists the
RecordIdentifiervalues of all records stored in aFeatureGroup'sOnlineStore. This enables you to discover which records exist without retrieving the full record data.- Parameters:
listRecordsRequest-- Returns:
- Result of the ListRecords operation returned by the service.
- See Also:
-
listRecords
default ListRecordsResponse listRecords(Consumer<ListRecordsRequest.Builder> listRecordsRequest) throws ValidationErrorException, ResourceNotFoundException, InternalFailureException, ServiceUnavailableException, AccessForbiddenException, AwsServiceException, SdkClientException, SageMakerFeatureStoreRuntimeException Lists the
RecordIdentifiervalues of all records stored in aFeatureGroup'sOnlineStore. This enables you to discover which records exist without retrieving the full record data.
This is a convenience which creates an instance of the
ListRecordsRequest.Builderavoiding the need to create one manually viaListRecordsRequest.builder()- Parameters:
listRecordsRequest- AConsumerthat will call methods onListRecordsRequest.Builderto create a request.- Returns:
- Result of the ListRecords operation returned by the service.
- See Also:
-
listRecordsPaginator
default ListRecordsIterable listRecordsPaginator(ListRecordsRequest listRecordsRequest) throws ValidationErrorException, ResourceNotFoundException, InternalFailureException, ServiceUnavailableException, AccessForbiddenException, AwsServiceException, SdkClientException, SageMakerFeatureStoreRuntimeException This is a variant of
listRecords(software.amazon.awssdk.services.sagemakerfeaturestoreruntime.model.ListRecordsRequest)operation. The return type is a custom iterable that can be used to iterate through all the pages. SDK will internally handle making service calls for you.When this operation is called, a custom iterable is returned but no service calls are made yet. So there is no guarantee that the request is valid. As you iterate through the iterable, SDK will start lazily loading response pages by making service calls until there are no pages left or your iteration stops. If there are errors in your request, you will see the failures only after you start iterating through the iterable.
The following are few ways to iterate through the response pages:
1) Using a Stream
2) Using For loopsoftware.amazon.awssdk.services.sagemakerfeaturestoreruntime.paginators.ListRecordsIterable responses = client.listRecordsPaginator(request); responses.stream().forEach(....);{ @code software.amazon.awssdk.services.sagemakerfeaturestoreruntime.paginators.ListRecordsIterable responses = client .listRecordsPaginator(request); for (software.amazon.awssdk.services.sagemakerfeaturestoreruntime.model.ListRecordsResponse response : responses) { // do something; } }3) Use iterator directlysoftware.amazon.awssdk.services.sagemakerfeaturestoreruntime.paginators.ListRecordsIterable responses = client.listRecordsPaginator(request); responses.iterator().forEachRemaining(....);Please notice that the configuration of MaxResults won't limit the number of results you get with the paginator. It only limits the number of results in each page.
Note: If you prefer to have control on service calls, use the
listRecords(software.amazon.awssdk.services.sagemakerfeaturestoreruntime.model.ListRecordsRequest)operation.- Parameters:
listRecordsRequest-- Returns:
- A custom iterable that can be used to iterate through all the response pages.
- See Also:
-
listRecordsPaginator
default ListRecordsIterable listRecordsPaginator(Consumer<ListRecordsRequest.Builder> listRecordsRequest) throws ValidationErrorException, ResourceNotFoundException, InternalFailureException, ServiceUnavailableException, AccessForbiddenException, AwsServiceException, SdkClientException, SageMakerFeatureStoreRuntimeException This is a variant of
listRecords(software.amazon.awssdk.services.sagemakerfeaturestoreruntime.model.ListRecordsRequest)operation. The return type is a custom iterable that can be used to iterate through all the pages. SDK will internally handle making service calls for you.When this operation is called, a custom iterable is returned but no service calls are made yet. So there is no guarantee that the request is valid. As you iterate through the iterable, SDK will start lazily loading response pages by making service calls until there are no pages left or your iteration stops. If there are errors in your request, you will see the failures only after you start iterating through the iterable.
The following are few ways to iterate through the response pages:
1) Using a Stream
2) Using For loopsoftware.amazon.awssdk.services.sagemakerfeaturestoreruntime.paginators.ListRecordsIterable responses = client.listRecordsPaginator(request); responses.stream().forEach(....);{ @code software.amazon.awssdk.services.sagemakerfeaturestoreruntime.paginators.ListRecordsIterable responses = client .listRecordsPaginator(request); for (software.amazon.awssdk.services.sagemakerfeaturestoreruntime.model.ListRecordsResponse response : responses) { // do something; } }3) Use iterator directlysoftware.amazon.awssdk.services.sagemakerfeaturestoreruntime.paginators.ListRecordsIterable responses = client.listRecordsPaginator(request); responses.iterator().forEachRemaining(....);Please notice that the configuration of MaxResults won't limit the number of results you get with the paginator. It only limits the number of results in each page.
Note: If you prefer to have control on service calls, use the
listRecords(software.amazon.awssdk.services.sagemakerfeaturestoreruntime.model.ListRecordsRequest)operation.
This is a convenience which creates an instance of the
ListRecordsRequest.Builderavoiding the need to create one manually viaListRecordsRequest.builder()- Parameters:
listRecordsRequest- AConsumerthat will call methods onListRecordsRequest.Builderto create a request.- Returns:
- A custom iterable that can be used to iterate through all the response pages.
- See Also:
-
putRecord
default PutRecordResponse putRecord(PutRecordRequest putRecordRequest) throws ValidationErrorException, InternalFailureException, ServiceUnavailableException, AccessForbiddenException, AwsServiceException, SdkClientException, SageMakerFeatureStoreRuntimeException The
PutRecordAPI is used to ingest a list ofRecordsinto your feature group.If a new record’s
EventTimeis greater, the new record is written to both theOnlineStoreandOfflineStore. Otherwise, the record is a historic record and it is written only to theOfflineStore.You can specify the ingestion to be applied to the
OnlineStore,OfflineStore, or both by using theTargetStoresrequest parameter.You can set the ingested record to expire at a given time to live (TTL) duration after the record’s event time,
ExpiresAt=EventTime+TtlDuration, by specifying theTtlDurationparameter. A record levelTtlDurationis set when specifying theTtlDurationparameter using thePutRecordAPI call. If the inputTtlDurationisnullor unspecified,TtlDurationis set to the default feature group levelTtlDuration. A record levelTtlDurationsupersedes the group levelTtlDuration.- Parameters:
putRecordRequest-- Returns:
- Result of the PutRecord operation returned by the service.
- See Also:
-
putRecord
default PutRecordResponse putRecord(Consumer<PutRecordRequest.Builder> putRecordRequest) throws ValidationErrorException, InternalFailureException, ServiceUnavailableException, AccessForbiddenException, AwsServiceException, SdkClientException, SageMakerFeatureStoreRuntimeException The
PutRecordAPI is used to ingest a list ofRecordsinto your feature group.If a new record’s
EventTimeis greater, the new record is written to both theOnlineStoreandOfflineStore. Otherwise, the record is a historic record and it is written only to theOfflineStore.You can specify the ingestion to be applied to the
OnlineStore,OfflineStore, or both by using theTargetStoresrequest parameter.You can set the ingested record to expire at a given time to live (TTL) duration after the record’s event time,
ExpiresAt=EventTime+TtlDuration, by specifying theTtlDurationparameter. A record levelTtlDurationis set when specifying theTtlDurationparameter using thePutRecordAPI call. If the inputTtlDurationisnullor unspecified,TtlDurationis set to the default feature group levelTtlDuration. A record levelTtlDurationsupersedes the group levelTtlDuration.
This is a convenience which creates an instance of the
PutRecordRequest.Builderavoiding the need to create one manually viaPutRecordRequest.builder()- Parameters:
putRecordRequest- AConsumerthat will call methods onPutRecordRequest.Builderto create a request.- Returns:
- Result of the PutRecord operation returned by the service.
- See Also:
-
create
Create aSageMakerFeatureStoreRuntimeClientwith the region loaded from theDefaultAwsRegionProviderChainand credentials loaded from theDefaultCredentialsProvider. -
builder
Create a builder that can be used to configure and create aSageMakerFeatureStoreRuntimeClient. -
serviceMetadata
-
serviceClientConfiguration
Description copied from interface:SdkClientThe SDK service client configuration exposes client settings to the user, e.g., ClientOverrideConfiguration- Specified by:
serviceClientConfigurationin interfaceAwsClient- Specified by:
serviceClientConfigurationin interfaceSdkClient- Returns:
- SdkServiceClientConfiguration
-