#amazon-web-services #web-services #aws-sdk #instance

rw-aws-sdk-ec2

AWS SDK for Amazon Elastic Compute Cloud (仅包含 RisingWave 需要的 API)

1 个稳定版本

1.2.0 2024 年 3 月 1 日

2192网络编程 中排名 #2192

Download history 3875/week @ 2024-03-14 3509/week @ 2024-03-21 4095/week @ 2024-03-28 3104/week @ 2024-04-04 3448/week @ 2024-04-11 3449/week @ 2024-04-18 2447/week @ 2024-04-25 2023/week @ 2024-05-02 2440/week @ 2024-05-09 2333/week @ 2024-05-16 1617/week @ 2024-05-23 826/week @ 2024-05-30 759/week @ 2024-06-06 738/week @ 2024-06-13 574/week @ 2024-06-20 522/week @ 2024-06-27

每月下载量 2,842

Apache-2.0

46MB
661K SLoC

最小化 AWS SDK EC2

仅保留以下 API

  • create_vpc_endpoint
  • delete_vpc_endpoints
  • describe_vpc_endpoints
  • describe_vpc_endpoint_services
  • describe_subnets

如何实现?

复制原始版本

cp -R ~/.cargo/registry/src/index.crates.io-6f17d22bba15001f/aws-sdk-ec2-1.2.0/src .
cp ~/.cargo/registry/src/index.crates.io-6f17d22bba15001f/aws-sdk-ec2-1.2.0/Cargo.toml .
  1. 修改 client.rsoperation.rs 以仅保留所需的 mod
  2. 更新 protocol_serde.rstypes.rs。这需要包含所需的 API,以及一些其他依赖类型。因此需要手动操作。

lib.rs:

Amazon Elastic Compute Cloud (Amazon EC2) 在 Amazon Web Services 云中提供安全且可扩展的计算能力。使用 Amazon EC2 可以避免预先投资硬件,从而可以更快地开发和部署应用程序。Amazon Virtual Private Cloud (Amazon VPC) 允许您在 Amazon Web Services 云中配置一个逻辑上隔离的部分,在那里您可以在您定义的虚拟网络中启动 Amazon Web Services 资源。Amazon Elastic Block Store (Amazon EBS) 为 EC2 实例提供块级存储卷。EBS 卷是高度可用且可靠的存储卷,可以连接到任何正在运行的实例,并像硬盘一样使用。

要了解更多信息,请参阅以下资源

入门

许多服务和操作都有示例,请查看 GitHub 中的示例文件夹

SDK 为每个 AWS 服务提供一个 crate。您必须在您的 Rust 项目中添加 Tokio 作为依赖项以执行异步代码。要将 aws-sdk-ec2 添加到您的项目中,请将以下内容添加到您的 Cargo.toml 文件中

[dependencies]
aws-config = { version = "1.0.1", features = ["behavior-version-latest"] }
aws-sdk-ec2 = "1.2.0"
tokio = { version = "1", features = ["full"] }

然后在代码中,可以使用以下方式创建客户端:

use aws_sdk_ec2 as ec2;

#[::tokio::main]
async fn main() -> Result<(), ec2::Error> {
    let config = aws_config::load_from_env().await;
    let client = aws_sdk_ec2::Client::new(&config);

    // ... make some calls with the client

    Ok(())
}

有关可以调用的方法以及每个调用输入输出的信息,请参阅客户端文档

使用SDK

在SDK发布之前,我们将把有关使用SDK的信息添加到开发者指南中。您可以通过提交问题并描述您要执行的操作来建议指南的附加章节。

获取帮助

库组织

对于大多数客户来说,入口点是Client,它公开了Amazon Elastic Compute Cloud提供的每个API的方法。这些方法的返回值是“流畅构建器”,通过构建器样式函数调用链添加该API的不同输入,然后调用send()来获取一个Future,该Future将导致成功输出或SdkError

这些API输入中的一些可能是结构体或枚举,以提供更复杂的结构化信息。这些结构体和枚举位于types中。还有一些表示数据(如日期时间或二进制块)的更简单的类型,位于primitives中。

配置客户端所需的全部类型都位于config中。

operation模块为每个API都有一个子模块,每个子模块包含该API的输入、输出和错误类型,以及构建这些类型的构建器。

有一个顶层Error类型,它包含客户端可以返回的所有错误。任何其他错误类型都可以通过From特质转换为这个Error类型。

此crate中的其他模块在正常使用中不是必需的。

依赖关系

~10–22MB
~319K SLoC