'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', ], ], ], 'DeleteRecord' => [ 'name' => 'DeleteRecord', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/FeatureGroup/{FeatureGroupName}', ], 'input' => [ 'shape' => 'DeleteRecordRequest', ], 'errors' => [ [ 'shape' => 'ValidationError', ], [ 'shape' => 'InternalFailure', ], [ 'shape' => 'ServiceUnavailable', ], [ 'shape' => 'AccessForbidden', ], ], ], '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', ], ], ], 'PutRecord' => [ 'name' => 'PutRecord', 'http' => [ 'method' => 'PUT', 'requestUri' => '/FeatureGroup/{FeatureGroupName}', ], 'input' => [ 'shape' => 'PutRecordRequest', ], 'errors' => [ [ 'shape' => 'ValidationError', ], [ 'shape' => 'InternalFailure', ], [ 'shape' => 'ServiceUnavailable', ], [ 'shape' => 'AccessForbidden', ], ], ], ], 'shapes' => [ 'AccessForbidden' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'Message', ], ], 'error' => [ 'httpStatusCode' => 403, ], 'exception' => true, 'synthetic' => true, ], 'BatchGetRecordError' => [ 'type' => 'structure', 'required' => [ 'FeatureGroupName', 'RecordIdentifierValueAsString', 'ErrorCode', 'ErrorMessage', ], 'members' => [ 'FeatureGroupName' => [ 'shape' => 'ValueAsString', ], 'RecordIdentifierValueAsString' => [ 'shape' => 'ValueAsString', ], 'ErrorCode' => [ 'shape' => 'ValueAsString', ], 'ErrorMessage' => [ 'shape' => 'Message', ], ], ], 'BatchGetRecordErrors' => [ 'type' => 'list', 'member' => [ 'shape' => 'BatchGetRecordError', ], 'min' => 0, ], 'BatchGetRecordIdentifier' => [ 'type' => 'structure', 'required' => [ 'FeatureGroupName', 'RecordIdentifiersValueAsString', ], 'members' => [ 'FeatureGroupName' => [ 'shape' => 'FeatureGroupNameOrArn', ], 'RecordIdentifiersValueAsString' => [ 'shape' => 'RecordIdentifiers', ], 'FeatureNames' => [ 'shape' => 'FeatureNames', ], ], ], 'BatchGetRecordIdentifiers' => [ 'type' => 'list', 'member' => [ 'shape' => 'BatchGetRecordIdentifier', ], 'max' => 10, 'min' => 1, ], 'BatchGetRecordRequest' => [ 'type' => 'structure', 'required' => [ 'Identifiers', ], 'members' => [ 'Identifiers' => [ 'shape' => 'BatchGetRecordIdentifiers', ], 'ExpirationTimeResponse' => [ 'shape' => 'ExpirationTimeResponse', ], ], ], 'BatchGetRecordResponse' => [ 'type' => 'structure', 'required' => [ 'Records', 'Errors', 'UnprocessedIdentifiers', ], 'members' => [ 'Records' => [ 'shape' => 'BatchGetRecordResultDetails', ], 'Errors' => [ 'shape' => 'BatchGetRecordErrors', ], 'UnprocessedIdentifiers' => [ 'shape' => 'UnprocessedIdentifiers', ], ], ], 'BatchGetRecordResultDetail' => [ 'type' => 'structure', 'required' => [ 'FeatureGroupName', 'RecordIdentifierValueAsString', 'Record', ], 'members' => [ 'FeatureGroupName' => [ 'shape' => 'ValueAsString', ], 'RecordIdentifierValueAsString' => [ 'shape' => 'ValueAsString', ], 'Record' => [ 'shape' => 'Record', ], 'ExpiresAt' => [ 'shape' => 'ExpiresAt', ], ], ], 'BatchGetRecordResultDetails' => [ 'type' => 'list', 'member' => [ 'shape' => 'BatchGetRecordResultDetail', ], 'min' => 0, ], 'DeleteRecordRequest' => [ 'type' => 'structure', 'required' => [ 'FeatureGroupName', 'RecordIdentifierValueAsString', 'EventTime', ], 'members' => [ 'FeatureGroupName' => [ 'shape' => 'FeatureGroupNameOrArn', 'location' => 'uri', 'locationName' => 'FeatureGroupName', ], 'RecordIdentifierValueAsString' => [ 'shape' => 'ValueAsString', 'location' => 'querystring', 'locationName' => 'RecordIdentifierValueAsString', ], 'EventTime' => [ 'shape' => 'ValueAsString', 'location' => 'querystring', 'locationName' => 'EventTime', ], 'TargetStores' => [ 'shape' => 'TargetStores', 'location' => 'querystring', 'locationName' => 'TargetStores', ], 'DeletionMode' => [ 'shape' => 'DeletionMode', 'location' => 'querystring', 'locationName' => 'DeletionMode', ], ], ], 'DeletionMode' => [ 'type' => 'string', 'enum' => [ 'SoftDelete', 'HardDelete', ], ], 'ExpirationTimeResponse' => [ 'type' => 'string', 'enum' => [ 'Enabled', 'Disabled', ], ], 'ExpiresAt' => [ 'type' => 'string', ], 'FeatureGroupNameOrArn' => [ 'type' => 'string', 'max' => 150, 'min' => 1, 'pattern' => '(arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:feature-group/)?([a-zA-Z0-9]([-_]*[a-zA-Z0-9]){0,63})', ], 'FeatureName' => [ 'type' => 'string', 'max' => 64, 'min' => 1, 'pattern' => '^[a-zA-Z0-9]([-_]*[a-zA-Z0-9]){0,63}', ], 'FeatureNames' => [ 'type' => 'list', 'member' => [ 'shape' => 'FeatureName', ], 'min' => 1, ], 'FeatureValue' => [ 'type' => 'structure', 'required' => [ 'FeatureName', ], 'members' => [ 'FeatureName' => [ 'shape' => 'FeatureName', ], 'ValueAsString' => [ 'shape' => 'ValueAsString', ], 'ValueAsStringList' => [ 'shape' => 'ValueAsStringList', ], ], ], 'GetRecordRequest' => [ 'type' => 'structure', 'required' => [ 'FeatureGroupName', 'RecordIdentifierValueAsString', ], 'members' => [ 'FeatureGroupName' => [ 'shape' => 'FeatureGroupNameOrArn', 'location' => 'uri', 'locationName' => 'FeatureGroupName', ], 'RecordIdentifierValueAsString' => [ 'shape' => 'ValueAsString', 'location' => 'querystring', 'locationName' => 'RecordIdentifierValueAsString', ], 'FeatureNames' => [ 'shape' => 'FeatureNames', 'location' => 'querystring', 'locationName' => 'FeatureName', ], 'ExpirationTimeResponse' => [ 'shape' => 'ExpirationTimeResponse', 'location' => 'querystring', 'locationName' => 'ExpirationTimeResponse', ], ], ], 'GetRecordResponse' => [ 'type' => 'structure', 'members' => [ 'Record' => [ 'shape' => 'Record', ], 'ExpiresAt' => [ 'shape' => 'ExpiresAt', ], ], ], 'InternalFailure' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'Message', ], ], 'error' => [ 'httpStatusCode' => 500, ], 'exception' => true, 'fault' => true, 'synthetic' => true, ], 'Message' => [ 'type' => 'string', 'max' => 2048, ], 'PutRecordRequest' => [ 'type' => 'structure', 'required' => [ 'FeatureGroupName', 'Record', ], 'members' => [ 'FeatureGroupName' => [ 'shape' => 'FeatureGroupNameOrArn', 'location' => 'uri', 'locationName' => 'FeatureGroupName', ], 'Record' => [ 'shape' => 'Record', ], 'TargetStores' => [ 'shape' => 'TargetStores', ], 'TtlDuration' => [ 'shape' => 'TtlDuration', ], ], ], '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', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'ServiceUnavailable' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'Message', ], ], 'error' => [ 'httpStatusCode' => 503, ], 'exception' => true, 'fault' => true, 'synthetic' => true, ], 'TargetStore' => [ 'type' => 'string', 'enum' => [ 'OnlineStore', 'OfflineStore', ], ], 'TargetStores' => [ 'type' => 'list', 'member' => [ 'shape' => 'TargetStore', ], 'max' => 2, 'min' => 1, ], 'TtlDuration' => [ 'type' => 'structure', 'required' => [ 'Unit', 'Value', ], 'members' => [ 'Unit' => [ 'shape' => 'TtlDurationUnit', ], 'Value' => [ 'shape' => 'TtlDurationValue', ], ], ], 'TtlDurationUnit' => [ 'type' => 'string', 'enum' => [ 'Seconds', 'Minutes', 'Hours', 'Days', 'Weeks', ], ], 'TtlDurationValue' => [ 'type' => 'integer', 'min' => 1, ], 'UnprocessedIdentifiers' => [ 'type' => 'list', 'member' => [ 'shape' => 'BatchGetRecordIdentifier', ], 'min' => 0, ], 'ValidationError' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'Message', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, 'synthetic' => true, ], 'ValueAsString' => [ 'type' => 'string', 'max' => 358400, 'pattern' => '.*', ], 'ValueAsStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ValueAsString', ], 'max' => 358400, 'min' => 0, ], ],];