/*
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
/*
* Do not modify this file. This file is generated from the sagemaker-featurestore-runtime-2020-07-01.normal.json service model.
*/
using System;
using System.Runtime.ExceptionServices;
using System.Threading;
using System.Threading.Tasks;
using System.Collections.Generic;
using System.Net;
using Amazon.SageMakerFeatureStoreRuntime.Model;
using Amazon.SageMakerFeatureStoreRuntime.Model.Internal.MarshallTransformations;
using Amazon.SageMakerFeatureStoreRuntime.Internal;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
using Amazon.Runtime.Internal.Auth;
using Amazon.Runtime.Internal.Transform;
namespace Amazon.SageMakerFeatureStoreRuntime
{
///
/// Implementation for accessing SageMakerFeatureStoreRuntime
///
/// 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:
///
///
///
public partial class AmazonSageMakerFeatureStoreRuntimeClient : AmazonServiceClient, IAmazonSageMakerFeatureStoreRuntime
{
private static IServiceMetadata serviceMetadata = new AmazonSageMakerFeatureStoreRuntimeMetadata();
#region Constructors
///
/// Constructs AmazonSageMakerFeatureStoreRuntimeClient with the credentials loaded from the application's
/// default configuration, and if unsuccessful from the Instance Profile service on an EC2 instance.
///
/// Example App.config with credentials set.
///
/// <?xml version="1.0" encoding="utf-8" ?>
/// <configuration>
/// <appSettings>
/// <add key="AWSProfileName" value="AWS Default"/>
/// </appSettings>
/// </configuration>
///
///
///
public AmazonSageMakerFeatureStoreRuntimeClient()
: base(FallbackCredentialsFactory.GetCredentials(), new AmazonSageMakerFeatureStoreRuntimeConfig()) { }
///
/// Constructs AmazonSageMakerFeatureStoreRuntimeClient with the credentials loaded from the application's
/// default configuration, and if unsuccessful from the Instance Profile service on an EC2 instance.
///
/// Example App.config with credentials set.
///
/// <?xml version="1.0" encoding="utf-8" ?>
/// <configuration>
/// <appSettings>
/// <add key="AWSProfileName" value="AWS Default"/>
/// </appSettings>
/// </configuration>
///
///
///
/// The region to connect.
public AmazonSageMakerFeatureStoreRuntimeClient(RegionEndpoint region)
: base(FallbackCredentialsFactory.GetCredentials(), new AmazonSageMakerFeatureStoreRuntimeConfig{RegionEndpoint = region}) { }
///
/// Constructs AmazonSageMakerFeatureStoreRuntimeClient with the credentials loaded from the application's
/// default configuration, and if unsuccessful from the Instance Profile service on an EC2 instance.
///
/// Example App.config with credentials set.
///
/// <?xml version="1.0" encoding="utf-8" ?>
/// <configuration>
/// <appSettings>
/// <add key="AWSProfileName" value="AWS Default"/>
/// </appSettings>
/// </configuration>
///
///
///
/// The AmazonSageMakerFeatureStoreRuntimeClient Configuration Object
public AmazonSageMakerFeatureStoreRuntimeClient(AmazonSageMakerFeatureStoreRuntimeConfig config)
: base(FallbackCredentialsFactory.GetCredentials(config), config){}
///
/// Constructs AmazonSageMakerFeatureStoreRuntimeClient with AWS Credentials
///
/// AWS Credentials
public AmazonSageMakerFeatureStoreRuntimeClient(AWSCredentials credentials)
: this(credentials, new AmazonSageMakerFeatureStoreRuntimeConfig())
{
}
///
/// Constructs AmazonSageMakerFeatureStoreRuntimeClient with AWS Credentials
///
/// AWS Credentials
/// The region to connect.
public AmazonSageMakerFeatureStoreRuntimeClient(AWSCredentials credentials, RegionEndpoint region)
: this(credentials, new AmazonSageMakerFeatureStoreRuntimeConfig{RegionEndpoint = region})
{
}
///
/// Constructs AmazonSageMakerFeatureStoreRuntimeClient with AWS Credentials and an
/// AmazonSageMakerFeatureStoreRuntimeClient Configuration object.
///
/// AWS Credentials
/// The AmazonSageMakerFeatureStoreRuntimeClient Configuration Object
public AmazonSageMakerFeatureStoreRuntimeClient(AWSCredentials credentials, AmazonSageMakerFeatureStoreRuntimeConfig clientConfig)
: base(credentials, clientConfig)
{
}
///
/// Constructs AmazonSageMakerFeatureStoreRuntimeClient with AWS Access Key ID and AWS Secret Key
///
/// AWS Access Key ID
/// AWS Secret Access Key
public AmazonSageMakerFeatureStoreRuntimeClient(string awsAccessKeyId, string awsSecretAccessKey)
: this(awsAccessKeyId, awsSecretAccessKey, new AmazonSageMakerFeatureStoreRuntimeConfig())
{
}
///
/// Constructs AmazonSageMakerFeatureStoreRuntimeClient with AWS Access Key ID and AWS Secret Key
///
/// AWS Access Key ID
/// AWS Secret Access Key
/// The region to connect.
public AmazonSageMakerFeatureStoreRuntimeClient(string awsAccessKeyId, string awsSecretAccessKey, RegionEndpoint region)
: this(awsAccessKeyId, awsSecretAccessKey, new AmazonSageMakerFeatureStoreRuntimeConfig() {RegionEndpoint=region})
{
}
///
/// Constructs AmazonSageMakerFeatureStoreRuntimeClient with AWS Access Key ID, AWS Secret Key and an
/// AmazonSageMakerFeatureStoreRuntimeClient Configuration object.
///
/// AWS Access Key ID
/// AWS Secret Access Key
/// The AmazonSageMakerFeatureStoreRuntimeClient Configuration Object
public AmazonSageMakerFeatureStoreRuntimeClient(string awsAccessKeyId, string awsSecretAccessKey, AmazonSageMakerFeatureStoreRuntimeConfig clientConfig)
: base(awsAccessKeyId, awsSecretAccessKey, clientConfig)
{
}
///
/// Constructs AmazonSageMakerFeatureStoreRuntimeClient with AWS Access Key ID and AWS Secret Key
///
/// AWS Access Key ID
/// AWS Secret Access Key
/// AWS Session Token
public AmazonSageMakerFeatureStoreRuntimeClient(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken)
: this(awsAccessKeyId, awsSecretAccessKey, awsSessionToken, new AmazonSageMakerFeatureStoreRuntimeConfig())
{
}
///
/// Constructs AmazonSageMakerFeatureStoreRuntimeClient with AWS Access Key ID and AWS Secret Key
///
/// AWS Access Key ID
/// AWS Secret Access Key
/// AWS Session Token
/// The region to connect.
public AmazonSageMakerFeatureStoreRuntimeClient(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken, RegionEndpoint region)
: this(awsAccessKeyId, awsSecretAccessKey, awsSessionToken, new AmazonSageMakerFeatureStoreRuntimeConfig{RegionEndpoint = region})
{
}
///
/// Constructs AmazonSageMakerFeatureStoreRuntimeClient with AWS Access Key ID, AWS Secret Key and an
/// AmazonSageMakerFeatureStoreRuntimeClient Configuration object.
///
/// AWS Access Key ID
/// AWS Secret Access Key
/// AWS Session Token
/// The AmazonSageMakerFeatureStoreRuntimeClient Configuration Object
public AmazonSageMakerFeatureStoreRuntimeClient(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken, AmazonSageMakerFeatureStoreRuntimeConfig clientConfig)
: base(awsAccessKeyId, awsSecretAccessKey, awsSessionToken, clientConfig)
{
}
#endregion
#region Overrides
///
/// Creates the signer for the service.
///
protected override AbstractAWSSigner CreateSigner()
{
return new AWS4Signer();
}
///
/// Customize the pipeline
///
///
protected override void CustomizeRuntimePipeline(RuntimePipeline pipeline)
{
pipeline.RemoveHandler();
pipeline.AddHandlerAfter(new AmazonSageMakerFeatureStoreRuntimeEndpointResolver());
}
///
/// Capture metadata for the service.
///
protected override IServiceMetadata ServiceMetadata
{
get
{
return serviceMetadata;
}
}
#endregion
#region Dispose
///
/// Disposes the service client.
///
protected override void Dispose(bool disposing)
{
base.Dispose(disposing);
}
#endregion
#region BatchGetRecord
///
/// Retrieves a batch of Records
from a FeatureGroup
.
///
/// Container for the necessary parameters to execute the BatchGetRecord service method.
///
/// The response from the BatchGetRecord service method, as returned by SageMakerFeatureStoreRuntime.
///
/// You do not have permission to perform an action.
///
///
/// An internal failure occurred. Try your request again. If the problem persists, contact
/// Amazon Web Services customer support.
///
///
/// The service is currently unavailable.
///
///
/// There was an error validating your request.
///
/// REST API Reference for BatchGetRecord Operation
public virtual BatchGetRecordResponse BatchGetRecord(BatchGetRecordRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = BatchGetRecordRequestMarshaller.Instance;
options.ResponseUnmarshaller = BatchGetRecordResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Retrieves a batch of Records
from a FeatureGroup
.
///
/// Container for the necessary parameters to execute the BatchGetRecord service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the BatchGetRecord service method, as returned by SageMakerFeatureStoreRuntime.
///
/// You do not have permission to perform an action.
///
///
/// An internal failure occurred. Try your request again. If the problem persists, contact
/// Amazon Web Services customer support.
///
///
/// The service is currently unavailable.
///
///
/// There was an error validating your request.
///
/// REST API Reference for BatchGetRecord Operation
public virtual Task BatchGetRecordAsync(BatchGetRecordRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = BatchGetRecordRequestMarshaller.Instance;
options.ResponseUnmarshaller = BatchGetRecordResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region DeleteRecord
///
/// Deletes a Record
from a FeatureGroup
in the OnlineStore
.
/// Feature Store supports both SoftDelete
and HardDelete
. For
/// SoftDelete
(default), feature columns are set to null
and
/// the record is no longer retrievable by GetRecord
or BatchGetRecord
.
/// For HardDelete
, the complete Record
is removed from the
/// OnlineStore
. In both cases, Feature Store appends the deleted record
/// marker to the OfflineStore
with feature values set to null
,
/// is_deleted
value set to True
, and EventTime
/// set to the delete input EventTime
.
///
///
///
/// Note that the EventTime
specified in DeleteRecord
should
/// be set later than the EventTime
of the existing record in the OnlineStore
/// for that RecordIdentifer
. If it is not, the deletion does not occur:
///
/// -
///
/// For
SoftDelete
, the existing (undeleted) record remains in the OnlineStore
,
/// though the delete record marker is still written to the OfflineStore
.
///
/// -
///
///
HardDelete
returns EventTime
: 400 ValidationException
/// to indicate that the delete operation failed. No delete record marker is written to
/// the OfflineStore
.
///
///
///
/// Container for the necessary parameters to execute the DeleteRecord service method.
///
/// The response from the DeleteRecord service method, as returned by SageMakerFeatureStoreRuntime.
///
/// You do not have permission to perform an action.
///
///
/// An internal failure occurred. Try your request again. If the problem persists, contact
/// Amazon Web Services customer support.
///
///
/// The service is currently unavailable.
///
///
/// There was an error validating your request.
///
/// REST API Reference for DeleteRecord Operation
public virtual DeleteRecordResponse DeleteRecord(DeleteRecordRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = DeleteRecordRequestMarshaller.Instance;
options.ResponseUnmarshaller = DeleteRecordResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Deletes a Record
from a FeatureGroup
in the OnlineStore
.
/// Feature Store supports both SoftDelete
and HardDelete
. For
/// SoftDelete
(default), feature columns are set to null
and
/// the record is no longer retrievable by GetRecord
or BatchGetRecord
.
/// For HardDelete
, the complete Record
is removed from the
/// OnlineStore
. In both cases, Feature Store appends the deleted record
/// marker to the OfflineStore
with feature values set to null
,
/// is_deleted
value set to True
, and EventTime
/// set to the delete input EventTime
.
///
///
///
/// Note that the EventTime
specified in DeleteRecord
should
/// be set later than the EventTime
of the existing record in the OnlineStore
/// for that RecordIdentifer
. If it is not, the deletion does not occur:
///
/// -
///
/// For
SoftDelete
, the existing (undeleted) record remains in the OnlineStore
,
/// though the delete record marker is still written to the OfflineStore
.
///
/// -
///
///
HardDelete
returns EventTime
: 400 ValidationException
/// to indicate that the delete operation failed. No delete record marker is written to
/// the OfflineStore
.
///
///
///
/// Container for the necessary parameters to execute the DeleteRecord service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DeleteRecord service method, as returned by SageMakerFeatureStoreRuntime.
///
/// You do not have permission to perform an action.
///
///
/// An internal failure occurred. Try your request again. If the problem persists, contact
/// Amazon Web Services customer support.
///
///
/// The service is currently unavailable.
///
///
/// There was an error validating your request.
///
/// REST API Reference for DeleteRecord Operation
public virtual Task DeleteRecordAsync(DeleteRecordRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = DeleteRecordRequestMarshaller.Instance;
options.ResponseUnmarshaller = DeleteRecordResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region GetRecord
///
/// Use for OnlineStore
serving from a FeatureStore
. Only the
/// latest records stored in the OnlineStore
can be retrieved. If no Record
/// with RecordIdentifierValue
is found, then an empty result is returned.
///
/// Container for the necessary parameters to execute the GetRecord service method.
///
/// The response from the GetRecord service method, as returned by SageMakerFeatureStoreRuntime.
///
/// You do not have permission to perform an action.
///
///
/// An internal failure occurred. Try your request again. If the problem persists, contact
/// Amazon Web Services customer support.
///
///
/// A resource that is required to perform an action was not found.
///
///
/// The service is currently unavailable.
///
///
/// There was an error validating your request.
///
/// REST API Reference for GetRecord Operation
public virtual GetRecordResponse GetRecord(GetRecordRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = GetRecordRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetRecordResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Use for OnlineStore
serving from a FeatureStore
. Only the
/// latest records stored in the OnlineStore
can be retrieved. If no Record
/// with RecordIdentifierValue
is found, then an empty result is returned.
///
/// Container for the necessary parameters to execute the GetRecord service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the GetRecord service method, as returned by SageMakerFeatureStoreRuntime.
///
/// You do not have permission to perform an action.
///
///
/// An internal failure occurred. Try your request again. If the problem persists, contact
/// Amazon Web Services customer support.
///
///
/// A resource that is required to perform an action was not found.
///
///
/// The service is currently unavailable.
///
///
/// There was an error validating your request.
///
/// REST API Reference for GetRecord Operation
public virtual Task GetRecordAsync(GetRecordRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = GetRecordRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetRecordResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region PutRecord
///
/// The PutRecord
API is used to ingest a list of Records
into
/// your feature group.
///
///
///
/// If a new record’s EventTime
is greater, the new record is written to
/// both the OnlineStore
and OfflineStore
. Otherwise, the record
/// is a historic record and it is written only to the OfflineStore
.
///
///
///
/// You can specify the ingestion to be applied to the OnlineStore
, OfflineStore
,
/// or both by using the TargetStores
request 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 the TtlDuration
parameter. A record level TtlDuration
/// is set when specifying the TtlDuration
parameter using the PutRecord
/// API call. If the input TtlDuration
is null
or unspecified,
/// TtlDuration
is set to the default feature group level TtlDuration
.
/// A record level TtlDuration
supersedes the group level TtlDuration
.
///
///
/// Container for the necessary parameters to execute the PutRecord service method.
///
/// The response from the PutRecord service method, as returned by SageMakerFeatureStoreRuntime.
///
/// You do not have permission to perform an action.
///
///
/// An internal failure occurred. Try your request again. If the problem persists, contact
/// Amazon Web Services customer support.
///
///
/// The service is currently unavailable.
///
///
/// There was an error validating your request.
///
/// REST API Reference for PutRecord Operation
public virtual PutRecordResponse PutRecord(PutRecordRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = PutRecordRequestMarshaller.Instance;
options.ResponseUnmarshaller = PutRecordResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// The PutRecord
API is used to ingest a list of Records
into
/// your feature group.
///
///
///
/// If a new record’s EventTime
is greater, the new record is written to
/// both the OnlineStore
and OfflineStore
. Otherwise, the record
/// is a historic record and it is written only to the OfflineStore
.
///
///
///
/// You can specify the ingestion to be applied to the OnlineStore
, OfflineStore
,
/// or both by using the TargetStores
request 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 the TtlDuration
parameter. A record level TtlDuration
/// is set when specifying the TtlDuration
parameter using the PutRecord
/// API call. If the input TtlDuration
is null
or unspecified,
/// TtlDuration
is set to the default feature group level TtlDuration
.
/// A record level TtlDuration
supersedes the group level TtlDuration
.
///
///
/// Container for the necessary parameters to execute the PutRecord service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the PutRecord service method, as returned by SageMakerFeatureStoreRuntime.
///
/// You do not have permission to perform an action.
///
///
/// An internal failure occurred. Try your request again. If the problem persists, contact
/// Amazon Web Services customer support.
///
///
/// The service is currently unavailable.
///
///
/// There was an error validating your request.
///
/// REST API Reference for PutRecord Operation
public virtual Task PutRecordAsync(PutRecordRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = PutRecordRequestMarshaller.Instance;
options.ResponseUnmarshaller = PutRecordResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
}
}