/*
* 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.Collections.Generic;
using System.Xml.Serialization;
using System.Text;
using System.IO;
using System.Net;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
namespace Amazon.SageMakerFeatureStoreRuntime.Model
{
///
/// Container for the parameters to the DeleteRecord operation.
/// 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
.
///
///
///
public partial class DeleteRecordRequest : AmazonSageMakerFeatureStoreRuntimeRequest
{
private DeletionMode _deletionMode;
private string _eventTime;
private string _featureGroupName;
private string _recordIdentifierValueAsString;
private List _targetStores = new List();
///
/// Gets and sets the property DeletionMode.
///
/// The name of the deletion mode for deleting the record. By default, the deletion mode
/// is set to SoftDelete
.
///
///
public DeletionMode DeletionMode
{
get { return this._deletionMode; }
set { this._deletionMode = value; }
}
// Check to see if DeletionMode property is set
internal bool IsSetDeletionMode()
{
return this._deletionMode != null;
}
///
/// Gets and sets the property EventTime.
///
/// Timestamp indicating when the deletion event occurred. EventTime
can
/// be used to query data at a certain point in time.
///
///
[AWSProperty(Required=true, Max=358400)]
public string EventTime
{
get { return this._eventTime; }
set { this._eventTime = value; }
}
// Check to see if EventTime property is set
internal bool IsSetEventTime()
{
return this._eventTime != null;
}
///
/// Gets and sets the property FeatureGroupName.
///
/// The name or Amazon Resource Name (ARN) of the feature group to delete the record from.
///
///
///
[AWSProperty(Required=true, Min=1, Max=150)]
public string FeatureGroupName
{
get { return this._featureGroupName; }
set { this._featureGroupName = value; }
}
// Check to see if FeatureGroupName property is set
internal bool IsSetFeatureGroupName()
{
return this._featureGroupName != null;
}
///
/// Gets and sets the property RecordIdentifierValueAsString.
///
/// The value for the RecordIdentifier
that uniquely identifies the record,
/// in string format.
///
///
[AWSProperty(Required=true, Max=358400)]
public string RecordIdentifierValueAsString
{
get { return this._recordIdentifierValueAsString; }
set { this._recordIdentifierValueAsString = value; }
}
// Check to see if RecordIdentifierValueAsString property is set
internal bool IsSetRecordIdentifierValueAsString()
{
return this._recordIdentifierValueAsString != null;
}
///
/// Gets and sets the property TargetStores.
///
/// A 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
.
///
///
[AWSProperty(Min=1, Max=2)]
public List TargetStores
{
get { return this._targetStores; }
set { this._targetStores = value; }
}
// Check to see if TargetStores property is set
internal bool IsSetTargetStores()
{
return this._targetStores != null && this._targetStores.Count > 0;
}
}
}