Struct aws_sdk_bedrockruntime::Client
source · pub struct Client { /* private fields */ }
Expand description
Client for Amazon Bedrock Runtime
Client for invoking operations on Amazon Bedrock Runtime. Each operation on Amazon Bedrock Runtime is a method on this
this struct. .send()
MUST be invoked on the generated operations to dispatch the request to the service.
Constructing a Client
A Config
is required to construct a client. For most use cases, the aws-config
crate should be used to automatically resolve this config using
aws_config::load_from_env()
, since this will resolve an SdkConfig
which can be shared
across multiple different AWS SDK clients. This config resolution process can be customized
by calling aws_config::from_env()
instead, which returns a ConfigLoader
that uses
the builder pattern to customize the default config.
In the simplest case, creating a client looks as follows:
let config = aws_config::load_from_env().await;
let client = aws_sdk_bedrockruntime::Client::new(&config);
Occasionally, SDKs may have additional service-specific that can be set on the Config
that
is absent from SdkConfig
, or slightly different settings for a specific client may be desired.
The Config
struct implements From<&SdkConfig>
, so setting these specific settings can be
done as follows:
let sdk_config = ::aws_config::load_from_env().await;
let config = aws_sdk_bedrockruntime::config::Builder::from(&sdk_config)
.some_service_specific_setting("value")
.build();
See the aws-config
docs and Config
for more information on customizing configuration.
Note: Client construction is expensive due to connection thread pool initialization, and should be done once at application start-up.
Implementations§
source§impl Client
impl Client
sourcepub fn invoke_model(&self) -> InvokeModelFluentBuilder
pub fn invoke_model(&self) -> InvokeModelFluentBuilder
Constructs a fluent builder for the InvokeModel
operation.
- The fluent builder is configurable:
body(Blob)
/set_body(Option<Blob>)
:
required: trueInput data in the format specified in the content-type request header. To see the format and content of this field for different models, refer to Inference parameters.
content_type(impl Into<String>)
/set_content_type(Option<String>)
:
required: falseThe MIME type of the input data in the request. The default value is
application/json
.accept(impl Into<String>)
/set_accept(Option<String>)
:
required: falseThe desired MIME type of the inference body in the response. The default value is
application/json
.model_id(impl Into<String>)
/set_model_id(Option<String>)
:
required: trueIdentifier of the model.
- On success, responds with
InvokeModelOutput
with field(s):body(Blob)
:Inference response from the model in the format specified in the content-type header field. To see the format and content of this field for different models, refer to Inference parameters.
content_type(String)
:The MIME type of the inference result.
- On failure, responds with
SdkError<InvokeModelError>
source§impl Client
impl Client
sourcepub fn invoke_model_with_response_stream(
&self
) -> InvokeModelWithResponseStreamFluentBuilder
pub fn invoke_model_with_response_stream( &self ) -> InvokeModelWithResponseStreamFluentBuilder
Constructs a fluent builder for the InvokeModelWithResponseStream
operation.
- The fluent builder is configurable:
body(Blob)
/set_body(Option<Blob>)
:
required: trueInference input in the format specified by the content-type. To see the format and content of this field for different models, refer to Inference parameters.
content_type(impl Into<String>)
/set_content_type(Option<String>)
:
required: falseThe MIME type of the input data in the request. The default value is
application/json
.accept(impl Into<String>)
/set_accept(Option<String>)
:
required: falseThe desired MIME type of the inference body in the response. The default value is
application/json
.model_id(impl Into<String>)
/set_model_id(Option<String>)
:
required: trueId of the model to invoke using the streaming request.
- On success, responds with
InvokeModelWithResponseStreamOutput
with field(s):body(EventReceiver<ResponseStream, ResponseStreamError>)
:Inference response from the model in the format specified by Content-Type. To see the format and content of this field for different models, refer to Inference parameters.
content_type(String)
:The MIME type of the inference result.
- On failure, responds with
SdkError<InvokeModelWithResponseStreamError>
source§impl Client
impl Client
sourcepub fn from_conf(conf: Config) -> Self
pub fn from_conf(conf: Config) -> Self
Creates a new client from the service Config
.
Panics
This method will panic in the following cases:
- Retries or timeouts are enabled without a
sleep_impl
configured. - Identity caching is enabled without a
sleep_impl
andtime_source
configured. - No
behavior_version
is provided.
The panic message for each of these will have instructions on how to resolve them.
source§impl Client
impl Client
sourcepub fn new(sdk_config: &SdkConfig) -> Self
pub fn new(sdk_config: &SdkConfig) -> Self
Creates a new client from an SDK Config.
Panics
- This method will panic if the
sdk_config
is missing an async sleep implementation. If you experience this panic, set thesleep_impl
on the Config passed into this function to fix it. - This method will panic if the
sdk_config
is missing an HTTP connector. If you experience this panic, set thehttp_connector
on the Config passed into this function to fix it. - This method will panic if no
BehaviorVersion
is provided. If you experience this panic, setbehavior_version
on the Config or enable thebehavior-version-latest
Cargo feature.