/*
* 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.Threading;
using System.Threading.Tasks;
using System.Collections.Generic;
using Amazon.Runtime;
using Amazon.SageMakerFeatureStoreRuntime.Model;
namespace Amazon.SageMakerFeatureStoreRuntime
{
///
/// Interface 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 interface IAmazonSageMakerFeatureStoreRuntime : IAmazonService, IDisposable
{
#region BatchGetRecord
///
/// 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
Task BatchGetRecordAsync(BatchGetRecordRequest request, System.Threading.CancellationToken cancellationToken = default(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.
///
/// 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
Task DeleteRecordAsync(DeleteRecordRequest request, System.Threading.CancellationToken cancellationToken = default(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.
///
/// 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
Task GetRecordAsync(GetRecordRequest request, System.Threading.CancellationToken cancellationToken = default(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.
///
/// 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
Task PutRecordAsync(PutRecordRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
}
}