AWS SDK for Kotlin 和 AWS SDK for Rust 上线!
AWS SDK for Kotlin 和 AWS SDK for Rust 上线!
11月 27 日和 28 日,亚马逊云科技官博分别推送了《Announcing general availability of the AWS SDK for Kotlin》和《Announcing general availability of the AWS SDK for Rust》两篇博文,宣布全面推出适用于 Kotlin 和 Rust 的 SDK。
作为两门年轻的编程语言,Kotlin 和 Rust 增势喜人,在最新发布的 TIOBE 11 月编程语言排行榜中,Kotlin 已跃居 15 位,Rust 成功进入 TOP 20 的位置。
亚马逊云科技推出全面支持 Kotlin 的 SDK
亚马逊云科技从头开始设计了 Kotlin SDK,为开发者提供符合 Kotlin 语言习惯的体验,包括领域特定语言(DSL)构建器和使用协程进行异步亚马逊云科技服务调用的支持。今天的发布使开发人员可以针对 JVM 平台或 Android API Level 24+ 进行开发,未来还将支持其它平台,比如 Kotlin/Native。
DynamoDbClient.fromEnvironment().use { ddb ->
ddb.createTable {
tableName = "movies"
attributeDefinitions = listOf(
AttributeDefinition {
attributeName = "year"
attributeType = ScalarAttributeType.N
},
AttributeDefinition {
attributeName = "title"
attributeType = ScalarAttributeType.S
}
)
keySchema = listOf(
KeySchemaElement {
attributeName = "year"
keyType = KeyType.Hash
},
KeySchemaElement {
attributeName = "title"
keyType = KeyType.Range
}
)
provisionedThroughput {
readCapacityUnits = 10
writeCapacityUnits = 10
}
}
}
除了 Kotlin,亚马逊云科技还推出了AWS SDK for Rust。
官博写道:
该 SDK 提供了符合惯用方式、类型安全的 API,同时充分发挥了 Rust 语言的性能、可靠性和生产力等优势。
该 SDK 支持现代化的 Rust 语言特性,如异步/等待、非阻塞 IO 和构建器。它提供对 300 多个亚马逊云科技服务的访问,每个服务都有自己的 crate。
该 SDK 默认使用合理的默认设置,但也可通过扩展进行个性化定制,以适应用户的特定用例。
该 SDK 还具有模块化的特性,允许用户仅为所使用的服务编译 crate。此外,该 SDK 还经过优化,具有快速高效的特性。
使用 Rust SDK,用户可以快速地在 Amazon Simple Storage Service(Amazon S3)、Amazon Elastic Compute Cloud(Amazon EC2)和 Amazon DynamoDB 之间传输数据。
使用 AWS SDK for Rust 入门
开发者可以通过 crates.io 访问该 SDK。下面这个例子演示了如何使用 AWS SDK for Rust 与 DynamoDB 一起执行列出表的常见操作。此示例假设你已经安装了Rust和Cargo(如果尚未安装,可以按照这些说明安装Rust和Cargo)。
创建一个新的 Rust 项目 cargo:
cd <your-project-directory>
cargo new <name-of-your-new-rust-project>
如果你是首次使用 AWS SDK,请设置亚马逊云科技服务的凭证,官方建议使用短期凭证进行身份验证。
将 SDK crate 添加到依赖项,你已经创建了新的 Rust 项目,接下来将添加一些 SDK crate 和异步运行时。在你的新项目文件的[dependencies]下面添加以下行:Cargo.toml
[dependencies]
aws-config = { version = "1", features = ["behavior-version-latest"] }
aws-sdk-dynamodb = "1"
tokio = { version = "1", features = ["full"] }
使用 Rust SDK 列出 DynamoDB 表:
现在可以编写 主函数 main:
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let sdk_config = aws_config::load_from_env().await;
let client = aws_sdk_dynamodb::Client::new(&sdk_config);
let res = client
.list_tables()
.limit(10)
.send()
.await?;
println!("Current DynamoDB tables: {:?}", res.table_names());
Ok(())
}
运行 cargo:
cargo run
有关 AWS SDK for Rust 的详细介绍,可访问:https://aws.amazon.com/cn/blogs/developer/announcing-general-availability-of-the-aws-sdk-for-rust/
相关链接:
https://github.com/awslabs/aws-sdk-kotlin
https://aws.amazon.com/cn/sdk-for-rust/
推荐阅读:
▶只让 ChatGPT 永远重复输出一个词,它就能告诉你很多秘密数据?!
▶小米公司:关于雷军“冰冷的 40 亿”纯属子虚乌有;谷歌 CEO 推迟 Gemini 模型发布;腾讯视频回应会员崩了|极客头条