/* * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). * You may not use this file except in compliance with the License. * A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either * express or implied. See the License for the specific language governing * permissions and limitations under the License. */ /* * Do not modify this file. This file is generated from the runtime.sagemaker-2017-05-13.normal.json service model. */ using System; using System.Collections.Generic; using System.Net; using Amazon.SageMakerRuntime.Model; using Amazon.SageMakerRuntime.Model.Internal.MarshallTransformations; using Amazon.SageMakerRuntime.Internal; using Amazon.Runtime; using Amazon.Runtime.Internal; using Amazon.Runtime.Internal.Auth; using Amazon.Runtime.Internal.Transform; namespace Amazon.SageMakerRuntime { /// /// Implementation for accessing SageMakerRuntime /// /// The Amazon SageMaker runtime API. /// public partial class AmazonSageMakerRuntimeClient : AmazonServiceClient, IAmazonSageMakerRuntime { private static IServiceMetadata serviceMetadata = new AmazonSageMakerRuntimeMetadata(); #region Constructors /// /// Constructs AmazonSageMakerRuntimeClient with the credentials loaded from the application's /// default configuration, and if unsuccessful from the Instance Profile service on an EC2 instance. /// /// Example App.config with credentials set. /// /// <?xml version="1.0" encoding="utf-8" ?> /// <configuration> /// <appSettings> /// <add key="AWSProfileName" value="AWS Default"/> /// </appSettings> /// </configuration> /// /// /// public AmazonSageMakerRuntimeClient() : base(FallbackCredentialsFactory.GetCredentials(), new AmazonSageMakerRuntimeConfig()) { } /// /// Constructs AmazonSageMakerRuntimeClient with the credentials loaded from the application's /// default configuration, and if unsuccessful from the Instance Profile service on an EC2 instance. /// /// Example App.config with credentials set. /// /// <?xml version="1.0" encoding="utf-8" ?> /// <configuration> /// <appSettings> /// <add key="AWSProfileName" value="AWS Default"/> /// </appSettings> /// </configuration> /// /// /// /// The region to connect. public AmazonSageMakerRuntimeClient(RegionEndpoint region) : base(FallbackCredentialsFactory.GetCredentials(), new AmazonSageMakerRuntimeConfig{RegionEndpoint = region}) { } /// /// Constructs AmazonSageMakerRuntimeClient with the credentials loaded from the application's /// default configuration, and if unsuccessful from the Instance Profile service on an EC2 instance. /// /// Example App.config with credentials set. /// /// <?xml version="1.0" encoding="utf-8" ?> /// <configuration> /// <appSettings> /// <add key="AWSProfileName" value="AWS Default"/> /// </appSettings> /// </configuration> /// /// /// /// The AmazonSageMakerRuntimeClient Configuration Object public AmazonSageMakerRuntimeClient(AmazonSageMakerRuntimeConfig config) : base(FallbackCredentialsFactory.GetCredentials(config), config){} /// /// Constructs AmazonSageMakerRuntimeClient with AWS Credentials /// /// AWS Credentials public AmazonSageMakerRuntimeClient(AWSCredentials credentials) : this(credentials, new AmazonSageMakerRuntimeConfig()) { } /// /// Constructs AmazonSageMakerRuntimeClient with AWS Credentials /// /// AWS Credentials /// The region to connect. public AmazonSageMakerRuntimeClient(AWSCredentials credentials, RegionEndpoint region) : this(credentials, new AmazonSageMakerRuntimeConfig{RegionEndpoint = region}) { } /// /// Constructs AmazonSageMakerRuntimeClient with AWS Credentials and an /// AmazonSageMakerRuntimeClient Configuration object. /// /// AWS Credentials /// The AmazonSageMakerRuntimeClient Configuration Object public AmazonSageMakerRuntimeClient(AWSCredentials credentials, AmazonSageMakerRuntimeConfig clientConfig) : base(credentials, clientConfig) { } /// /// Constructs AmazonSageMakerRuntimeClient with AWS Access Key ID and AWS Secret Key /// /// AWS Access Key ID /// AWS Secret Access Key public AmazonSageMakerRuntimeClient(string awsAccessKeyId, string awsSecretAccessKey) : this(awsAccessKeyId, awsSecretAccessKey, new AmazonSageMakerRuntimeConfig()) { } /// /// Constructs AmazonSageMakerRuntimeClient with AWS Access Key ID and AWS Secret Key /// /// AWS Access Key ID /// AWS Secret Access Key /// The region to connect. public AmazonSageMakerRuntimeClient(string awsAccessKeyId, string awsSecretAccessKey, RegionEndpoint region) : this(awsAccessKeyId, awsSecretAccessKey, new AmazonSageMakerRuntimeConfig() {RegionEndpoint=region}) { } /// /// Constructs AmazonSageMakerRuntimeClient with AWS Access Key ID, AWS Secret Key and an /// AmazonSageMakerRuntimeClient Configuration object. /// /// AWS Access Key ID /// AWS Secret Access Key /// The AmazonSageMakerRuntimeClient Configuration Object public AmazonSageMakerRuntimeClient(string awsAccessKeyId, string awsSecretAccessKey, AmazonSageMakerRuntimeConfig clientConfig) : base(awsAccessKeyId, awsSecretAccessKey, clientConfig) { } /// /// Constructs AmazonSageMakerRuntimeClient with AWS Access Key ID and AWS Secret Key /// /// AWS Access Key ID /// AWS Secret Access Key /// AWS Session Token public AmazonSageMakerRuntimeClient(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken) : this(awsAccessKeyId, awsSecretAccessKey, awsSessionToken, new AmazonSageMakerRuntimeConfig()) { } /// /// Constructs AmazonSageMakerRuntimeClient with AWS Access Key ID and AWS Secret Key /// /// AWS Access Key ID /// AWS Secret Access Key /// AWS Session Token /// The region to connect. public AmazonSageMakerRuntimeClient(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken, RegionEndpoint region) : this(awsAccessKeyId, awsSecretAccessKey, awsSessionToken, new AmazonSageMakerRuntimeConfig{RegionEndpoint = region}) { } /// /// Constructs AmazonSageMakerRuntimeClient with AWS Access Key ID, AWS Secret Key and an /// AmazonSageMakerRuntimeClient Configuration object. /// /// AWS Access Key ID /// AWS Secret Access Key /// AWS Session Token /// The AmazonSageMakerRuntimeClient Configuration Object public AmazonSageMakerRuntimeClient(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken, AmazonSageMakerRuntimeConfig clientConfig) : base(awsAccessKeyId, awsSecretAccessKey, awsSessionToken, clientConfig) { } #endregion #region Overrides /// /// Creates the signer for the service. /// protected override AbstractAWSSigner CreateSigner() { return new AWS4Signer(); } /// /// Customize the pipeline /// /// protected override void CustomizeRuntimePipeline(RuntimePipeline pipeline) { pipeline.RemoveHandler(); pipeline.AddHandlerAfter(new AmazonSageMakerRuntimeEndpointResolver()); } /// /// Capture metadata for the service. /// protected override IServiceMetadata ServiceMetadata { get { return serviceMetadata; } } #endregion #region Dispose /// /// Disposes the service client. /// protected override void Dispose(bool disposing) { base.Dispose(disposing); } #endregion #region InvokeEndpoint /// /// 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. /// /// /// /// Container for the necessary parameters to execute the InvokeEndpoint service method. /// /// The response from the InvokeEndpoint service method, as returned by SageMakerRuntime. /// /// Your request caused an exception with an internal dependency. Contact customer support. /// /// /// An internal failure occurred. /// /// /// Model (owned by the customer in the container) returned 4xx or 5xx error code. /// /// /// Either a serverless endpoint variant's resources are still being provisioned, or a /// multi-model endpoint is still downloading or loading the target model. Wait and try /// your request again. /// /// /// The service is unavailable. Try your call again. /// /// /// Inspect your request and try again. /// /// REST API Reference for InvokeEndpoint Operation public virtual InvokeEndpointResponse InvokeEndpoint(InvokeEndpointRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = InvokeEndpointRequestMarshaller.Instance; options.ResponseUnmarshaller = InvokeEndpointResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Initiates the asynchronous execution of the InvokeEndpoint operation. /// /// /// Container for the necessary parameters to execute the InvokeEndpoint operation on AmazonSageMakerRuntimeClient. /// An AsyncCallback delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndInvokeEndpoint /// operation. /// REST API Reference for InvokeEndpoint Operation public virtual IAsyncResult BeginInvokeEndpoint(InvokeEndpointRequest request, AsyncCallback callback, object state) { var options = new InvokeOptions(); options.RequestMarshaller = InvokeEndpointRequestMarshaller.Instance; options.ResponseUnmarshaller = InvokeEndpointResponseUnmarshaller.Instance; return BeginInvoke(request, options, callback, state); } /// /// Finishes the asynchronous execution of the InvokeEndpoint operation. /// /// /// The IAsyncResult returned by the call to BeginInvokeEndpoint. /// /// Returns a InvokeEndpointResult from SageMakerRuntime. /// REST API Reference for InvokeEndpoint Operation public virtual InvokeEndpointResponse EndInvokeEndpoint(IAsyncResult asyncResult) { return EndInvoke(asyncResult); } #endregion #region InvokeEndpointAsync /// /// 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. /// /// /// Container for the necessary parameters to execute the InvokeEndpointAsync service method. /// /// The response from the InvokeEndpointAsync service method, as returned by SageMakerRuntime. /// /// An internal failure occurred. /// /// /// The service is unavailable. Try your call again. /// /// /// Inspect your request and try again. /// /// REST API Reference for InvokeEndpointAsync Operation public virtual InvokeEndpointAsyncResponse InvokeEndpointAsync(InvokeEndpointAsyncRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = InvokeEndpointAsyncRequestMarshaller.Instance; options.ResponseUnmarshaller = InvokeEndpointAsyncResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Initiates the asynchronous execution of the InvokeEndpointAsync operation. /// /// /// Container for the necessary parameters to execute the InvokeEndpointAsync operation on AmazonSageMakerRuntimeClient. /// An AsyncCallback delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndInvokeEndpointAsync /// operation. /// REST API Reference for InvokeEndpointAsync Operation public virtual IAsyncResult BeginInvokeEndpointAsync(InvokeEndpointAsyncRequest request, AsyncCallback callback, object state) { var options = new InvokeOptions(); options.RequestMarshaller = InvokeEndpointAsyncRequestMarshaller.Instance; options.ResponseUnmarshaller = InvokeEndpointAsyncResponseUnmarshaller.Instance; return BeginInvoke(request, options, callback, state); } /// /// Finishes the asynchronous execution of the InvokeEndpointAsync operation. /// /// /// The IAsyncResult returned by the call to BeginInvokeEndpointAsync. /// /// Returns a InvokeEndpointAsyncResult from SageMakerRuntime. /// REST API Reference for InvokeEndpointAsync Operation public virtual InvokeEndpointAsyncResponse EndInvokeEndpointAsync(IAsyncResult asyncResult) { return EndInvoke(asyncResult); } #endregion } }