aws_sdk_transcribestreaming/
lib.rs

1#![allow(deprecated)]
2#![allow(unknown_lints)]
3#![allow(clippy::module_inception)]
4#![allow(clippy::upper_case_acronyms)]
5#![allow(clippy::large_enum_variant)]
6#![allow(clippy::wrong_self_convention)]
7#![allow(clippy::should_implement_trait)]
8#![allow(clippy::disallowed_names)]
9#![allow(clippy::vec_init_then_push)]
10#![allow(clippy::type_complexity)]
11#![allow(clippy::needless_return)]
12#![allow(clippy::derive_partial_eq_without_eq)]
13#![allow(clippy::result_large_err)]
14#![allow(clippy::unnecessary_map_on_constructor)]
15#![allow(rustdoc::bare_urls)]
16#![allow(rustdoc::redundant_explicit_links)]
17#![allow(rustdoc::invalid_html_tags)]
18
19#![forbid(unsafe_code)]
20#![warn(missing_docs)]
21#![cfg_attr(docsrs, feature(doc_auto_cfg))]
22//! Amazon Transcribe streaming offers three main types of real-time transcription: __Standard__, __Medical__, and __Call Analytics__.
23//!   - __Standard transcriptions__ are the most common option. Refer to for details.
24//!   - __Medical transcriptions__ are tailored to medical professionals and incorporate medical terms. A common use case for this service is transcribing doctor-patient dialogue in real time, so doctors can focus on their patient instead of taking notes. Refer to for details.
25//!   - __Call Analytics transcriptions__ are designed for use with call center audio on two different channels; if you're looking for insight into customer service calls, use this option. Refer to for details.
26//! 
27//! ## Getting Started
28//! 
29//! > Examples are available for many services and operations, check out the
30//! > [examples folder in GitHub](https://github.com/awslabs/aws-sdk-rust/tree/main/examples).
31//! 
32//! The SDK provides one crate per AWS service. You must add [Tokio](https://crates.io/crates/tokio)
33//! as a dependency within your Rust project to execute asynchronous code. To add `aws-sdk-transcribestreaming` to
34//! your project, add the following to your **Cargo.toml** file:
35//! 
36//! ```toml
37//! [dependencies]
38//! aws-config = { version = "1.1.7", features = ["behavior-version-latest"] }
39//! aws-sdk-transcribestreaming = "0.0.0-local"
40//! tokio = { version = "1", features = ["full"] }
41//! ```
42//! 
43//! Then in code, a client can be created with the following:
44//! 
45//! ```rust,no_run
46//! use aws_sdk_transcribestreaming as transcribestreaming;
47//! 
48//! #[::tokio::main]
49//! async fn main() -> Result<(), transcribestreaming::Error> {
50//!     let config = aws_config::load_from_env().await;
51//!     let client = aws_sdk_transcribestreaming::Client::new(&config);
52//! 
53//!     // ... make some calls with the client
54//! 
55//!     Ok(())
56//! }
57//! ```
58//! 
59//! See the [client documentation](https://docs.rs/aws-sdk-transcribestreaming/latest/aws_sdk_transcribestreaming/client/struct.Client.html)
60//! for information on what calls can be made, and the inputs and outputs for each of those calls.
61//! 
62//! ## Using the SDK
63//! 
64//! Until the SDK is released, we will be adding information about using the SDK to the
65//! [Developer Guide](https://docs.aws.amazon.com/sdk-for-rust/latest/dg/welcome.html). Feel free to suggest
66//! additional sections for the guide by opening an issue and describing what you are trying to do.
67//! 
68//! ## Getting Help
69//! 
70//! * [GitHub discussions](https://github.com/awslabs/aws-sdk-rust/discussions) - For ideas, RFCs & general questions
71//! * [GitHub issues](https://github.com/awslabs/aws-sdk-rust/issues/new/choose) - For bug reports & feature requests
72//! * [Generated Docs (latest version)](https://awslabs.github.io/aws-sdk-rust/)
73//! * [Usage examples](https://github.com/awslabs/aws-sdk-rust/tree/main/examples)
74//! 
75//! 
76//! # Crate Organization
77//! 
78//! The entry point for most customers will be [`Client`], which exposes one method for each API
79//! offered by Amazon Transcribe Streaming Service. The return value of each of these methods is a "fluent builder",
80//! where the different inputs for that API are added by builder-style function call chaining,
81//! followed by calling `send()` to get a [`Future`](std::future::Future) that will result in
82//! either a successful output or a [`SdkError`](crate::error::SdkError).
83//! 
84//! Some of these API inputs may be structs or enums to provide more complex structured information.
85//! These structs and enums live in [`types`](crate::types). There are some simpler types for
86//! representing data such as date times or binary blobs that live in [`primitives`](crate::primitives).
87//! 
88//! All types required to configure a client via the [`Config`](crate::Config) struct live
89//! in [`config`](crate::config).
90//! 
91//! The [`operation`](crate::operation) module has a submodule for every API, and in each submodule
92//! is the input, output, and error type for that API, as well as builders to construct each of those.
93//! 
94//! There is a top-level [`Error`](crate::Error) type that encompasses all the errors that the
95//! client can return. Any other error type can be converted to this `Error` type via the
96//! [`From`](std::convert::From) trait.
97//! 
98//! The other modules within this crate are not required for normal usage.
99
100
101// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
102pub use error_meta::Error;
103
104#[doc(inline)]
105pub use config::Config;
106
107/// Client for calling Amazon Transcribe Streaming Service.
108/// ## Constructing a `Client`
109/// 
110/// A [`Config`] is required to construct a client. For most use cases, the [`aws-config`]
111/// crate should be used to automatically resolve this config using
112/// [`aws_config::load_from_env()`], since this will resolve an [`SdkConfig`] which can be shared
113/// across multiple different AWS SDK clients. This config resolution process can be customized
114/// by calling [`aws_config::from_env()`] instead, which returns a [`ConfigLoader`] that uses
115/// the [builder pattern] to customize the default config.
116/// 
117/// In the simplest case, creating a client looks as follows:
118/// ```rust,no_run
119/// # async fn wrapper() {
120/// let config = aws_config::load_from_env().await;
121/// let client = aws_sdk_transcribestreaming::Client::new(&config);
122/// # }
123/// ```
124/// 
125/// Occasionally, SDKs may have additional service-specific values that can be set on the [`Config`] that
126/// is absent from [`SdkConfig`], or slightly different settings for a specific client may be desired.
127/// The [`Builder`](crate::config::Builder) struct implements `From<&SdkConfig>`, so setting these specific settings can be
128/// done as follows:
129/// 
130/// ```rust,no_run
131/// # async fn wrapper() {
132/// let sdk_config = ::aws_config::load_from_env().await;
133/// let config = aws_sdk_transcribestreaming::config::Builder::from(&sdk_config)
134/// # /*
135///     .some_service_specific_setting("value")
136/// # */
137///     .build();
138/// # }
139/// ```
140/// 
141/// See the [`aws-config` docs] and [`Config`] for more information on customizing configuration.
142/// 
143/// _Note:_ Client construction is expensive due to connection thread pool initialization, and should
144/// be done once at application start-up.
145/// 
146/// [`Config`]: crate::Config
147/// [`ConfigLoader`]: https://docs.rs/aws-config/*/aws_config/struct.ConfigLoader.html
148/// [`SdkConfig`]: https://docs.rs/aws-config/*/aws_config/struct.SdkConfig.html
149/// [`aws-config` docs]: https://docs.rs/aws-config/*
150/// [`aws-config`]: https://crates.io/crates/aws-config
151/// [`aws_config::from_env()`]: https://docs.rs/aws-config/*/aws_config/fn.from_env.html
152/// [`aws_config::load_from_env()`]: https://docs.rs/aws-config/*/aws_config/fn.load_from_env.html
153/// [builder pattern]: https://rust-lang.github.io/api-guidelines/type-safety.html#builders-enable-construction-of-complex-values-c-builder
154/// # Using the `Client`
155/// 
156/// A client has a function for every operation that can be performed by the service.
157/// For example, the [`StartCallAnalyticsStreamTranscription`](crate::operation::start_call_analytics_stream_transcription) operation has
158/// a [`Client::start_call_analytics_stream_transcription`], function which returns a builder for that operation.
159/// The fluent builder ultimately has a `send()` function that returns an async future that
160/// returns a result, as illustrated below:
161/// 
162/// ```rust,ignore
163/// let result = client.start_call_analytics_stream_transcription()
164///     .language_code("example")
165///     .send()
166///     .await;
167/// ```
168/// 
169/// The underlying HTTP requests that get made by this can be modified with the `customize_operation`
170/// function on the fluent builder. See the [`customize`](crate::client::customize) module for more
171/// information.
172pub mod client;
173
174/// Configuration for Amazon Transcribe Streaming Service.
175pub mod config;
176
177/// Common errors and error handling utilities.
178pub mod error;
179
180mod error_meta;
181
182/// Information about this crate.
183pub mod meta;
184
185/// All operations that this crate can perform.
186pub mod operation;
187
188/// Primitives such as `Blob` or `DateTime` used by other types.
189pub mod primitives;
190
191/// Data structures used by operation inputs/outputs.
192pub mod types;
193
194mod auth_plugin;
195
196mod event_receiver;
197
198mod event_stream_serde;
199
200pub(crate) mod protocol_serde;
201
202mod sdk_feature_tracker;
203
204mod serialization_settings;
205
206mod endpoint_lib;
207
208mod json_errors;
209
210#[doc(inline)]
211pub use client::Client;
212