{ "version":"2.0", "metadata":{ "apiVersion":"2020-07-01", "endpointPrefix":"featurestore-runtime.sagemaker", "jsonVersion":"1.1", "protocol":"rest-json", "serviceFullName":"Amazon SageMaker Feature Store Runtime", "serviceId":"SageMaker FeatureStore Runtime", "signatureVersion":"v4", "signingName":"sagemaker", "uid":"sagemaker-featurestore-runtime-2020-07-01" }, "operations":{ "BatchGetRecord":{ "name":"BatchGetRecord", "http":{ "method":"POST", "requestUri":"/BatchGetRecord" }, "input":{"shape":"BatchGetRecordRequest"}, "output":{"shape":"BatchGetRecordResponse"}, "errors":[ {"shape":"ValidationError"}, {"shape":"InternalFailure"}, {"shape":"ServiceUnavailable"}, {"shape":"AccessForbidden"} ], "documentation":"

Retrieves a batch of Records from a FeatureGroup.

" }, "DeleteRecord":{ "name":"DeleteRecord", "http":{ "method":"DELETE", "requestUri":"/FeatureGroup/{FeatureGroupName}" }, "input":{"shape":"DeleteRecordRequest"}, "errors":[ {"shape":"ValidationError"}, {"shape":"InternalFailure"}, {"shape":"ServiceUnavailable"}, {"shape":"AccessForbidden"} ], "documentation":"

Deletes a Record from a FeatureGroup. A new record will show up in the OfflineStore when the DeleteRecord API is called. This record will have a value of True in the is_deleted column.

" }, "GetRecord":{ "name":"GetRecord", "http":{ "method":"GET", "requestUri":"/FeatureGroup/{FeatureGroupName}" }, "input":{"shape":"GetRecordRequest"}, "output":{"shape":"GetRecordResponse"}, "errors":[ {"shape":"ValidationError"}, {"shape":"ResourceNotFound"}, {"shape":"InternalFailure"}, {"shape":"ServiceUnavailable"}, {"shape":"AccessForbidden"} ], "documentation":"

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.

" }, "PutRecord":{ "name":"PutRecord", "http":{ "method":"PUT", "requestUri":"/FeatureGroup/{FeatureGroupName}" }, "input":{"shape":"PutRecordRequest"}, "errors":[ {"shape":"ValidationError"}, {"shape":"InternalFailure"}, {"shape":"ServiceUnavailable"}, {"shape":"AccessForbidden"} ], "documentation":"

Used for data ingestion into the FeatureStore. The PutRecord API writes to both the OnlineStore and OfflineStore. If the record is the latest record for the recordIdentifier, the record is written to both the OnlineStore and OfflineStore. If the record is a historic record, it is written only to the OfflineStore.

" } }, "shapes":{ "AccessForbidden":{ "type":"structure", "members":{ "Message":{"shape":"Message"} }, "documentation":"

You do not have permission to perform an action.

", "error":{"httpStatusCode":403}, "exception":true, "synthetic":true }, "BatchGetRecordError":{ "type":"structure", "required":[ "FeatureGroupName", "RecordIdentifierValueAsString", "ErrorCode", "ErrorMessage" ], "members":{ "FeatureGroupName":{ "shape":"ValueAsString", "documentation":"

The name of the feature group that the record belongs to.

" }, "RecordIdentifierValueAsString":{ "shape":"ValueAsString", "documentation":"

The value for the RecordIdentifier in string format of a Record from a FeatureGroup that is causing an error when attempting to be retrieved.

" }, "ErrorCode":{ "shape":"ValueAsString", "documentation":"

The error code of an error that has occured when attempting to retrieve a batch of Records. For more information on errors, see Errors.

" }, "ErrorMessage":{ "shape":"Message", "documentation":"

The error message of an error that has occured when attempting to retrieve a record in the batch.

" } }, "documentation":"

The error that has occurred when attempting to retrieve a batch of Records.

" }, "BatchGetRecordErrors":{ "type":"list", "member":{"shape":"BatchGetRecordError"}, "min":0 }, "BatchGetRecordIdentifier":{ "type":"structure", "required":[ "FeatureGroupName", "RecordIdentifiersValueAsString" ], "members":{ "FeatureGroupName":{ "shape":"FeatureGroupName", "documentation":"

A FeatureGroupName containing Records you are retrieving in a batch.

" }, "RecordIdentifiersValueAsString":{ "shape":"RecordIdentifiers", "documentation":"

The value for a list of record identifiers in string format.

" }, "FeatureNames":{ "shape":"FeatureNames", "documentation":"

List of names of Features to be retrieved. If not specified, the latest value for all the Features are returned.

" } }, "documentation":"

The identifier that identifies the batch of Records you are retrieving in a batch.

" }, "BatchGetRecordIdentifiers":{ "type":"list", "member":{"shape":"BatchGetRecordIdentifier"}, "max":10, "min":1 }, "BatchGetRecordRequest":{ "type":"structure", "required":["Identifiers"], "members":{ "Identifiers":{ "shape":"BatchGetRecordIdentifiers", "documentation":"

A list of FeatureGroup names, with their corresponding RecordIdentifier value, and Feature name that have been requested to be retrieved in batch.

" } } }, "BatchGetRecordResponse":{ "type":"structure", "required":[ "Records", "Errors", "UnprocessedIdentifiers" ], "members":{ "Records":{ "shape":"BatchGetRecordResultDetails", "documentation":"

A list of Records you requested to be retrieved in batch.

" }, "Errors":{ "shape":"BatchGetRecordErrors", "documentation":"

A list of errors that have occured when retrieving a batch of Records.

" }, "UnprocessedIdentifiers":{ "shape":"UnprocessedIdentifiers", "documentation":"

A unprocessed list of FeatureGroup names, with their corresponding RecordIdentifier value, and Feature name.

" } } }, "BatchGetRecordResultDetail":{ "type":"structure", "required":[ "FeatureGroupName", "RecordIdentifierValueAsString", "Record" ], "members":{ "FeatureGroupName":{ "shape":"ValueAsString", "documentation":"

The FeatureGroupName containing Records you retrieved in a batch.

" }, "RecordIdentifierValueAsString":{ "shape":"ValueAsString", "documentation":"

The value of the record identifer in string format.

" }, "Record":{ "shape":"Record", "documentation":"

The Record retrieved.

" } }, "documentation":"

The output of Records that have been retrieved in a batch.

" }, "BatchGetRecordResultDetails":{ "type":"list", "member":{"shape":"BatchGetRecordResultDetail"}, "min":0 }, "DeleteRecordRequest":{ "type":"structure", "required":[ "FeatureGroupName", "RecordIdentifierValueAsString", "EventTime" ], "members":{ "FeatureGroupName":{ "shape":"FeatureGroupName", "documentation":"

The name of the feature group to delete the record from.

", "location":"uri", "locationName":"FeatureGroupName" }, "RecordIdentifierValueAsString":{ "shape":"ValueAsString", "documentation":"

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

", "location":"querystring", "locationName":"RecordIdentifierValueAsString" }, "EventTime":{ "shape":"ValueAsString", "documentation":"

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

", "location":"querystring", "locationName":"EventTime" } } }, "FeatureGroupName":{ "type":"string", "max":64, "min":1, "pattern":"^[a-zA-Z0-9](-*[a-zA-Z0-9])*" }, "FeatureName":{ "type":"string", "max":64, "min":1, "pattern":"^[a-zA-Z0-9]([-_]*[a-zA-Z0-9])*" }, "FeatureNames":{ "type":"list", "member":{"shape":"FeatureName"}, "min":1 }, "FeatureValue":{ "type":"structure", "required":[ "FeatureName", "ValueAsString" ], "members":{ "FeatureName":{ "shape":"FeatureName", "documentation":"

The name of a feature that a feature value corresponds to.

" }, "ValueAsString":{ "shape":"ValueAsString", "documentation":"

The value associated with a feature, in string format. Note that features types can be String, Integral, or Fractional. This value represents all three types as a string.

" } }, "documentation":"

The value associated with a feature.

" }, "GetRecordRequest":{ "type":"structure", "required":[ "FeatureGroupName", "RecordIdentifierValueAsString" ], "members":{ "FeatureGroupName":{ "shape":"FeatureGroupName", "documentation":"

The name of the feature group in which you want to put the records.

", "location":"uri", "locationName":"FeatureGroupName" }, "RecordIdentifierValueAsString":{ "shape":"ValueAsString", "documentation":"

The value that corresponds to RecordIdentifier type and uniquely identifies the record in the FeatureGroup.

", "location":"querystring", "locationName":"RecordIdentifierValueAsString" }, "FeatureNames":{ "shape":"FeatureNames", "documentation":"

List of names of Features to be retrieved. If not specified, the latest value for all the Features are returned.

", "location":"querystring", "locationName":"FeatureName" } } }, "GetRecordResponse":{ "type":"structure", "members":{ "Record":{ "shape":"Record", "documentation":"

The record you requested. A list of FeatureValues.

" } } }, "InternalFailure":{ "type":"structure", "members":{ "Message":{"shape":"Message"} }, "documentation":"

An internal failure occurred. Try your request again. If the problem persists, contact AWS customer support.

", "error":{"httpStatusCode":500}, "exception":true, "fault":true, "synthetic":true }, "Message":{ "type":"string", "max":2048 }, "PutRecordRequest":{ "type":"structure", "required":[ "FeatureGroupName", "Record" ], "members":{ "FeatureGroupName":{ "shape":"FeatureGroupName", "documentation":"

The name of the feature group that you want to insert the record into.

", "location":"uri", "locationName":"FeatureGroupName" }, "Record":{ "shape":"Record", "documentation":"

List of FeatureValues to be inserted. This will be a full over-write. If you only want to update few of the feature values, do the following:

" } } }, "Record":{ "type":"list", "member":{"shape":"FeatureValue"}, "min":1 }, "RecordIdentifiers":{ "type":"list", "member":{"shape":"ValueAsString"}, "max":100, "min":1 }, "ResourceNotFound":{ "type":"structure", "members":{ "Message":{"shape":"Message"} }, "documentation":"

A resource that is required to perform an action was not found.

", "error":{"httpStatusCode":404}, "exception":true }, "ServiceUnavailable":{ "type":"structure", "members":{ "Message":{"shape":"Message"} }, "documentation":"

The service is currently unavailable.

", "error":{"httpStatusCode":503}, "exception":true, "fault":true, "synthetic":true }, "UnprocessedIdentifiers":{ "type":"list", "member":{"shape":"BatchGetRecordIdentifier"}, "min":0 }, "ValidationError":{ "type":"structure", "members":{ "Message":{"shape":"Message"} }, "documentation":"

There was an error validating your request.

", "error":{"httpStatusCode":400}, "exception":true, "synthetic":true }, "ValueAsString":{ "type":"string", "max":358400, "pattern":".*" } }, "documentation":"

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:

" }