pub struct Client { /* private fields */ }
Expand description
Client for Amazon SageMaker Feature Store Runtime
Client for invoking operations on Amazon SageMaker Feature Store Runtime. Each operation on Amazon SageMaker Feature Store Runtime is a method on this
this struct. .send()
MUST be invoked on the generated operations to dispatch the request to the service.
Constructing a Client
A Config
is required to construct a client. For most use cases, the aws-config
crate should be used to automatically resolve this config using
aws_config::load_from_env()
, since this will resolve an SdkConfig
which can be shared
across multiple different AWS SDK clients. This config resolution process can be customized
by calling aws_config::from_env()
instead, which returns a ConfigLoader
that uses
the builder pattern to customize the default config.
In the simplest case, creating a client looks as follows:
let config = aws_config::load_from_env().await;
let client = aws_sdk_sagemakerfeaturestoreruntime::Client::new(&config);
Occasionally, SDKs may have additional service-specific that can be set on the Config
that
is absent from SdkConfig
, or slightly different settings for a specific client may be desired.
The Config
struct implements From<&SdkConfig>
, so setting these specific settings can be
done as follows:
let sdk_config = ::aws_config::load_from_env().await;
let config = aws_sdk_sagemakerfeaturestoreruntime::config::Builder::from(&sdk_config)
.some_service_specific_setting("value")
.build();
See the aws-config
docs and Config
for more information on customizing configuration.
Note: Client construction is expensive due to connection thread pool initialization, and should be done once at application start-up.
Using the Client
A client has a function for every operation that can be performed by the service.
For example, the BatchGetRecord
operation has
a Client::batch_get_record
, function which returns a builder for that operation.
The fluent builder ultimately has a send()
function that returns an async future that
returns a result, as illustrated below:
let result = client.batch_get_record()
.expiration_time_response("example")
.send()
.await;
The underlying HTTP requests that get made by this can be modified with the customize_operation
function on the fluent builder. See the customize
module for more
information.
Implementations§
source§impl Client
impl Client
sourcepub fn batch_get_record(&self) -> BatchGetRecordFluentBuilder
pub fn batch_get_record(&self) -> BatchGetRecordFluentBuilder
Constructs a fluent builder for the BatchGetRecord
operation.
- The fluent builder is configurable:
identifiers(BatchGetRecordIdentifier)
/set_identifiers(Option<Vec::<BatchGetRecordIdentifier>>)
:
required: trueA list containing the name or Amazon Resource Name (ARN) of the
FeatureGroup
, the list of names ofFeature
s to be retrieved, and the correspondingRecordIdentifier
values as strings.expiration_time_response(ExpirationTimeResponse)
/set_expiration_time_response(Option<ExpirationTimeResponse>)
:
required: falseParameter to request
ExpiresAt
in response. IfEnabled
,BatchGetRecord
will return the value ofExpiresAt
, if it is not null. IfDisabled
and null,BatchGetRecord
will return null.
- On success, responds with
BatchGetRecordOutput
with field(s):records(Option<Vec::<BatchGetRecordResultDetail>>)
:A list of Records you requested to be retrieved in batch.
errors(Option<Vec::<BatchGetRecordError>>)
:A list of errors that have occurred when retrieving a batch of Records.
unprocessed_identifiers(Option<Vec::<BatchGetRecordIdentifier>>)
:A unprocessed list of
FeatureGroup
names, with their correspondingRecordIdentifier
value, and Feature name.
- On failure, responds with
SdkError<BatchGetRecordError>
source§impl Client
impl Client
sourcepub fn delete_record(&self) -> DeleteRecordFluentBuilder
pub fn delete_record(&self) -> DeleteRecordFluentBuilder
Constructs a fluent builder for the DeleteRecord
operation.
- The fluent builder is configurable:
feature_group_name(impl Into<String>)
/set_feature_group_name(Option<String>)
:
required: trueThe name or Amazon Resource Name (ARN) of the feature group to delete the record from.
record_identifier_value_as_string(impl Into<String>)
/set_record_identifier_value_as_string(Option<String>)
:
required: trueThe value for the
RecordIdentifier
that uniquely identifies the record, in string format.event_time(impl Into<String>)
/set_event_time(Option<String>)
:
required: trueTimestamp indicating when the deletion event occurred.
EventTime
can be used to query data at a certain point in time.target_stores(TargetStore)
/set_target_stores(Option<Vec::<TargetStore>>)
:
required: falseA list of stores from which you’re deleting the record. By default, Feature Store deletes the record from all of the stores that you’re using for the
FeatureGroup
.deletion_mode(DeletionMode)
/set_deletion_mode(Option<DeletionMode>)
:
required: falseThe name of the deletion mode for deleting the record. By default, the deletion mode is set to
SoftDelete
.
- On success, responds with
DeleteRecordOutput
- On failure, responds with
SdkError<DeleteRecordError>
source§impl Client
impl Client
sourcepub fn get_record(&self) -> GetRecordFluentBuilder
pub fn get_record(&self) -> GetRecordFluentBuilder
Constructs a fluent builder for the GetRecord
operation.
- The fluent builder is configurable:
feature_group_name(impl Into<String>)
/set_feature_group_name(Option<String>)
:
required: trueThe name or Amazon Resource Name (ARN) of the feature group from which you want to retrieve a record.
record_identifier_value_as_string(impl Into<String>)
/set_record_identifier_value_as_string(Option<String>)
:
required: trueThe value that corresponds to
RecordIdentifier
type and uniquely identifies the record in theFeatureGroup
.feature_names(impl Into<String>)
/set_feature_names(Option<Vec::<String>>)
:
required: falseList of names of Features to be retrieved. If not specified, the latest value for all the Features are returned.
expiration_time_response(ExpirationTimeResponse)
/set_expiration_time_response(Option<ExpirationTimeResponse>)
:
required: falseParameter to request
ExpiresAt
in response. IfEnabled
,GetRecord
will return the value ofExpiresAt
, if it is not null. IfDisabled
and null,GetRecord
will return null.
- On success, responds with
GetRecordOutput
with field(s):record(Option<Vec::<FeatureValue>>)
:The record you requested. A list of
FeatureValues
.expires_at(Option<String>)
:The
ExpiresAt
ISO string of the requested record.
- On failure, responds with
SdkError<GetRecordError>
source§impl Client
impl Client
sourcepub fn put_record(&self) -> PutRecordFluentBuilder
pub fn put_record(&self) -> PutRecordFluentBuilder
Constructs a fluent builder for the PutRecord
operation.
- The fluent builder is configurable:
feature_group_name(impl Into<String>)
/set_feature_group_name(Option<String>)
:
required: trueThe name or Amazon Resource Name (ARN) of the feature group that you want to insert the record into.
record(FeatureValue)
/set_record(Option<Vec::<FeatureValue>>)
:
required: trueList of FeatureValues to be inserted. This will be a full over-write. If you only want to update few of the feature values, do the following:
-
Use
GetRecord
to retrieve the latest record. -
Update the record returned from
GetRecord
. -
Use
PutRecord
to update feature values.
-
target_stores(TargetStore)
/set_target_stores(Option<Vec::<TargetStore>>)
:
required: falseA list of stores to which you’re adding the record. By default, Feature Store adds the record to all of the stores that you’re using for the
FeatureGroup
.ttl_duration(TtlDuration)
/set_ttl_duration(Option<TtlDuration>)
:
required: falseTime to live duration, where the record is hard deleted after the expiration time is reached;
ExpiresAt
=EventTime
+TtlDuration
. For information on HardDelete, see the DeleteRecord API in the Amazon SageMaker API Reference guide.
- On success, responds with
PutRecordOutput
- On failure, responds with
SdkError<PutRecordError>
source§impl Client
impl Client
sourcepub fn from_conf(conf: Config) -> Self
pub fn from_conf(conf: Config) -> Self
Creates a new client from the service Config
.
Panics
This method will panic in the following cases:
- Retries or timeouts are enabled without a
sleep_impl
configured. - Identity caching is enabled without a
sleep_impl
andtime_source
configured.
The panic message for each of these will have instructions on how to resolve them.
source§impl Client
impl Client
sourcepub fn new(sdk_config: &SdkConfig) -> Self
pub fn new(sdk_config: &SdkConfig) -> Self
Creates a new client from an SDK Config.
Panics
- This method will panic if the
sdk_config
is missing an async sleep implementation. If you experience this panic, set thesleep_impl
on the Config passed into this function to fix it. - This method will panic if the
sdk_config
is missing an HTTP connector. If you experience this panic, set thehttp_connector
on the Config passed into this function to fix it.