Crates.io | xray-lite-aws-sdk |
lib.rs | xray-lite-aws-sdk |
version | 0.0.4 |
source | src |
created_at | 2024-03-30 08:41:27.154275 |
updated_at | 2024-03-30 08:41:27.154275 |
description | xray-lite extension for AWS SDK for Rust |
homepage | https://github.com/codemonger-io/xray-lite/tree/main/xray-lite-aws-sdk |
repository | https://github.com/codemonger-io/xray-lite |
max_upload_size | |
id | 1190894 |
size | 10,649 |
xray-lite-aws-sdk
xray-lite-aws-sdk
is an extension of xray-lite
for AWS SDK for Rust.
xray-lite-aws-sdk
Add the following to your Cargo.toml
file:
[dependencies]
xray-lite-aws-sdk = "0.0.4"
With this crate, you can easily add the X-Ray tracing capability to your AWS service requests through AWS SDK for Rust.
It utilizes the interceptor which can be attached to CustomizableOperation
available via the customize
method of any request builder; e.g., aws_sdk_s3::operation::get_object::builders::GetObjectFluentBuilder::customize
The following example shows how to report a subsegment for each attempt of the S3 GetObject operation:
use aws_config::BehaviorVersion;
use xray_lite::{DaemonClient, SubsegmentContext};
use xray_lite_aws_sdk::ContextExt as _;
async fn get_object_from_s3() {
let xray_client = DaemonClient::from_lambda_env().unwrap();
let xray_context = SubsegmentContext::from_lambda_env(xray_client).unwrap();
let config = aws_config::load_defaults(BehaviorVersion::latest()).await;
let s3_client = aws_sdk_s3::Client::new(&config);
s3_client
.get_object()
.bucket("the-bucket-name")
.key("the-object-key")
.customize()
.interceptor(xray_context.intercept_operation("S3", "GetObject"))
.send()
.await
.unwrap();
}
https://codemonger-io.github.io/xray-lite/api/xray_lite_aws_sdk/