Class: Aws::SageMakerRuntimeHTTP2::AsyncClient
- Inherits:
-
Seahorse::Client::AsyncBase
- Object
- Seahorse::Client::AsyncBase
- Aws::SageMakerRuntimeHTTP2::AsyncClient
- Includes:
- AsyncClientStubs
- Defined in:
- lib/aws-sdk-sagemakerruntimehttp2/async_client.rb
Overview
An API async client for SageMakerRuntimeHTTP2. To construct an async client, you need to configure a ‘:region` and `:credentials`.
async_client = Aws::SageMakerRuntimeHTTP2::AsyncClient.new(
region: region_name,
credentials: credentials,
# ...
)
For details on configuring region and credentials see the [developer guide](/sdk-for-ruby/v3/developer-guide/setup-config.html).
See #initialize for a full list of supported configuration options.
Class Attribute Summary collapse
- .identifier ⇒ Object readonly private
API Operations collapse
-
#invoke_endpoint_with_bidirectional_stream(params = {}) ⇒ Types::InvokeEndpointWithBidirectionalStreamOutput
Invokes a model endpoint with bidirectional streaming capabilities.
Class Method Summary collapse
- .errors_module ⇒ Object private
Instance Method Summary collapse
- #build_request(operation_name, params = {}) ⇒ Object private
-
#initialize(options) ⇒ AsyncClient
constructor
A new instance of AsyncClient.
Constructor Details
#initialize(options) ⇒ AsyncClient
Returns a new instance of AsyncClient.
403 404 405 406 407 408 |
# File 'lib/aws-sdk-sagemakerruntimehttp2/async_client.rb', line 403 def initialize(*args) unless Kernel.const_defined?("HTTP2") raise "Must include http/2 gem to use AsyncClient instances." end super end |
Class Attribute Details
.identifier ⇒ Object (readonly)
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
651 652 653 |
# File 'lib/aws-sdk-sagemakerruntimehttp2/async_client.rb', line 651 def identifier @identifier end |
Class Method Details
.errors_module ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
654 655 656 |
# File 'lib/aws-sdk-sagemakerruntimehttp2/async_client.rb', line 654 def errors_module Errors end |
Instance Method Details
#build_request(operation_name, params = {}) ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 |
# File 'lib/aws-sdk-sagemakerruntimehttp2/async_client.rb', line 614 def build_request(operation_name, params = {}) handlers = @handlers.for(operation_name) tracer = config.telemetry_provider.tracer_provider.tracer( Aws::Telemetry.module_to_tracer_name('Aws::SageMakerRuntimeHTTP2') ) context = Seahorse::Client::RequestContext.new( operation_name: operation_name, operation: config.api.operation(operation_name), client: self, params: params, http_response: Seahorse::Client::Http::AsyncResponse.new, config: config, tracer: tracer ) context[:gem_name] = 'aws-sdk-sagemakerruntimehttp2' context[:gem_version] = '1.6.0' Seahorse::Client::Request.new(handlers, context) end |
#invoke_endpoint_with_bidirectional_stream(params = {}) ⇒ Types::InvokeEndpointWithBidirectionalStreamOutput
Invokes a model endpoint with bidirectional streaming capabilities. This operation establishes a persistent connection that allows you to send multiple requests and receive streaming responses from the model in real-time.
Bidirectional streaming is useful for interactive applications such as chatbots, real-time translation, or any scenario where you need to maintain a conversation-like interaction with the model. The connection remains open, allowing you to send additional input and receive responses without establishing a new connection for each request.
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 ‘InvokeEndpointWithBidirectionalStream` are authenticated by using Amazon Web Services Signature Version 4. For information, see
- Authenticating Requests (Amazon Web Services Signature Version 4)][2
-
in the *Amazon S3 API Reference*.
The bidirectional stream maintains the connection until either the client closes it or the model indicates completion. Each request and response in the stream is sent as an event with optional headers for data type and completion state.
<note markdown=“1”> 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.
</note>[1]: docs.aws.amazon.com/sagemaker/latest/dg/how-it-works.html [2]: docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-authenticating-requests.html
585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 |
# File 'lib/aws-sdk-sagemakerruntimehttp2/async_client.rb', line 585 def invoke_endpoint_with_bidirectional_stream(params = {}, = {}, &block) params = params.dup input_event_stream_handler = _event_stream_handler( :input, params.delete(:input_event_stream_handler), EventStreams::RequestStreamEvent ) output_event_stream_handler = _event_stream_handler( :output, params.delete(:output_event_stream_handler) || params.delete(:event_stream_handler), EventStreams::ResponseStreamEvent ) yield(output_event_stream_handler) if block_given? req = build_request(:invoke_endpoint_with_bidirectional_stream, params) req.context[:input_event_stream_handler] = input_event_stream_handler req.handlers.add(Aws::Binary::EncodeHandler, priority: 55) req.context[:output_event_stream_handler] = output_event_stream_handler req.handlers.add(Aws::Binary::DecodeHandler, priority: 55) req.send_request(, &block) end |