SlideShare a Scribd company logo
1 of 9
Download to read offline
からaws-sdk-rustへ
Rust LT Online #4
だれですか?

@IgnorantCoder
IgnorantCoder
● Rust / C++ / C# / TypeScript / Python
● Handii, Inc.
     とはなんであったか

- 永らくAWS SDK for Rustのデファクトであった

- 2015 Aug がfirst release (Rust自体のstableのファーストリリースが2015 May!) 

- first release時はAmazon SQSのサポートのみ 

- そもそも、なんであったかというと

- @matthewkmayerが 1. Rustを学ぶこと 2. AWSに対する理解を深めるというものだった 

- 2020 Janに目的を達成したよというブログがポストされる 

- 2021 Janについにメンテモードに!

aws-sdk-rustの誕生

- Rusotoのメンテナーだった@ilianaが2020 Febにブログを投稿

- 内容は async/await シグネチャに対応したよという内容 

- 最もアクティブなメンテナーである自分はAWSで働いているよ 

- 他の言語のsdkくらい操作性を高めていきたい 

- 2021 May aws-sdk-rustのalpha版がリリース!

- 基本的には他の言語と同様にSmithyの定義ファイルから生成 

- 7つのサービスのサポートからスタートして、現在41のサービスをサポート 

Rusotoとaws-sdk-rustの比較

Rusoto aws-sdk-rust
Generate code from botocore’s API definition Smithy
Counts of supported 161 41
Status Maintenance Alpha
License MIT Apache 2.0
rusotoとaws-sdk-rustの比較

#[tokio::main]
async fn main() -> Result<(), rusoto_core::RusotoError> {
let client = rusoto_dynamodb::DynamoDbClient::new(rusoto_core::Region::UsEast1);
let req = rusoto_dynamodb::ListTablesInput {
limit: Some(10),
..Default::default()
};
let resp = client.list_tables(req).await?;
Ok(())
}
rusotoとaws-sdk-rustの比較

#[tokio::main]
async fn main() -> Result<(), aws_sdk_dynamodb::Error> {
let client = aws_sdk_dynamodb::Client::from_env();
let req = client.list_tables().limit(10);
let resp = req.send().await?;
Ok(())
}
参考

Matthew Mayer. Farewell to Rusoto.

https://matthewkmayer.github.io/blag/public/post/farewell-rusoto

iliana etaoin. The std::future::Future of Rusoto.

https://linuxwit.ch/blog/2020/02/the-future-of-rusoto/

iliana etaoin. A New AWS SDK for Rust - Alpha Launch.

https://aws.amazon.com/jp/blogs/developer/a-new-aws-sdk-for-rust-alpha-launch/



おしまい

More Related Content

What's hot

What's hot (20)

ドメイン駆動設計 本格入門
ドメイン駆動設計 本格入門ドメイン駆動設計 本格入門
ドメイン駆動設計 本格入門
 
オススメの標準・準標準パッケージ20選
オススメの標準・準標準パッケージ20選オススメの標準・準標準パッケージ20選
オススメの標準・準標準パッケージ20選
 
Hadoop and Kerberos
Hadoop and KerberosHadoop and Kerberos
Hadoop and Kerberos
 
みんなのPython勉強会#77 パッケージングしよう
みんなのPython勉強会#77 パッケージングしようみんなのPython勉強会#77 パッケージングしよう
みんなのPython勉強会#77 パッケージングしよう
 
Logicadの秒間16万リクエストをさばく広告入札システムにおける、gRPCの活用事例
Logicadの秒間16万リクエストをさばく広告入札システムにおける、gRPCの活用事例Logicadの秒間16万リクエストをさばく広告入札システムにおける、gRPCの活用事例
Logicadの秒間16万リクエストをさばく広告入札システムにおける、gRPCの活用事例
 
Rootlessコンテナ
RootlessコンテナRootlessコンテナ
Rootlessコンテナ
 
今日からできる!簡単 .NET 高速化 Tips
今日からできる!簡単 .NET 高速化 Tips今日からできる!簡単 .NET 高速化 Tips
今日からできる!簡単 .NET 高速化 Tips
 
Hokkaido.cap #osc11do Wiresharkを使いこなそう!
Hokkaido.cap #osc11do Wiresharkを使いこなそう!Hokkaido.cap #osc11do Wiresharkを使いこなそう!
Hokkaido.cap #osc11do Wiresharkを使いこなそう!
 
【Unite Tokyo 2019】Understanding C# Struct All Things
【Unite Tokyo 2019】Understanding C# Struct All Things【Unite Tokyo 2019】Understanding C# Struct All Things
【Unite Tokyo 2019】Understanding C# Struct All Things
 
ソフトウェアにおける 複雑さとは何なのか?
ソフトウェアにおける 複雑さとは何なのか?ソフトウェアにおける 複雑さとは何なのか?
ソフトウェアにおける 複雑さとは何なのか?
 
BuildKitの概要と最近の機能
BuildKitの概要と最近の機能BuildKitの概要と最近の機能
BuildKitの概要と最近の機能
 
Lightweight Keycloak
Lightweight KeycloakLightweight Keycloak
Lightweight Keycloak
 
OSSプロジェクトへのコントリビューション はじめの一歩を踏み出そう!(Open Source Conference 2022 Online/Spring...
OSSプロジェクトへのコントリビューション はじめの一歩を踏み出そう!(Open Source Conference 2022 Online/Spring...OSSプロジェクトへのコントリビューション はじめの一歩を踏み出そう!(Open Source Conference 2022 Online/Spring...
OSSプロジェクトへのコントリビューション はじめの一歩を踏み出そう!(Open Source Conference 2022 Online/Spring...
 
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24
 
入門 Cloud Composer
入門 Cloud Composer入門 Cloud Composer
入門 Cloud Composer
 
ドメイン駆動設計サンプルコードの徹底解説
ドメイン駆動設計サンプルコードの徹底解説ドメイン駆動設計サンプルコードの徹底解説
ドメイン駆動設計サンプルコードの徹底解説
 
Kotlin/Native 「使ってみた」の一歩先へ
Kotlin/Native 「使ってみた」の一歩先へKotlin/Native 「使ってみた」の一歩先へ
Kotlin/Native 「使ってみた」の一歩先へ
 
ドメイン駆動設計の正しい歩き方
ドメイン駆動設計の正しい歩き方ドメイン駆動設計の正しい歩き方
ドメイン駆動設計の正しい歩き方
 
ネットワークOS野郎 ~ インフラ野郎Night 20160414
ネットワークOS野郎 ~ インフラ野郎Night 20160414ネットワークOS野郎 ~ インフラ野郎Night 20160414
ネットワークOS野郎 ~ インフラ野郎Night 20160414
 
How to run P4 BMv2
How to run P4 BMv2How to run P4 BMv2
How to run P4 BMv2
 

More from Yusuke Mori (7)

Rust、何もわからない...#7 VecDeque再訪
Rust、何もわからない...#7 VecDeque再訪Rust、何もわからない...#7 VecDeque再訪
Rust、何もわからない...#7 VecDeque再訪
 
4年前にRustで新規プロダクトを?!枯れてない技術の採択にまつわるエトセトラ:developers summit 2023 10-d-8
4年前にRustで新規プロダクトを?!枯れてない技術の採択にまつわるエトセトラ:developers summit 2023 10-d-84年前にRustで新規プロダクトを?!枯れてない技術の採択にまつわるエトセトラ:developers summit 2023 10-d-8
4年前にRustで新規プロダクトを?!枯れてない技術の採択にまつわるエトセトラ:developers summit 2023 10-d-8
 
Handii スタートアップエンジニア開発課題LT day2
Handii スタートアップエンジニア開発課題LT day2Handii スタートアップエンジニア開発課題LT day2
Handii スタートアップエンジニア開発課題LT day2
 
Startup react lt
Startup react ltStartup react lt
Startup react lt
 
Startup shikujiri LT
Startup shikujiri LTStartup shikujiri LT
Startup shikujiri LT
 
useful library in rust@shitamachi.rs #2
useful library in rust@shitamachi.rs #2useful library in rust@shitamachi.rs #2
useful library in rust@shitamachi.rs #2
 
プログラミングLT 2019 Summer
プログラミングLT 2019 SummerプログラミングLT 2019 Summer
プログラミングLT 2019 Summer
 

Rusotoからaws-sdk-rustへ