:doc:`SageMakerFeatureStoreRuntime <../../sagemaker-featurestore-runtime>` / Client / delete_record

*************
delete_record
*************



.. py:method:: SageMakerFeatureStoreRuntime.Client.delete_record(**kwargs)

  

  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``. The deleted record marker is a record with the same ``RecordIdentifer`` as the original, but with ``is_deleted`` value set to ``True``, ``EventTime`` set to the delete input ``EventTime``, and other feature values set to ``null``.

   

  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 (not deleted) 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``.
  

   

  When a record is deleted from the ``OnlineStore``, the deleted record marker is appended to the ``OfflineStore``. If you have the Iceberg table format enabled for your ``OfflineStore``, you can remove all history of a record from the ``OfflineStore`` using Amazon Athena or Apache Spark. For information on how to hard delete a record from the ``OfflineStore`` with the Iceberg table format enabled, see `Delete records from the offline store <https://docs.aws.amazon.com/sagemaker/latest/dg/feature-store-delete-records-offline-store.html#feature-store-delete-records-offline-store>`__.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/sagemaker-featurestore-runtime-2020-07-01/DeleteRecord>`_  


  **Request Syntax**
  ::

    response = client.delete_record(
        FeatureGroupName='string',
        RecordIdentifierValueAsString='string',
        EventTime='string',
        TargetStores=[
            'OnlineStore'|'OfflineStore',
        ],
        DeletionMode='SoftDelete'|'HardDelete'
    )
    
  :type FeatureGroupName: string
  :param FeatureGroupName: **[REQUIRED]** 

    The name or Amazon Resource Name (ARN) of the feature group to delete the record from.

    

  
  :type RecordIdentifierValueAsString: string
  :param RecordIdentifierValueAsString: **[REQUIRED]** 

    The value for the ``RecordIdentifier`` that uniquely identifies the record, in string format.

    

  
  :type EventTime: string
  :param EventTime: **[REQUIRED]** 

    Timestamp indicating when the deletion event occurred. ``EventTime`` can be used to query data at a certain point in time.

    

  
  :type TargetStores: list
  :param 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``.

    

  
    - *(string) --* 

    

  :type DeletionMode: string
  :param DeletionMode: 

    The name of the deletion mode for deleting the record. By default, the deletion mode is set to ``SoftDelete``.

    

  
  
  :returns: None
  **Exceptions**
  
  *   :py:class:`SageMakerFeatureStoreRuntime.Client.exceptions.ValidationError`

  
  *   :py:class:`SageMakerFeatureStoreRuntime.Client.exceptions.InternalFailure`

  
  *   :py:class:`SageMakerFeatureStoreRuntime.Client.exceptions.ServiceUnavailable`

  
  *   :py:class:`SageMakerFeatureStoreRuntime.Client.exceptions.AccessForbidden`

  