/* * 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 } }