diff --git a/sagemaker-core/sample/sagemaker-featurestore-runtime/2020-07-01/service-2.json b/sagemaker-core/sample/sagemaker-featurestore-runtime/2020-07-01/service-2.json index afd735cfb8..82a5de2b5e 100644 --- a/sagemaker-core/sample/sagemaker-featurestore-runtime/2020-07-01/service-2.json +++ b/sagemaker-core/sample/sagemaker-featurestore-runtime/2020-07-01/service-2.json @@ -127,7 +127,7 @@ {"shape":"ResourceNotFound"}, {"shape":"ConflictException"} ], - "documentation":"
Updates one or more feature values for an existing record in the specified feature group. Features that you do not include in the request remain unchanged. You can update up to 100 features per call. This operation requires the online store and is available only for feature groups that use the Standard_V2 or InMemory online store type.
The record must already exist in the online store; if it does not exist or has been soft-deleted, the operation returns a ResourceNotFound error. To create a record, use PutRecord.
Pass EventTime as a feature in the Features list rather than as a top-level parameter. If you provide an EventTime that is older than the record's current EventTime, the update is rejected with a ConflictException; if it is equal to or newer, the update is applied; if you omit it, the record's existing EventTime is kept. If you specify TtlDuration you must also provide an EventTime, otherwise a ValidationError is returned. TargetStores must include the OnlineStore; a value that resolves to the OfflineStore only is rejected.
Updates one or more feature values for an existing record in the specified feature group. Features that you do not include in the request remain unchanged. You can update up to 100 features per call.
This operation is available only for feature groups that use the Standard_V2 or InMemory online store type.
The record must already exist. If the record does not exist or has been soft-deleted, the operation returns a ResourceNotFound error. To create a record, use PutRecord.
If you provide an EventTime that is older than the record's current EventTime, the service rejects the update with a ConflictException. If the EventTime is equal to or newer than the current value, the service applies the update. If you omit EventTime, the service keeps the record's existing EventTime and applies the update.
If you specify a TtlDuration, you must also provide an EventTime in the request. Otherwise, the operation returns a ValidationError.
The request conflicts with the current state of the record. This is returned by UpdateRecord when the supplied EventTime is not greater than the record's current EventTime.
The service rejected the update because the provided EventTime is older than the record's current EventTime. To persist the update, retrieve the record's latest EventTime and resubmit the request with an EventTime that is equal to or newer than the current value.
The name or Amazon Resource Name (ARN) of the feature group that contains the record you want to update. The feature group must use an OnlineStoreConfig StorageType of Standard_V2 or InMemory.
The identifier for the feature group that contains the record to update. You can specify one of the following:
The feature group name.
The feature group Amazon Resource Name (ARN).
The value for the RecordIdentifier that uniquely identifies the record to update, in string format.
The value that uniquely identifies the record in the feature group. This must match the value defined by the feature group's record identifier feature.
" }, "Features":{ "shape":"Record", - "documentation":"The feature values to write to the record. Only the features included here are written; features that are not listed are preserved. Pass EventTime as a feature in this list. You can update up to 100 features per call.
The feature values to write to the record.
" }, "TargetStores":{ "shape":"TargetStores", - "documentation":"A list of stores to which the update is applied. By default, Feature Store applies the update to all of the stores that you're using for the FeatureGroup. A value that resolves to the OfflineStore only is rejected.
The target stores for the record update. By default, Amazon SageMaker Feature Store updates the record in all stores associated with the FeatureGroup.
Time to live duration, where the record is hard deleted after the expiration time is reached; ExpiresAt = EventTime + TtlDuration. Specifying TtlDuration requires EventTime to be present in Features.
The time-to-live (TTL) duration for the record. Amazon SageMaker Feature Store deletes the record when EventTime + TtlDuration elapses. If you omit this parameter, the record's existing TTL setting remains unchanged. For information about HardDelete, see the DeleteRecord operation in the Amazon SageMaker API Reference.
After you deploy a model into production using Amazon SageMaker hosting services, your client applications use this API to get inferences from the model hosted at the specified endpoint.
For an overview of Amazon SageMaker, see How It Works.
Amazon SageMaker strips all POST headers except those supported by the API. Amazon SageMaker might add additional headers. You should not rely on the behavior of headers outside those enumerated in the request syntax.
Calls to InvokeEndpoint are authenticated by using Amazon Web Services Signature Version 4. For information, see Authenticating Requests (Amazon Web Services Signature Version 4) in the Amazon S3 API Reference.
A customer's model containers must respond to requests within 60 seconds. The model itself can have a maximum processing time of 60 seconds before responding to invocations. If your model is going to take 50-60 seconds of processing time, the SDK socket timeout should be set to be 70 seconds.
Endpoints are scoped to an individual account, and are not public. The URL does not contain the account ID, but Amazon SageMaker determines the account ID from the authentication token that is supplied by the caller.
After you deploy a model into production using Amazon SageMaker AI hosting services, your client applications use this API to get inferences from the model hosted at the specified endpoint.
For an overview of Amazon SageMaker AI, see How It Works.
Amazon SageMaker AI strips all POST headers except those supported by the API. Amazon SageMaker AI might add additional headers. You should not rely on the behavior of headers outside those enumerated in the request syntax.
Calls to InvokeEndpoint are authenticated by using Amazon Web Services Signature Version 4. For information, see Authenticating Requests (Amazon Web Services Signature Version 4) in the Amazon S3 API Reference.
A customer's model containers must respond to requests within 60 seconds. The model itself can have a maximum processing time of 60 seconds before responding to invocations. If your model is going to take 50-60 seconds of processing time, the SDK socket timeout should be set to be 70 seconds.
Endpoints are scoped to an individual account, and are not public. The URL does not contain the account ID, but Amazon SageMaker AI determines the account ID from the authentication token that is supplied by the caller.
After you deploy a model into production using Amazon SageMaker hosting services, your client applications use this API to get inferences from the model hosted at the specified endpoint in an asynchronous manner.
Inference requests sent to this API are enqueued for asynchronous processing. The processing of the inference request may or may not complete before you receive a response from this API. The response from this API will not contain the result of the inference request but contain information about where you can locate it.
Amazon SageMaker strips all POST headers except those supported by the API. Amazon SageMaker might add additional headers. You should not rely on the behavior of headers outside those enumerated in the request syntax.
Calls to InvokeEndpointAsync are authenticated by using Amazon Web Services Signature Version 4. For information, see Authenticating Requests (Amazon Web Services Signature Version 4) in the Amazon S3 API Reference.
After you deploy a model into production using Amazon SageMaker AI hosting services, your client applications use this API to get inferences from the model hosted at the specified endpoint in an asynchronous manner.
Inference requests sent to this API are enqueued for asynchronous processing. The processing of the inference request may or may not complete before you receive a response from this API. The response from this API will not contain the result of the inference request but contain information about where you can locate it.
Amazon SageMaker AI strips all POST headers except those supported by the API. Amazon SageMaker AI might add additional headers. You should not rely on the behavior of headers outside those enumerated in the request syntax.
Calls to InvokeEndpointAsync are authenticated by using Amazon Web Services Signature Version 4. For information, see Authenticating Requests (Amazon Web Services Signature Version 4) in the Amazon S3 API Reference.
Invokes a model at the specified endpoint to return the inference response as a stream. The inference stream provides the response payload incrementally as a series of parts. Before you can get an inference stream, you must have access to a model that's deployed using Amazon SageMaker hosting services, and the container for that model must support inference streaming.
For more information that can help you use this API, see the following sections in the Amazon SageMaker Developer Guide:
For information about how to add streaming support to a model, see How Containers Serve Requests.
For information about how to process the streaming response, see Invoke real-time endpoints.
Before you can use this operation, your IAM permissions must allow the sagemaker:InvokeEndpoint action. For more information about Amazon SageMaker actions for IAM policies, see Actions, resources, and condition keys for Amazon SageMaker in the IAM Service Authorization Reference.
Amazon SageMaker strips all POST headers except those supported by the API. Amazon SageMaker might add additional headers. You should not rely on the behavior of headers outside those enumerated in the request syntax.
Calls to InvokeEndpointWithResponseStream are authenticated by using Amazon Web Services Signature Version 4. For information, see Authenticating Requests (Amazon Web Services Signature Version 4) in the Amazon S3 API Reference.
Invokes a model at the specified endpoint to return the inference response as a stream. The inference stream provides the response payload incrementally as a series of parts. Before you can get an inference stream, you must have access to a model that's deployed using Amazon SageMaker AI hosting services, and the container for that model must support inference streaming.
For more information that can help you use this API, see the following sections in the Amazon SageMaker AI Developer Guide:
For information about how to add streaming support to a model, see How Containers Serve Requests.
For information about how to process the streaming response, see Invoke real-time endpoints.
Before you can use this operation, your IAM permissions must allow the sagemaker:InvokeEndpoint action. For more information about Amazon SageMaker AI actions for IAM policies, see Actions, resources, and condition keys for Amazon SageMaker AI in the IAM Service Authorization Reference.
Amazon SageMaker AI strips all POST headers except those supported by the API. Amazon SageMaker AI might add additional headers. You should not rely on the behavior of headers outside those enumerated in the request syntax.
Calls to InvokeEndpointWithResponseStream are authenticated by using Amazon Web Services Signature Version 4. For information, see Authenticating Requests (Amazon Web Services Signature Version 4) in the Amazon S3 API Reference.
Provides additional information about a request for an inference submitted to a model hosted at an Amazon SageMaker endpoint. The information is an opaque value that is forwarded verbatim. You could use this value, for example, to provide an ID that you can use to track a request or to provide other metadata that a service endpoint was programmed to process. The value must consist of no more than 1024 visible US-ASCII characters as specified in Section 3.3.6. Field Value Components of the Hypertext Transfer Protocol (HTTP/1.1).
The code in your model is responsible for setting or updating any custom attributes in the response. If your code does not set this value in the response, an empty value is returned. For example, if a custom attribute represents the trace ID, your model can prepend the custom attribute with Trace ID: in your post-processing function.
This feature is currently supported in the Amazon Web Services SDKs but not in the Amazon SageMaker Python SDK.
", + "documentation":"Provides additional information about a request for an inference submitted to a model hosted at an Amazon SageMaker AI endpoint. The information is an opaque value that is forwarded verbatim. You could use this value, for example, to provide an ID that you can use to track a request or to provide other metadata that a service endpoint was programmed to process. The value must consist of no more than 1024 visible US-ASCII characters as specified in Section 3.3.6. Field Value Components of the Hypertext Transfer Protocol (HTTP/1.1).
The code in your model is responsible for setting or updating any custom attributes in the response. If your code does not set this value in the response, an empty value is returned. For example, if a custom attribute represents the trace ID, your model can prepend the custom attribute with Trace ID: in your post-processing function.
This feature is currently supported in the Amazon Web Services SDKs but not in the Amazon SageMaker AI Python SDK.
", "location":"header", "locationName":"X-Amzn-SageMaker-Custom-Attributes" }, "InferenceId":{ "shape":"InferenceId", - "documentation":"The identifier for the inference request. Amazon SageMaker will generate an identifier for you if none is specified.
", + "documentation":"The identifier for the inference request. Amazon SageMaker AI will generate an identifier for you if none is specified.
", "location":"header", "locationName":"X-Amzn-SageMaker-Inference-Id" }, @@ -193,6 +201,18 @@ "location":"header", "locationName":"X-Amzn-SageMaker-InputLocation" }, + "S3OutputPathExtension":{ + "shape":"S3OutputPathExtensionHeader", + "documentation":"The path extension that is appended to the Amazon S3 output path where the inference response payload is stored.
", + "location":"header", + "locationName":"X-Amzn-SageMaker-S3OutputPathExtension" + }, + "Filename":{ + "shape":"FilenameHeader", + "documentation":"The filename for the inference response payload stored in Amazon S3. If not specified, Amazon SageMaker AI generates a filename based on the inference ID.
", + "location":"header", + "locationName":"X-Amzn-SageMaker-Filename" + }, "RequestTTLSeconds":{ "shape":"RequestTTLSecondsHeader", "documentation":"Maximum age in seconds a request can be in the queue before it is marked as expired. The default is 6 hours, or 21,600 seconds.
", @@ -204,15 +224,20 @@ "documentation":"Maximum amount of time in seconds a request can be processed before it is marked as expired. The default is 15 minutes, or 900 seconds.
", "location":"header", "locationName":"X-Amzn-SageMaker-InvocationTimeoutSeconds" + }, + "Body":{ + "shape":"AsyncBodyBlob", + "documentation":"Provides inline input data for the inference request, in the format specified in the ContentType request header. Use this parameter to send the request payload directly in the API call instead of uploading it to Amazon S3 and referencing it with InputLocation. The inline payload can be up to 128,000 bytes.
Body and InputLocation are mutually exclusive. Provide exactly one of them.
For information about the format of the request body, see Common Data Formats-Inference.
" } - } + }, + "payload":"Body" }, "InvokeEndpointAsyncOutput":{ "type":"structure", "members":{ "InferenceId":{ "shape":"Header", - "documentation":"Identifier for an inference request. This will be the same as the InferenceId specified in the input. Amazon SageMaker will generate an identifier for you if you do not specify one.
Identifier for an inference request. This will be the same as the InferenceId specified in the input. Amazon SageMaker AI will generate an identifier for you if you do not specify one.
Provides input data, in the format specified in the ContentType request header. Amazon SageMaker passes all of the data in the body to the model.
For information about the format of the request body, see Common Data Formats-Inference.
" + "documentation":"Provides input data, in the format specified in the ContentType request header. Amazon SageMaker AI passes all of the data in the body to the model.
For information about the format of the request body, see Common Data Formats-Inference.
" }, "ContentType":{ "shape":"Header", @@ -259,7 +284,7 @@ }, "CustomAttributes":{ "shape":"CustomAttributesHeader", - "documentation":"Provides additional information about a request for an inference submitted to a model hosted at an Amazon SageMaker endpoint. The information is an opaque value that is forwarded verbatim. You could use this value, for example, to provide an ID that you can use to track a request or to provide other metadata that a service endpoint was programmed to process. The value must consist of no more than 1024 visible US-ASCII characters as specified in Section 3.3.6. Field Value Components of the Hypertext Transfer Protocol (HTTP/1.1).
The code in your model is responsible for setting or updating any custom attributes in the response. If your code does not set this value in the response, an empty value is returned. For example, if a custom attribute represents the trace ID, your model can prepend the custom attribute with Trace ID: in your post-processing function.
This feature is currently supported in the Amazon Web Services SDKs but not in the Amazon SageMaker Python SDK.
", + "documentation":"Provides additional information about a request for an inference submitted to a model hosted at an Amazon SageMaker AI endpoint. The information is an opaque value that is forwarded verbatim. You could use this value, for example, to provide an ID that you can use to track a request or to provide other metadata that a service endpoint was programmed to process. The value must consist of no more than 1024 visible US-ASCII characters as specified in Section 3.3.6. Field Value Components of the Hypertext Transfer Protocol (HTTP/1.1).
The code in your model is responsible for setting or updating any custom attributes in the response. If your code does not set this value in the response, an empty value is returned. For example, if a custom attribute represents the trace ID, your model can prepend the custom attribute with Trace ID: in your post-processing function.
This feature is currently supported in the Amazon Web Services SDKs but not in the Amazon SageMaker AI Python SDK.
", "location":"header", "locationName":"X-Amzn-SageMaker-Custom-Attributes" }, @@ -301,9 +326,15 @@ }, "SessionId":{ "shape":"SessionIdOrNewSessionConstantHeader", - "documentation":"Creates a stateful session or identifies an existing one. You can do one of the following:
Create a stateful session by specifying the value NEW_SESSION.
Send your request to an existing stateful session by specifying the ID of that session.
With a stateful session, you can send multiple requests to a stateful model. When you create a session with a stateful model, the model must create the session ID and set the expiration time. The model must also provide that information in the response to your request. You can get the ID and timestamp from the NewSessionId response parameter. For any subsequent request where you specify that session ID, SageMaker routes the request to the same instance that supports the session.
Creates a stateful session or identifies an existing one. You can do one of the following:
Create a stateful session by specifying the value NEW_SESSION.
Send your request to an existing stateful session by specifying the ID of that session.
With a stateful session, you can send multiple requests to a stateful model. When you create a session with a stateful model, the model must create the session ID and set the expiration time. The model must also provide that information in the response to your request. You can get the ID and timestamp from the NewSessionId response parameter. For any subsequent request where you specify that session ID, SageMaker AI routes the request to the same instance that supports the session.
An optional, stable identifier that serves as a routing hint for prefix-aware routing. The service routes requests with the same prefix and the same identifier to the same instance. If requests from different applications might have the same prompt prefix, set a different identifier for each application to differentiate their routing decisions.
Applies only to endpoints configured with a RoutingStrategy of PREFIX_AWARE.
Provides additional information in the response about the inference returned by a model hosted at an Amazon SageMaker endpoint. The information is an opaque value that is forwarded verbatim. You could use this value, for example, to return an ID received in the CustomAttributes header of a request or other metadata that a service endpoint was programmed to produce. The value must consist of no more than 1024 visible US-ASCII characters as specified in Section 3.3.6. Field Value Components of the Hypertext Transfer Protocol (HTTP/1.1). If the customer wants the custom attribute returned, the model must set the custom attribute to be included on the way back.
The code in your model is responsible for setting or updating any custom attributes in the response. If your code does not set this value in the response, an empty value is returned. For example, if a custom attribute represents the trace ID, your model can prepend the custom attribute with Trace ID: in your post-processing function.
This feature is currently supported in the Amazon Web Services SDKs but not in the Amazon SageMaker Python SDK.
", + "documentation":"Provides additional information in the response about the inference returned by a model hosted at an Amazon SageMaker AI endpoint. The information is an opaque value that is forwarded verbatim. You could use this value, for example, to return an ID received in the CustomAttributes header of a request or other metadata that a service endpoint was programmed to produce. The value must consist of no more than 1024 visible US-ASCII characters as specified in Section 3.3.6. Field Value Components of the Hypertext Transfer Protocol (HTTP/1.1). If the customer wants the custom attribute returned, the model must set the custom attribute to be included on the way back.
The code in your model is responsible for setting or updating any custom attributes in the response. If your code does not set this value in the response, an empty value is returned. For example, if a custom attribute represents the trace ID, your model can prepend the custom attribute with Trace ID: in your post-processing function.
This feature is currently supported in the Amazon Web Services SDKs but not in the Amazon SageMaker AI Python SDK.
", "location":"header", "locationName":"X-Amzn-SageMaker-Custom-Attributes" }, @@ -364,7 +395,7 @@ }, "Body":{ "shape":"BodyBlob", - "documentation":"Provides input data, in the format specified in the ContentType request header. Amazon SageMaker passes all of the data in the body to the model.
For information about the format of the request body, see Common Data Formats-Inference.
" + "documentation":"Provides input data, in the format specified in the ContentType request header. Amazon SageMaker AI passes all of the data in the body to the model.
For information about the format of the request body, see Common Data Formats-Inference.
" }, "ContentType":{ "shape":"Header", @@ -380,7 +411,7 @@ }, "CustomAttributes":{ "shape":"CustomAttributesHeader", - "documentation":"Provides additional information about a request for an inference submitted to a model hosted at an Amazon SageMaker endpoint. The information is an opaque value that is forwarded verbatim. You could use this value, for example, to provide an ID that you can use to track a request or to provide other metadata that a service endpoint was programmed to process. The value must consist of no more than 1024 visible US-ASCII characters as specified in Section 3.3.6. Field Value Components of the Hypertext Transfer Protocol (HTTP/1.1).
The code in your model is responsible for setting or updating any custom attributes in the response. If your code does not set this value in the response, an empty value is returned. For example, if a custom attribute represents the trace ID, your model can prepend the custom attribute with Trace ID: in your post-processing function.
This feature is currently supported in the Amazon Web Services SDKs but not in the Amazon SageMaker Python SDK.
", + "documentation":"Provides additional information about a request for an inference submitted to a model hosted at an Amazon SageMaker AI endpoint. The information is an opaque value that is forwarded verbatim. You could use this value, for example, to provide an ID that you can use to track a request or to provide other metadata that a service endpoint was programmed to process. The value must consist of no more than 1024 visible US-ASCII characters as specified in Section 3.3.6. Field Value Components of the Hypertext Transfer Protocol (HTTP/1.1).
The code in your model is responsible for setting or updating any custom attributes in the response. If your code does not set this value in the response, an empty value is returned. For example, if a custom attribute represents the trace ID, your model can prepend the custom attribute with Trace ID: in your post-processing function.
This feature is currently supported in the Amazon Web Services SDKs but not in the Amazon SageMaker AI Python SDK.
", "location":"header", "locationName":"X-Amzn-SageMaker-Custom-Attributes" }, @@ -413,6 +444,12 @@ "documentation":"The ID of a stateful session to handle your request.
You can't create a stateful session by using the InvokeEndpointWithResponseStream action. Instead, you can create one by using the InvokeEndpoint action. In your request, you specify NEW_SESSION for the SessionId request parameter. The response to that request provides the session ID for the NewSessionId response parameter.
An optional, stable identifier that serves as a routing hint for prefix-aware routing. The service routes requests with the same prefix and the same identifier to the same instance. If requests from different applications might have the same prompt prefix, set a different identifier for each application to differentiate their routing decisions.
Applies only to endpoints configured with a RoutingStrategy of PREFIX_AWARE.
Provides additional information in the response about the inference returned by a model hosted at an Amazon SageMaker endpoint. The information is an opaque value that is forwarded verbatim. You could use this value, for example, to return an ID received in the CustomAttributes header of a request or other metadata that a service endpoint was programmed to produce. The value must consist of no more than 1024 visible US-ASCII characters as specified in Section 3.3.6. Field Value Components of the Hypertext Transfer Protocol (HTTP/1.1). If the customer wants the custom attribute returned, the model must set the custom attribute to be included on the way back.
The code in your model is responsible for setting or updating any custom attributes in the response. If your code does not set this value in the response, an empty value is returned. For example, if a custom attribute represents the trace ID, your model can prepend the custom attribute with Trace ID: in your post-processing function.
This feature is currently supported in the Amazon Web Services SDKs but not in the Amazon SageMaker Python SDK.
", + "documentation":"Provides additional information in the response about the inference returned by a model hosted at an Amazon SageMaker AI endpoint. The information is an opaque value that is forwarded verbatim. You could use this value, for example, to return an ID received in the CustomAttributes header of a request or other metadata that a service endpoint was programmed to produce. The value must consist of no more than 1024 visible US-ASCII characters as specified in Section 3.3.6. Field Value Components of the Hypertext Transfer Protocol (HTTP/1.1). If the customer wants the custom attribute returned, the model must set the custom attribute to be included on the way back.
The code in your model is responsible for setting or updating any custom attributes in the response. If your code does not set this value in the response, an empty value is returned. For example, if a custom attribute represents the trace ID, your model can prepend the custom attribute with Trace ID: in your post-processing function.
This feature is currently supported in the Amazon Web Services SDKs but not in the Amazon SageMaker AI Python SDK.
", "location":"header", "locationName":"X-Amzn-SageMaker-Custom-Attributes" } @@ -485,10 +522,10 @@ "Message":{"shape":"Message"}, "ErrorCode":{ "shape":"ErrorCode", - "documentation":"This error can have the following error codes:
The model failed to finish sending the response within the timeout period allowed by Amazon SageMaker.
The Transmission Control Protocol (TCP) connection between the client and the model was reset or closed.
This error can have the following error codes:
The model failed to finish sending the response within the timeout period allowed by Amazon SageMaker AI.
The Transmission Control Protocol (TCP) connection between the client and the model was reset or closed.
An error occurred while streaming the response body. This error can have the following error codes:
The model failed to finish sending the response within the timeout period allowed by Amazon SageMaker.
The Transmission Control Protocol (TCP) connection between the client and the model was reset or closed.
An error occurred while streaming the response body. This error can have the following error codes:
The model failed to finish sending the response within the timeout period allowed by Amazon SageMaker AI.
The Transmission Control Protocol (TCP) connection between the client and the model was reset or closed.
A wrapper for pieces of the payload that's returned in response to a streaming inference request. A streaming inference response consists of one or more payload parts.
", "event":true }, + "PrefixAwareIdHeader":{ + "type":"string", + "max":64, + "min":1, + "pattern":"\\A\\S[\\p{Print}]*\\z" + }, "RequestTTLSecondsHeader":{ "type":"integer", "max":21600, @@ -527,7 +570,7 @@ }, "ModelStreamError":{ "shape":"ModelStreamError", - "documentation":"An error occurred while streaming the response body. This error can have the following error codes:
The model failed to finish sending the response within the timeout period allowed by Amazon SageMaker.
The Transmission Control Protocol (TCP) connection between the client and the model was reset or closed.
An error occurred while streaming the response body. This error can have the following error codes:
The model failed to finish sending the response within the timeout period allowed by Amazon SageMaker AI.
The Transmission Control Protocol (TCP) connection between the client and the model was reset or closed.
A stream of payload parts. Each part contains a portion of the response for a streaming inference request.
", "eventstream":true }, + "S3OutputPathExtensionHeader":{ + "type":"string", + "max":512, + "min":1, + "pattern":"^(?!s3:|https:)[a-zA-Z0-9!_.*'()/-]+$" + }, "ServiceUnavailable":{ "type":"structure", "members":{ @@ -586,5 +635,5 @@ "synthetic":true } }, - "documentation":"The Amazon SageMaker runtime API.
" + "documentation":"The Amazon SageMaker AI runtime API.
" } diff --git a/sagemaker-core/sample/sagemaker/2017-07-24/service-2.json b/sagemaker-core/sample/sagemaker/2017-07-24/service-2.json index e596e34099..aea1ff6989 100644 --- a/sagemaker-core/sample/sagemaker/2017-07-24/service-2.json +++ b/sagemaker-core/sample/sagemaker/2017-07-24/service-2.json @@ -7373,6 +7373,20 @@ "TEXTFILE" ] }, + "AthenaStepMetadata":{ + "type":"structure", + "members":{ + "QueryExecutionId":{ + "shape":"String256", + "documentation":"The unique identifier of the Amazon Athena query execution that was run by this step execution.
" + }, + "S3OutputLocation":{ + "shape":"String1024", + "documentation":"The Amazon S3 location of the Amazon Athena query results. This is the effective output location reported by GetQueryExecution for the query. This value can be absent when the query uses Athena managed query results.
The query execution identifier and the result output location for the Amazon Athena query that an Athena step runs.
" + }, "AthenaWorkGroup":{ "type":"string", "documentation":"The name of the workgroup in which the Athena query is being started.
", @@ -10207,6 +10221,62 @@ "xx" ] }, + "CleanupFailure":{ + "type":"structure", + "members":{ + "StepName":{ + "shape":"String256", + "documentation":"The name of the upstream step whose Amazon S3 output resources the Cleanup step could not delete.
" + }, + "ErrorCode":{ + "shape":"CleanupFailureErrorCode", + "documentation":"The error code that identifies why the Cleanup step could not delete the output resources associated with the upstream step.
" + }, + "ErrorMessage":{ + "shape":"String2048", + "documentation":"A message describing why the Cleanup step could not delete the output resources associated with the upstream step.
" + } + }, + "documentation":"The Amazon S3 output resources associated with an upstream step that the Cleanup step could not delete.
" + }, + "CleanupFailureErrorCode":{ + "type":"string", + "documentation":"The type of error that prevented the Cleanup step from deleting output resources. Valid values are:
ClientError indicates that the failure was caused by the request.
InternalFailure indicates that the failure was caused by an internal error.
The names of upstream steps whose Amazon S3 output resources the Cleanup step deleted successfully.
" + }, + "FailedSteps":{ + "shape":"CleanupFailureList", + "documentation":"The upstream steps whose Amazon S3 output resources the Cleanup step could not delete.
" + }, + "SkippedSteps":{ + "shape":"CleanupStepNameList", + "documentation":"The names of upstream steps that the Cleanup step skipped. The Cleanup step skips a step when the output properties needed to locate its resources are unavailable.
" + } + }, + "documentation":"The cleanup outcomes for Amazon S3 output resources associated with upstream steps.
" + }, + "CleanupStepNameList":{ + "type":"list", + "member":{"shape":"String256"}, + "max":100, + "min":0 + }, "ClientId":{ "type":"string", "max":1024, @@ -24616,6 +24686,40 @@ }, "documentation":"The settings for assigning a custom Amazon EFS file system to a user profile or space for an Amazon SageMaker AI Domain.
" }, + "EMRServerlessApplicationId":{ + "type":"string", + "max":64, + "min":1, + "pattern":".*[0-9a-z]+.*" + }, + "EMRServerlessJobRunId":{ + "type":"string", + "max":64, + "min":1, + "pattern":".*[0-9a-z]+.*" + }, + "EMRServerlessStepMetadata":{ + "type":"structure", + "members":{ + "ApplicationId":{ + "shape":"EMRServerlessApplicationId", + "documentation":"The identifier of the Amazon EMR Serverless application.
" + }, + "JobRunId":{ + "shape":"EMRServerlessJobRunId", + "documentation":"The identifier of the Amazon EMR Serverless job run.
" + }, + "JobRunName":{ + "shape":"String256", + "documentation":"The name of the Amazon EMR Serverless job run.
" + }, + "LogFilePath":{ + "shape":"String1024", + "documentation":"The path to the log file for the Amazon EMR Serverless job run.
" + } + }, + "documentation":"The configurations and outcomes of an Amazon EMR Serverless step execution.
" + }, "EMRStepMetadata":{ "type":"structure", "members":{ @@ -26659,6 +26763,69 @@ "min":1, "pattern":"[\\t\\n\\r -\\uD7FF\\uE000-\\uFFFD]*" }, + "ForEachSelectorResult":{ + "type":"structure", + "members":{ + "StepName":{ + "shape":"String256", + "documentation":"The name of the step associated with the iteration.
" + }, + "Index":{ + "shape":"Integer", + "documentation":"The index of the iteration within the ForEach step.
", + "box":true + } + }, + "documentation":"The result of the selector that identifies an iteration of a ForEach step.
" + }, + "ForEachStatus":{ + "type":"string", + "documentation":"The status of a ForEach step execution. Valid values are:
Succeeded indicates that the ForEach step execution completed successfully.
Failed indicates that the ForEach step execution failed.
Stopped indicates that the ForEach step execution was stopped.
The status of the ForEach step execution.
" + }, + "InputItemCount":{ + "shape":"Integer", + "documentation":"The number of input items that the ForEach step iterates over.
", + "box":true + }, + "TotalStepCount":{ + "shape":"Integer", + "documentation":"The total number of steps generated across all iterations of the ForEach step.
", + "box":true + }, + "SucceededStepCount":{ + "shape":"Integer", + "documentation":"The number of iteration steps that completed successfully.
", + "box":true + }, + "FailedStepCount":{ + "shape":"Integer", + "documentation":"The number of iteration steps that failed.
", + "box":true + }, + "StoppedStepCount":{ + "shape":"Integer", + "documentation":"The number of iteration steps that were stopped.
", + "box":true + }, + "Selector":{ + "shape":"ForEachSelectorResult", + "documentation":"Identifies the body step and iteration selected within the ForEach step.
" + } + }, + "documentation":"The status, the iteration-step counts, and the selector information for a ForEach step execution.
" + }, "ForecastFrequency":{ "type":"string", "max":5, @@ -30269,6 +30436,25 @@ "max":256, "min":1 }, + "IterationContext":{ + "type":"structure", + "members":{ + "ParentStepName":{ + "shape":"String256", + "documentation":"The name of the ForEach step that generated this iteration.
" + }, + "Index":{ + "shape":"Integer", + "documentation":"The index of the iteration within the ForEach step.
", + "box":true + }, + "Item":{ + "shape":"String12800", + "documentation":"The input item that is being processed in this iteration.
" + } + }, + "documentation":"The context for an iteration of a ForEach step.
" + }, "JavaBoolean":{ "type":"boolean", "box":true @@ -40838,7 +41024,8 @@ "Stopping", "Stopped", "Failed", - "Succeeded" + "Succeeded", + "CompletedWithFailures" ] }, "PipelineExecutionStep":{ @@ -40888,6 +41075,10 @@ "SelectiveExecutionResult":{ "shape":"SelectiveExecutionResult", "documentation":"The ARN from an execution of the current pipeline from which results are reused for this step.
" + }, + "IterationContext":{ + "shape":"IterationContext", + "documentation":"The context for the iteration of a ForEach step that generated this step execution.
" } }, "documentation":"An execution of a step in a pipeline.
" @@ -40941,6 +41132,10 @@ "shape":"EMRStepMetadata", "documentation":"The configurations and outcomes of an Amazon EMR step execution.
" }, + "EMRServerless":{ + "shape":"EMRServerlessStepMetadata", + "documentation":"The configurations and outcomes of an Amazon EMR Serverless step execution.
" + }, "QualityCheck":{ "shape":"QualityCheckStepMetadata", "documentation":"The configurations and outcomes of the check step execution. This includes:
The type of the check conducted.
The Amazon S3 URIs of baseline constraints and statistics files to be used for the drift check.
The Amazon S3 URIs of newly calculated baseline constraints and statistics.
The model package group name provided.
The Amazon S3 URI of the violation report if violations detected.
The Amazon Resource Name (ARN) of check processing job initiated by the step execution.
The Boolean flags indicating if the drift check is skipped.
If step property BaselineUsedForDriftCheck is set the same as CalculatedBaseline.
The metadata for a SageMaker job used in a pipeline execution step.
" + }, + "Athena":{ + "shape":"AthenaStepMetadata", + "documentation":"The metadata for the Athena step execution.
" + }, + "Cleanup":{ + "shape":"CleanupStepMetadata", + "documentation":"The metadata for the cleanup step execution.
" + }, + "ForEach":{ + "shape":"ForEachStepMetadata", + "documentation":"The metadata for the ForEach step execution.
" } }, "documentation":"Metadata for a step execution.
" @@ -46785,6 +46992,11 @@ "max":128, "min":0 }, + "String12800":{ + "type":"string", + "max":12800, + "min":0 + }, "String200":{ "type":"string", "max":200, diff --git a/sagemaker-core/src/sagemaker/core/config_schema.py b/sagemaker-core/src/sagemaker/core/config_schema.py index de041068fb..c064177f7b 100644 --- a/sagemaker-core/src/sagemaker/core/config_schema.py +++ b/sagemaker-core/src/sagemaker/core/config_schema.py @@ -1,5 +1,3 @@ -"""JSON schema definition for the SageMaker Python SDK configuration file.""" - SAGEMAKER_PYTHON_SDK_CONFIG_SCHEMA = { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", diff --git a/sagemaker-core/src/sagemaker/core/resources.py b/sagemaker-core/src/sagemaker/core/resources.py index dc44a8923c..c0780dc553 100644 --- a/sagemaker-core/src/sagemaker/core/resources.py +++ b/sagemaker-core/src/sagemaker/core/resources.py @@ -46,6 +46,7 @@ from sagemaker.core.serializers.base import BaseSerializer from sagemaker.core.deserializers.base import BaseDeserializer + logger = get_textual_rich_logger(__name__) @@ -10758,24 +10759,26 @@ def invoke( enable_explanations: Optional[StrPipeVar] = Unassigned(), inference_component_name: Optional[StrPipeVar] = Unassigned(), session_id: Optional[StrPipeVar] = Unassigned(), + prefix_aware_id: Optional[StrPipeVar] = Unassigned(), session: Optional[Session] = None, region: Optional[str] = None, ) -> Optional[InvokeEndpointOutput]: """ - After you deploy a model into production using Amazon SageMaker hosting services, your client applications use this API to get inferences from the model hosted at the specified endpoint. + After you deploy a model into production using Amazon SageMaker AI hosting services, your client applications use this API to get inferences from the model hosted at the specified endpoint. Parameters: - body: Provides input data, in the format specified in the ContentType request header. Amazon SageMaker passes all of the data in the body to the model. For information about the format of the request body, see Common Data Formats-Inference. + body: Provides input data, in the format specified in the ContentType request header. Amazon SageMaker AI passes all of the data in the body to the model. For information about the format of the request body, see Common Data Formats-Inference. content_type: The MIME type of the input data in the request body. accept: The desired MIME type of the inference response from the model container. - custom_attributes: Provides additional information about a request for an inference submitted to a model hosted at an Amazon SageMaker endpoint. The information is an opaque value that is forwarded verbatim. You could use this value, for example, to provide an ID that you can use to track a request or to provide other metadata that a service endpoint was programmed to process. The value must consist of no more than 1024 visible US-ASCII characters as specified in Section 3.3.6. Field Value Components of the Hypertext Transfer Protocol (HTTP/1.1). The code in your model is responsible for setting or updating any custom attributes in the response. If your code does not set this value in the response, an empty value is returned. For example, if a custom attribute represents the trace ID, your model can prepend the custom attribute with Trace ID: in your post-processing function. This feature is currently supported in the Amazon Web Services SDKs but not in the Amazon SageMaker Python SDK. + custom_attributes: Provides additional information about a request for an inference submitted to a model hosted at an Amazon SageMaker AI endpoint. The information is an opaque value that is forwarded verbatim. You could use this value, for example, to provide an ID that you can use to track a request or to provide other metadata that a service endpoint was programmed to process. The value must consist of no more than 1024 visible US-ASCII characters as specified in Section 3.3.6. Field Value Components of the Hypertext Transfer Protocol (HTTP/1.1). The code in your model is responsible for setting or updating any custom attributes in the response. If your code does not set this value in the response, an empty value is returned. For example, if a custom attribute represents the trace ID, your model can prepend the custom attribute with Trace ID: in your post-processing function. This feature is currently supported in the Amazon Web Services SDKs but not in the Amazon SageMaker AI Python SDK. target_model: The model to request for inference when invoking a multi-model endpoint. target_variant: Specify the production variant to send the inference request to when invoking an endpoint that is running two or more variants. Note that this parameter overrides the default behavior for the endpoint, which is to distribute the invocation traffic based on the variant weights. For information about how to use variant targeting to perform a/b testing, see Test models in production target_container_hostname: If the endpoint hosts multiple containers and is configured to use direct invocation, this parameter specifies the host name of the container to invoke. inference_id: If you provide a value, it is added to the captured data when you enable data capture on the endpoint. For information about data capture, see Capture Data. enable_explanations: An optional JMESPath expression used to override the EnableExplanations parameter of the ClarifyExplainerConfig API. See the EnableExplanations section in the developer guide for more information. inference_component_name: If the endpoint hosts one or more inference components, this parameter specifies the name of inference component to invoke. - session_id: Creates a stateful session or identifies an existing one. You can do one of the following: Create a stateful session by specifying the value NEW_SESSION. Send your request to an existing stateful session by specifying the ID of that session. With a stateful session, you can send multiple requests to a stateful model. When you create a session with a stateful model, the model must create the session ID and set the expiration time. The model must also provide that information in the response to your request. You can get the ID and timestamp from the NewSessionId response parameter. For any subsequent request where you specify that session ID, SageMaker routes the request to the same instance that supports the session. + session_id: Creates a stateful session or identifies an existing one. You can do one of the following: Create a stateful session by specifying the value NEW_SESSION. Send your request to an existing stateful session by specifying the ID of that session. With a stateful session, you can send multiple requests to a stateful model. When you create a session with a stateful model, the model must create the session ID and set the expiration time. The model must also provide that information in the response to your request. You can get the ID and timestamp from the NewSessionId response parameter. For any subsequent request where you specify that session ID, SageMaker AI routes the request to the same instance that supports the session. + prefix_aware_id: An optional, stable identifier that serves as a routing hint for prefix-aware routing. The service routes requests with the same prefix and the same identifier to the same instance. If requests from different applications might have the same prompt prefix, set a different identifier for each application to differentiate their routing decisions. Applies only to endpoints configured with a RoutingStrategy of PREFIX_AWARE. session: Boto3 session. region: Region name. @@ -10824,6 +10827,7 @@ def invoke( "EnableExplanations": enable_explanations, "InferenceComponentName": inference_component_name, "SessionId": session_id, + "PrefixAwareId": prefix_aware_id, } # serialize the input request operation_input_args = serialize(operation_input_args) @@ -10848,27 +10852,33 @@ def invoke( @Base.add_validate_call def invoke_async( self, - input_location: StrPipeVar, content_type: Optional[StrPipeVar] = Unassigned(), accept: Optional[StrPipeVar] = Unassigned(), custom_attributes: Optional[StrPipeVar] = Unassigned(), inference_id: Optional[StrPipeVar] = Unassigned(), + input_location: Optional[StrPipeVar] = Unassigned(), + s3_output_path_extension: Optional[StrPipeVar] = Unassigned(), + filename: Optional[StrPipeVar] = Unassigned(), request_ttl_seconds: Optional[int] = Unassigned(), invocation_timeout_seconds: Optional[int] = Unassigned(), + body: Optional[Any] = Unassigned(), session: Optional[Session] = None, region: Optional[str] = None, ) -> Optional[InvokeEndpointAsyncOutput]: """ - After you deploy a model into production using Amazon SageMaker hosting services, your client applications use this API to get inferences from the model hosted at the specified endpoint in an asynchronous manner. + After you deploy a model into production using Amazon SageMaker AI hosting services, your client applications use this API to get inferences from the model hosted at the specified endpoint in an asynchronous manner. Parameters: - input_location: The Amazon S3 URI where the inference request payload is stored. content_type: The MIME type of the input data in the request body. accept: The desired MIME type of the inference response from the model container. - custom_attributes: Provides additional information about a request for an inference submitted to a model hosted at an Amazon SageMaker endpoint. The information is an opaque value that is forwarded verbatim. You could use this value, for example, to provide an ID that you can use to track a request or to provide other metadata that a service endpoint was programmed to process. The value must consist of no more than 1024 visible US-ASCII characters as specified in Section 3.3.6. Field Value Components of the Hypertext Transfer Protocol (HTTP/1.1). The code in your model is responsible for setting or updating any custom attributes in the response. If your code does not set this value in the response, an empty value is returned. For example, if a custom attribute represents the trace ID, your model can prepend the custom attribute with Trace ID: in your post-processing function. This feature is currently supported in the Amazon Web Services SDKs but not in the Amazon SageMaker Python SDK. - inference_id: The identifier for the inference request. Amazon SageMaker will generate an identifier for you if none is specified. + custom_attributes: Provides additional information about a request for an inference submitted to a model hosted at an Amazon SageMaker AI endpoint. The information is an opaque value that is forwarded verbatim. You could use this value, for example, to provide an ID that you can use to track a request or to provide other metadata that a service endpoint was programmed to process. The value must consist of no more than 1024 visible US-ASCII characters as specified in Section 3.3.6. Field Value Components of the Hypertext Transfer Protocol (HTTP/1.1). The code in your model is responsible for setting or updating any custom attributes in the response. If your code does not set this value in the response, an empty value is returned. For example, if a custom attribute represents the trace ID, your model can prepend the custom attribute with Trace ID: in your post-processing function. This feature is currently supported in the Amazon Web Services SDKs but not in the Amazon SageMaker AI Python SDK. + inference_id: The identifier for the inference request. Amazon SageMaker AI will generate an identifier for you if none is specified. + input_location: The Amazon S3 URI where the inference request payload is stored. + s3_output_path_extension: The path extension that is appended to the Amazon S3 output path where the inference response payload is stored. + filename: The filename for the inference response payload stored in Amazon S3. If not specified, Amazon SageMaker AI generates a filename based on the inference ID. request_ttl_seconds: Maximum age in seconds a request can be in the queue before it is marked as expired. The default is 6 hours, or 21,600 seconds. invocation_timeout_seconds: Maximum amount of time in seconds a request can be processed before it is marked as expired. The default is 15 minutes, or 900 seconds. + body: Provides inline input data for the inference request, in the format specified in the ContentType request header. Use this parameter to send the request payload directly in the API call instead of uploading it to Amazon S3 and referencing it with InputLocation. The inline payload can be up to 128,000 bytes. Body and InputLocation are mutually exclusive. Provide exactly one of them. For information about the format of the request body, see Common Data Formats-Inference. session: Boto3 session. region: Region name. @@ -10897,8 +10907,11 @@ def invoke_async( "CustomAttributes": custom_attributes, "InferenceId": inference_id, "InputLocation": input_location, + "S3OutputPathExtension": s3_output_path_extension, + "Filename": filename, "RequestTTLSeconds": request_ttl_seconds, "InvocationTimeoutSeconds": invocation_timeout_seconds, + "Body": body, } # serialize the input request operation_input_args = serialize(operation_input_args) @@ -10925,6 +10938,7 @@ def invoke_with_response_stream( inference_id: Optional[StrPipeVar] = Unassigned(), inference_component_name: Optional[StrPipeVar] = Unassigned(), session_id: Optional[StrPipeVar] = Unassigned(), + prefix_aware_id: Optional[StrPipeVar] = Unassigned(), session: Optional[Session] = None, region: Optional[str] = None, ) -> Optional[InvokeEndpointWithResponseStreamOutput]: @@ -10932,15 +10946,16 @@ def invoke_with_response_stream( Invokes a model at the specified endpoint to return the inference response as a stream. Parameters: - body: Provides input data, in the format specified in the ContentType request header. Amazon SageMaker passes all of the data in the body to the model. For information about the format of the request body, see Common Data Formats-Inference. + body: Provides input data, in the format specified in the ContentType request header. Amazon SageMaker AI passes all of the data in the body to the model. For information about the format of the request body, see Common Data Formats-Inference. content_type: The MIME type of the input data in the request body. accept: The desired MIME type of the inference response from the model container. - custom_attributes: Provides additional information about a request for an inference submitted to a model hosted at an Amazon SageMaker endpoint. The information is an opaque value that is forwarded verbatim. You could use this value, for example, to provide an ID that you can use to track a request or to provide other metadata that a service endpoint was programmed to process. The value must consist of no more than 1024 visible US-ASCII characters as specified in Section 3.3.6. Field Value Components of the Hypertext Transfer Protocol (HTTP/1.1). The code in your model is responsible for setting or updating any custom attributes in the response. If your code does not set this value in the response, an empty value is returned. For example, if a custom attribute represents the trace ID, your model can prepend the custom attribute with Trace ID: in your post-processing function. This feature is currently supported in the Amazon Web Services SDKs but not in the Amazon SageMaker Python SDK. + custom_attributes: Provides additional information about a request for an inference submitted to a model hosted at an Amazon SageMaker AI endpoint. The information is an opaque value that is forwarded verbatim. You could use this value, for example, to provide an ID that you can use to track a request or to provide other metadata that a service endpoint was programmed to process. The value must consist of no more than 1024 visible US-ASCII characters as specified in Section 3.3.6. Field Value Components of the Hypertext Transfer Protocol (HTTP/1.1). The code in your model is responsible for setting or updating any custom attributes in the response. If your code does not set this value in the response, an empty value is returned. For example, if a custom attribute represents the trace ID, your model can prepend the custom attribute with Trace ID: in your post-processing function. This feature is currently supported in the Amazon Web Services SDKs but not in the Amazon SageMaker AI Python SDK. target_variant: Specify the production variant to send the inference request to when invoking an endpoint that is running two or more variants. Note that this parameter overrides the default behavior for the endpoint, which is to distribute the invocation traffic based on the variant weights. For information about how to use variant targeting to perform a/b testing, see Test models in production target_container_hostname: If the endpoint hosts multiple containers and is configured to use direct invocation, this parameter specifies the host name of the container to invoke. inference_id: An identifier that you assign to your request. inference_component_name: If the endpoint hosts one or more inference components, this parameter specifies the name of inference component to invoke for a streaming response. session_id: The ID of a stateful session to handle your request. You can't create a stateful session by using the InvokeEndpointWithResponseStream action. Instead, you can create one by using the InvokeEndpoint action. In your request, you specify NEW_SESSION for the SessionId request parameter. The response to that request provides the session ID for the NewSessionId response parameter. + prefix_aware_id: An optional, stable identifier that serves as a routing hint for prefix-aware routing. The service routes requests with the same prefix and the same identifier to the same instance. If requests from different applications might have the same prompt prefix, set a different identifier for each application to differentiate their routing decisions. Applies only to endpoints configured with a RoutingStrategy of PREFIX_AWARE. session: Boto3 session. region: Region name. @@ -10960,7 +10975,7 @@ def invoke_with_response_stream( InternalFailure: An internal failure occurred. Try your request again. If the problem persists, contact Amazon Web Services customer support. InternalStreamFailure: The stream processing failed because of an unknown error, exception or failure. Try your request again. ModelError: Model (owned by the customer in the container) returned 4xx or 5xx error code. - ModelStreamError: An error occurred while streaming the response body. This error can have the following error codes: ModelInvocationTimeExceeded The model failed to finish sending the response within the timeout period allowed by Amazon SageMaker. StreamBroken The Transmission Control Protocol (TCP) connection between the client and the model was reset or closed. + ModelStreamError: An error occurred while streaming the response body. This error can have the following error codes: ModelInvocationTimeExceeded The model failed to finish sending the response within the timeout period allowed by Amazon SageMaker AI. StreamBroken The Transmission Control Protocol (TCP) connection between the client and the model was reset or closed. ServiceUnavailable: The service is currently unavailable. ValidationError: There was an error validating your request. """ @@ -10976,6 +10991,7 @@ def invoke_with_response_stream( "InferenceId": inference_id, "InferenceComponentName": inference_component_name, "SessionId": session_id, + "PrefixAwareId": prefix_aware_id, } # serialize the input request operation_input_args = serialize(operation_input_args) @@ -12371,10 +12387,10 @@ def update_record( Updates one or more feature values for an existing record in the specified feature group. Parameters: - record_identifier_value_as_string: The value for the RecordIdentifier that uniquely identifies the record to update, in string format. - features: The feature values to write to the record. Only the features included here are written; features that are not listed are preserved. Pass EventTime as a feature in this list. You can update up to 100 features per call. - target_stores: A list of stores to which the update is applied. By default, Feature Store applies the update to all of the stores that you're using for the FeatureGroup. A value that resolves to the OfflineStore only is rejected. - ttl_duration: Time to live duration, where the record is hard deleted after the expiration time is reached; ExpiresAt = EventTime + TtlDuration. Specifying TtlDuration requires EventTime to be present in Features. + record_identifier_value_as_string: The value that uniquely identifies the record in the feature group. This must match the value defined by the feature group's record identifier feature. + features: The feature values to write to the record. + target_stores: The target stores for the record update. By default, Amazon SageMaker Feature Store updates the record in all stores associated with the FeatureGroup. + ttl_duration: The time-to-live (TTL) duration for the record. Amazon SageMaker Feature Store deletes the record when EventTime + TtlDuration elapses. If you omit this parameter, the record's existing TTL setting remains unchanged. For information about HardDelete, see the DeleteRecord operation in the Amazon SageMaker API Reference. session: Boto3 session. region: Region name. @@ -28130,7 +28146,9 @@ def stop(self) -> None: @Base.add_validate_call def wait_for_status( self, - target_status: Literal["Executing", "Stopping", "Stopped", "Failed", "Succeeded"], + target_status: Literal[ + "Executing", "Stopping", "Stopped", "Failed", "Succeeded", "CompletedWithFailures" + ], poll: int = 5, timeout: Optional[int] = None, ) -> None: diff --git a/sagemaker-core/src/sagemaker/core/shapes/shapes.py b/sagemaker-core/src/sagemaker/core/shapes/shapes.py index 8b2e9f6f9d..5a32b4d524 100644 --- a/sagemaker-core/src/sagemaker/core/shapes/shapes.py +++ b/sagemaker-core/src/sagemaker/core/shapes/shapes.py @@ -71,7 +71,7 @@ class InvokeEndpointAsyncOutput(Base): Attributes ---------------------- - inference_id: Identifier for an inference request. This will be the same as the InferenceId specified in the input. Amazon SageMaker will generate an identifier for you if you do not specify one. + inference_id: Identifier for an inference request. This will be the same as the InferenceId specified in the input. Amazon SageMaker AI will generate an identifier for you if you do not specify one. output_location: The Amazon S3 URI where the inference response payload is stored. failure_location: The Amazon S3 URI where the inference failure response payload is stored. """ @@ -90,7 +90,7 @@ class InvokeEndpointOutput(Base): body: Includes the inference provided by the model. For information about the format of the response body, see Common Data Formats-Inference. If the explainer is activated, the body includes the explanations provided by the model. For more information, see the Response section under Invoke the Endpoint in the Developer Guide. content_type: The MIME type of the inference returned from the model container. invoked_production_variant: Identifies the production variant that was invoked. - custom_attributes: Provides additional information in the response about the inference returned by a model hosted at an Amazon SageMaker endpoint. The information is an opaque value that is forwarded verbatim. You could use this value, for example, to return an ID received in the CustomAttributes header of a request or other metadata that a service endpoint was programmed to produce. The value must consist of no more than 1024 visible US-ASCII characters as specified in Section 3.3.6. Field Value Components of the Hypertext Transfer Protocol (HTTP/1.1). If the customer wants the custom attribute returned, the model must set the custom attribute to be included on the way back. The code in your model is responsible for setting or updating any custom attributes in the response. If your code does not set this value in the response, an empty value is returned. For example, if a custom attribute represents the trace ID, your model can prepend the custom attribute with Trace ID: in your post-processing function. This feature is currently supported in the Amazon Web Services SDKs but not in the Amazon SageMaker Python SDK. + custom_attributes: Provides additional information in the response about the inference returned by a model hosted at an Amazon SageMaker AI endpoint. The information is an opaque value that is forwarded verbatim. You could use this value, for example, to return an ID received in the CustomAttributes header of a request or other metadata that a service endpoint was programmed to produce. The value must consist of no more than 1024 visible US-ASCII characters as specified in Section 3.3.6. Field Value Components of the Hypertext Transfer Protocol (HTTP/1.1). If the customer wants the custom attribute returned, the model must set the custom attribute to be included on the way back. The code in your model is responsible for setting or updating any custom attributes in the response. If your code does not set this value in the response, an empty value is returned. For example, if a custom attribute represents the trace ID, your model can prepend the custom attribute with Trace ID: in your post-processing function. This feature is currently supported in the Amazon Web Services SDKs but not in the Amazon SageMaker AI Python SDK. new_session_id: If you created a stateful session with your request, the ID and expiration time that the model assigns to that session. closed_session_id: If you closed a stateful session with your request, the ID of that session. """ @@ -119,12 +119,12 @@ class PayloadPart(Base): class ModelStreamError(Base): """ ModelStreamError - An error occurred while streaming the response body. This error can have the following error codes: ModelInvocationTimeExceeded The model failed to finish sending the response within the timeout period allowed by Amazon SageMaker. StreamBroken The Transmission Control Protocol (TCP) connection between the client and the model was reset or closed. + An error occurred while streaming the response body. This error can have the following error codes: ModelInvocationTimeExceeded The model failed to finish sending the response within the timeout period allowed by Amazon SageMaker AI. StreamBroken The Transmission Control Protocol (TCP) connection between the client and the model was reset or closed. Attributes ---------------------- message - error_code: This error can have the following error codes: ModelInvocationTimeExceeded The model failed to finish sending the response within the timeout period allowed by Amazon SageMaker. StreamBroken The Transmission Control Protocol (TCP) connection between the client and the model was reset or closed. + error_code: This error can have the following error codes: ModelInvocationTimeExceeded The model failed to finish sending the response within the timeout period allowed by Amazon SageMaker AI. StreamBroken The Transmission Control Protocol (TCP) connection between the client and the model was reset or closed. """ message: Optional[StrPipeVar] = Unassigned() @@ -139,7 +139,7 @@ class ResponseStream(Base): Attributes ---------------------- payload_part: A wrapper for pieces of the payload that's returned in response to a streaming inference request. A streaming inference response consists of one or more payload parts. - model_stream_error: An error occurred while streaming the response body. This error can have the following error codes: ModelInvocationTimeExceeded The model failed to finish sending the response within the timeout period allowed by Amazon SageMaker. StreamBroken The Transmission Control Protocol (TCP) connection between the client and the model was reset or closed. + model_stream_error: An error occurred while streaming the response body. This error can have the following error codes: ModelInvocationTimeExceeded The model failed to finish sending the response within the timeout period allowed by Amazon SageMaker AI. StreamBroken The Transmission Control Protocol (TCP) connection between the client and the model was reset or closed. internal_stream_failure: The stream processing failed because of an unknown error, exception or failure. Try your request again. """ @@ -157,7 +157,7 @@ class InvokeEndpointWithResponseStreamOutput(Base): body content_type: The MIME type of the inference returned from the model container. invoked_production_variant: Identifies the production variant that was invoked. - custom_attributes: Provides additional information in the response about the inference returned by a model hosted at an Amazon SageMaker endpoint. The information is an opaque value that is forwarded verbatim. You could use this value, for example, to return an ID received in the CustomAttributes header of a request or other metadata that a service endpoint was programmed to produce. The value must consist of no more than 1024 visible US-ASCII characters as specified in Section 3.3.6. Field Value Components of the Hypertext Transfer Protocol (HTTP/1.1). If the customer wants the custom attribute returned, the model must set the custom attribute to be included on the way back. The code in your model is responsible for setting or updating any custom attributes in the response. If your code does not set this value in the response, an empty value is returned. For example, if a custom attribute represents the trace ID, your model can prepend the custom attribute with Trace ID: in your post-processing function. This feature is currently supported in the Amazon Web Services SDKs but not in the Amazon SageMaker Python SDK. + custom_attributes: Provides additional information in the response about the inference returned by a model hosted at an Amazon SageMaker AI endpoint. The information is an opaque value that is forwarded verbatim. You could use this value, for example, to return an ID received in the CustomAttributes header of a request or other metadata that a service endpoint was programmed to produce. The value must consist of no more than 1024 visible US-ASCII characters as specified in Section 3.3.6. Field Value Components of the Hypertext Transfer Protocol (HTTP/1.1). If the customer wants the custom attribute returned, the model must set the custom attribute to be included on the way back. The code in your model is responsible for setting or updating any custom attributes in the response. If your code does not set this value in the response, an empty value is returned. For example, if a custom attribute represents the trace ID, your model can prepend the custom attribute with Trace ID: in your post-processing function. This feature is currently supported in the Amazon Web Services SDKs but not in the Amazon SageMaker AI Python SDK. """ body: ResponseStream @@ -237,19 +237,6 @@ class AccessForbidden(Base): message: Optional[StrPipeVar] = Unassigned() -class ConflictException(Base): - """ - ConflictException - There was a conflict when you attempted to modify a SageMaker entity such as an Experiment or Artifact. - - Attributes - ---------------------- - message - """ - - message: Optional[StrPipeVar] = Unassigned() - - class BatchGetRecordError(Base): """ BatchGetRecordError @@ -403,6 +390,19 @@ class BatchWriteRecordResponse(Base): unprocessed_entries: List[BatchWriteRecordEntry] +class ConflictException(Base): + """ + ConflictException + There was a conflict when you attempted to modify a SageMaker entity such as an Experiment or Artifact. + + Attributes + ---------------------- + message + """ + + message: Optional[StrPipeVar] = Unassigned() + + class GetRecordResponse(Base): """ GetRecordResponse @@ -2489,6 +2489,21 @@ class AthenaDatasetDefinition(Base): output_compression: Optional[StrPipeVar] = Unassigned() +class AthenaStepMetadata(Base): + """ + AthenaStepMetadata + The query execution identifier and the result output location for the Amazon Athena query that an Athena step runs. + + Attributes + ---------------------- + query_execution_id: The unique identifier of the Amazon Athena query execution that was run by this step execution. + s3_output_location: The Amazon S3 location of the Amazon Athena query results. This is the effective output location reported by GetQueryExecution for the query. This value can be absent when the query uses Athena managed query results. + """ + + query_execution_id: Optional[StrPipeVar] = Unassigned() + s3_output_location: Optional[StrPipeVar] = Unassigned() + + class AuthorizedUrl(Base): """ AuthorizedUrl @@ -4332,6 +4347,40 @@ class ClarifyExplainerConfig(Base): inference_config: Optional[ClarifyInferenceConfig] = Unassigned() +class CleanupFailure(Base): + """ + CleanupFailure + The Amazon S3 output resources associated with an upstream step that the Cleanup step could not delete. + + Attributes + ---------------------- + step_name: The name of the upstream step whose Amazon S3 output resources the Cleanup step could not delete. + error_code: The error code that identifies why the Cleanup step could not delete the output resources associated with the upstream step. + error_message: A message describing why the Cleanup step could not delete the output resources associated with the upstream step. + """ + + step_name: Optional[StrPipeVar] = Unassigned() + error_code: Optional[StrPipeVar] = Unassigned() + error_message: Optional[StrPipeVar] = Unassigned() + + +class CleanupStepMetadata(Base): + """ + CleanupStepMetadata + The cleanup outcomes for Amazon S3 output resources associated with upstream steps. + + Attributes + ---------------------- + cleaned_steps: The names of upstream steps whose Amazon S3 output resources the Cleanup step deleted successfully. + failed_steps: The upstream steps whose Amazon S3 output resources the Cleanup step could not delete. + skipped_steps: The names of upstream steps that the Cleanup step skipped. The Cleanup step skips a step when the output properties needed to locate its resources are unavailable. + """ + + cleaned_steps: Optional[List[StrPipeVar]] = Unassigned() + failed_steps: Optional[List[CleanupFailure]] = Unassigned() + skipped_steps: Optional[List[StrPipeVar]] = Unassigned() + + class ClusterAccountingDatabase(Base): """ ClusterAccountingDatabase @@ -12466,6 +12515,25 @@ class DynamicScalingConfiguration(Base): scaling_policies: Optional[List[ScalingPolicy]] = Unassigned() +class EMRServerlessStepMetadata(Base): + """ + EMRServerlessStepMetadata + The configurations and outcomes of an Amazon EMR Serverless step execution. + + Attributes + ---------------------- + application_id: The identifier of the Amazon EMR Serverless application. + job_run_id: The identifier of the Amazon EMR Serverless job run. + job_run_name: The name of the Amazon EMR Serverless job run. + log_file_path: The path to the log file for the Amazon EMR Serverless job run. + """ + + application_id: Optional[StrPipeVar] = Unassigned() + job_run_id: Optional[StrPipeVar] = Unassigned() + job_run_name: Optional[StrPipeVar] = Unassigned() + log_file_path: Optional[StrPipeVar] = Unassigned() + + class EMRStepMetadata(Base): """ EMRStepMetadata @@ -12907,6 +12975,46 @@ class FlowDefinitionSummary(Base): failure_reason: Optional[StrPipeVar] = Unassigned() +class ForEachSelectorResult(Base): + """ + ForEachSelectorResult + The result of the selector that identifies an iteration of a ForEach step. + + Attributes + ---------------------- + step_name: The name of the step associated with the iteration. + index: The index of the iteration within the ForEach step. + """ + + step_name: Optional[StrPipeVar] = Unassigned() + index: Optional[int] = Unassigned() + + +class ForEachStepMetadata(Base): + """ + ForEachStepMetadata + The status, the iteration-step counts, and the selector information for a ForEach step execution. + + Attributes + ---------------------- + status: The status of the ForEach step execution. + input_item_count: The number of input items that the ForEach step iterates over. + total_step_count: The total number of steps generated across all iterations of the ForEach step. + succeeded_step_count: The number of iteration steps that completed successfully. + failed_step_count: The number of iteration steps that failed. + stopped_step_count: The number of iteration steps that were stopped. + selector: Identifies the body step and iteration selected within the ForEach step. + """ + + status: Optional[StrPipeVar] = Unassigned() + input_item_count: Optional[int] = Unassigned() + total_step_count: Optional[int] = Unassigned() + succeeded_step_count: Optional[int] = Unassigned() + failed_step_count: Optional[int] = Unassigned() + stopped_step_count: Optional[int] = Unassigned() + selector: Optional[ForEachSelectorResult] = Unassigned() + + class GetDeviceFleetReportResponse(Base): """ GetDeviceFleetReportResponse @@ -13462,6 +13570,23 @@ class InstanceGroupHealthCheckConfiguration(Base): instance_ids: Optional[List[StrPipeVar]] = Unassigned() +class IterationContext(Base): + """ + IterationContext + The context for an iteration of a ForEach step. + + Attributes + ---------------------- + parent_step_name: The name of the ForEach step that generated this iteration. + index: The index of the iteration within the ForEach step. + item: The input item that is being processed in this iteration. + """ + + parent_step_name: Optional[StrPipeVar] = Unassigned() + index: Optional[int] = Unassigned() + item: Optional[StrPipeVar] = Unassigned() + + class Job(Base): """ Job @@ -14265,6 +14390,7 @@ class PipelineExecutionStepMetadata(Base): callback: The URL of the Amazon SQS queue used by this step execution, the pipeline generated token, and a list of output parameters. lambda: The Amazon Resource Name (ARN) of the Lambda function that was run by this step execution and a list of output parameters. emr: The configurations and outcomes of an Amazon EMR step execution. + emr_serverless: The configurations and outcomes of an Amazon EMR Serverless step execution. quality_check: The configurations and outcomes of the check step execution. This includes: The type of the check conducted. The Amazon S3 URIs of baseline constraints and statistics files to be used for the drift check. The Amazon S3 URIs of newly calculated baseline constraints and statistics. The model package group name provided. The Amazon S3 URI of the violation report if violations detected. The Amazon Resource Name (ARN) of check processing job initiated by the step execution. The Boolean flags indicating if the drift check is skipped. If step property BaselineUsedForDriftCheck is set the same as CalculatedBaseline. clarify_check: Container for the metadata for a Clarify check step. The configurations and outcomes of the check step execution. This includes: The type of the check conducted, The Amazon S3 URIs of baseline constraints and statistics files to be used for the drift check. The Amazon S3 URIs of newly calculated baseline constraints and statistics. The model package group name provided. The Amazon S3 URI of the violation report if violations detected. The Amazon Resource Name (ARN) of check processing job initiated by the step execution. The boolean flags indicating if the drift check is skipped. If step property BaselineUsedForDriftCheck is set the same as CalculatedBaseline. fail: The configurations and outcomes of a Fail step execution. @@ -14278,6 +14404,9 @@ class PipelineExecutionStepMetadata(Base): inference_component: The metadata of the inference component used in pipeline execution step. lineage: The metadata of the lineage used in pipeline execution step. job: The metadata for a SageMaker job used in a pipeline execution step. + athena: The metadata for the Athena step execution. + cleanup: The metadata for the cleanup step execution. + for_each: The metadata for the ForEach step execution. """ training_job: Optional[TrainingJobStepMetadata] = Unassigned() @@ -14290,6 +14419,7 @@ class PipelineExecutionStepMetadata(Base): callback: Optional[CallbackStepMetadata] = Unassigned() # lambda: Optional[LambdaStepMetadata] = Unassigned() emr: Optional[EMRStepMetadata] = Unassigned() + emr_serverless: Optional[EMRServerlessStepMetadata] = Unassigned() quality_check: Optional[QualityCheckStepMetadata] = Unassigned() clarify_check: Optional[ClarifyCheckStepMetadata] = Unassigned() fail: Optional[FailStepMetadata] = Unassigned() @@ -14305,6 +14435,9 @@ class PipelineExecutionStepMetadata(Base): inference_component: Optional[InferenceComponentMetadata] = Unassigned() lineage: Optional[LineageMetadata] = Unassigned() job: Optional[JobStepMetadata] = Unassigned() + athena: Optional[AthenaStepMetadata] = Unassigned() + cleanup: Optional[CleanupStepMetadata] = Unassigned() + for_each: Optional[ForEachStepMetadata] = Unassigned() class SelectiveExecutionResult(Base): @@ -14338,6 +14471,7 @@ class PipelineExecutionStep(Base): metadata: Metadata to run the pipeline step. attempt_count: The current attempt of the execution step. For more information, see Retry Policy for SageMaker Pipelines steps. selective_execution_result: The ARN from an execution of the current pipeline from which results are reused for this step. + iteration_context: The context for the iteration of a ForEach step that generated this step execution. """ step_name: Optional[StrPipeVar] = Unassigned() @@ -14351,6 +14485,7 @@ class PipelineExecutionStep(Base): metadata: Optional[PipelineExecutionStepMetadata] = Unassigned() attempt_count: Optional[int] = Unassigned() selective_execution_result: Optional[SelectiveExecutionResult] = Unassigned() + iteration_context: Optional[IterationContext] = Unassigned() class PipelineExecutionSummary(Base): diff --git a/sagemaker-core/src/sagemaker/core/tools/api_coverage.json b/sagemaker-core/src/sagemaker/core/tools/api_coverage.json index d00a5fa327..ab367233fd 100644 --- a/sagemaker-core/src/sagemaker/core/tools/api_coverage.json +++ b/sagemaker-core/src/sagemaker/core/tools/api_coverage.json @@ -1 +1 @@ -{"SupportedAPIs": 391, "UnsupportedAPIs": 21} \ No newline at end of file +{"SupportedAPIs": 399, "UnsupportedAPIs": 22} \ No newline at end of file diff --git a/sagemaker-core/src/sagemaker/core/utils/code_injection/shape_dag.py b/sagemaker-core/src/sagemaker/core/utils/code_injection/shape_dag.py index 331c3e5616..ff5f80e6be 100644 --- a/sagemaker-core/src/sagemaker/core/utils/code_injection/shape_dag.py +++ b/sagemaker-core/src/sagemaker/core/utils/code_injection/shape_dag.py @@ -1,5 +1,3 @@ -"""Generated shape dependency graph used for serialization.""" - SHAPE_DAG = { "AIAdapterModelPackageEntry": { "members": [ @@ -870,6 +868,13 @@ ], "type": "structure", }, + "AthenaStepMetadata": { + "members": [ + {"name": "QueryExecutionId", "shape": "String256", "type": "string"}, + {"name": "S3OutputLocation", "shape": "String1024", "type": "string"}, + ], + "type": "structure", + }, "AttachClusterNodeNetworkInterfaceRequest": { "members": [ {"name": "ClusterName", "shape": "ClusterNameOrArn", "type": "string"}, @@ -2132,6 +2137,28 @@ ], "type": "structure", }, + "CleanupFailure": { + "members": [ + {"name": "StepName", "shape": "String256", "type": "string"}, + {"name": "ErrorCode", "shape": "CleanupFailureErrorCode", "type": "string"}, + {"name": "ErrorMessage", "shape": "String2048", "type": "string"}, + ], + "type": "structure", + }, + "CleanupFailureList": { + "member_shape": "CleanupFailure", + "member_type": "structure", + "type": "list", + }, + "CleanupStepMetadata": { + "members": [ + {"name": "CleanedSteps", "shape": "CleanupStepNameList", "type": "list"}, + {"name": "FailedSteps", "shape": "CleanupFailureList", "type": "list"}, + {"name": "SkippedSteps", "shape": "CleanupStepNameList", "type": "list"}, + ], + "type": "structure", + }, + "CleanupStepNameList": {"member_shape": "String256", "member_type": "string", "type": "list"}, "ClusterAccountingDatabase": { "members": [ {"name": "Endpoint", "shape": "ClusterAccountingDatabaseEndpoint", "type": "string"}, @@ -8360,6 +8387,15 @@ ], "type": "structure", }, + "EMRServerlessStepMetadata": { + "members": [ + {"name": "ApplicationId", "shape": "EMRServerlessApplicationId", "type": "string"}, + {"name": "JobRunId", "shape": "EMRServerlessJobRunId", "type": "string"}, + {"name": "JobRunName", "shape": "String256", "type": "string"}, + {"name": "LogFilePath", "shape": "String1024", "type": "string"}, + ], + "type": "structure", + }, "EMRStepMetadata": { "members": [ {"name": "ClusterId", "shape": "String256", "type": "string"}, @@ -9068,6 +9104,25 @@ "member_type": "string", "type": "list", }, + "ForEachSelectorResult": { + "members": [ + {"name": "StepName", "shape": "String256", "type": "string"}, + {"name": "Index", "shape": "Integer", "type": "integer"}, + ], + "type": "structure", + }, + "ForEachStepMetadata": { + "members": [ + {"name": "Status", "shape": "ForEachStatus", "type": "string"}, + {"name": "InputItemCount", "shape": "Integer", "type": "integer"}, + {"name": "TotalStepCount", "shape": "Integer", "type": "integer"}, + {"name": "SucceededStepCount", "shape": "Integer", "type": "integer"}, + {"name": "FailedStepCount", "shape": "Integer", "type": "integer"}, + {"name": "StoppedStepCount", "shape": "Integer", "type": "integer"}, + {"name": "Selector", "shape": "ForEachSelectorResult", "type": "structure"}, + ], + "type": "structure", + }, "ForecastQuantiles": { "member_shape": "ForecastQuantile", "member_type": "string", @@ -10548,12 +10603,19 @@ {"name": "CustomAttributes", "shape": "CustomAttributesHeader", "type": "string"}, {"name": "InferenceId", "shape": "InferenceId", "type": "string"}, {"name": "InputLocation", "shape": "InputLocationHeader", "type": "string"}, + { + "name": "S3OutputPathExtension", + "shape": "S3OutputPathExtensionHeader", + "type": "string", + }, + {"name": "Filename", "shape": "FilenameHeader", "type": "string"}, {"name": "RequestTTLSeconds", "shape": "RequestTTLSecondsHeader", "type": "integer"}, { "name": "InvocationTimeoutSeconds", "shape": "InvocationTimeoutSecondsHeader", "type": "integer", }, + {"name": "Body", "shape": "AsyncBodyBlob", "type": "blob"}, ], "type": "structure", }, @@ -10587,6 +10649,7 @@ "type": "string", }, {"name": "SessionId", "shape": "SessionIdOrNewSessionConstantHeader", "type": "string"}, + {"name": "PrefixAwareId", "shape": "PrefixAwareIdHeader", "type": "string"}, ], "type": "structure", }, @@ -10621,6 +10684,7 @@ "type": "string", }, {"name": "SessionId", "shape": "SessionIdHeader", "type": "string"}, + {"name": "PrefixAwareId", "shape": "PrefixAwareIdHeader", "type": "string"}, ], "type": "structure", }, @@ -10633,6 +10697,14 @@ ], "type": "structure", }, + "IterationContext": { + "members": [ + {"name": "ParentStepName", "shape": "String256", "type": "string"}, + {"name": "Index", "shape": "Integer", "type": "integer"}, + {"name": "Item", "shape": "String12800", "type": "string"}, + ], + "type": "structure", + }, "Job": { "members": [ {"name": "JobName", "shape": "JobName", "type": "string"}, @@ -14986,6 +15058,7 @@ "shape": "SelectiveExecutionResult", "type": "structure", }, + {"name": "IterationContext", "shape": "IterationContext", "type": "structure"}, ], "type": "structure", }, @@ -15006,6 +15079,7 @@ {"name": "Callback", "shape": "CallbackStepMetadata", "type": "structure"}, {"name": "Lambda", "shape": "LambdaStepMetadata", "type": "structure"}, {"name": "EMR", "shape": "EMRStepMetadata", "type": "structure"}, + {"name": "EMRServerless", "shape": "EMRServerlessStepMetadata", "type": "structure"}, {"name": "QualityCheck", "shape": "QualityCheckStepMetadata", "type": "structure"}, {"name": "ClarifyCheck", "shape": "ClarifyCheckStepMetadata", "type": "structure"}, {"name": "Fail", "shape": "FailStepMetadata", "type": "structure"}, @@ -15039,6 +15113,9 @@ }, {"name": "Lineage", "shape": "LineageMetadata", "type": "structure"}, {"name": "Job", "shape": "JobStepMetadata", "type": "structure"}, + {"name": "Athena", "shape": "AthenaStepMetadata", "type": "structure"}, + {"name": "Cleanup", "shape": "CleanupStepMetadata", "type": "structure"}, + {"name": "ForEach", "shape": "ForEachStepMetadata", "type": "structure"}, ], "type": "structure", },