82 个版本 (38 个稳定版)
新 1.39.0 | 2024 年 8 月 16 日 |
---|---|
1.36.0 | 2024 年 7 月 22 日 |
1.18.0 | 2024 年 3 月 26 日 |
1.9.0 | 2023 年 12 月 21 日 |
0.0.26-alpha | 2021 年 11 月 24 日 |
2269 在 网络编程
每月 581 次下载
6.5MB
102K SLoC
aws-sdk-proton
这是 Proton 服务 API 参考。它提供了对 Proton 服务中每个 操作 和 数据类型 的描述、语法和用法示例。
每个操作的文档显示了查询 API 请求参数和 XML 响应。
或者,您可以使用 Amazon Web Services CLI 访问 API。有关更多信息,请参阅Amazon Web Services 命令行界面用户指南。
Proton 服务是一个双管齐下的自动化框架。管理员创建服务模板,以提供标准化的基础设施和部署工具,用于无服务器和基于容器的应用程序。反过来,开发者可以从可用的服务模板中选择来自动化他们的应用程序或服务部署。
由于管理员定义了 Proton 部署和管理的基础设施和工具,因此他们需要使用所有列出的 API 操作的权限。
当开发者选择特定的基础设施和工具集时,Proton 会部署他们的应用程序。为了监控在 Proton 上运行的应用程序,开发者需要访问服务 创建、列表、更新 和 删除 API 操作以及服务实例 列表 和 更新 API 操作的权限。
要了解有关 Proton 的更多信息,请参阅Proton 用户指南。
确保幂等性
在进行变异数据的API请求时,通常请求会在操作异步工作流程完成之前就返回结果。操作可能在完成之前就超时或遇到其他服务器问题,即使请求已经返回了结果。这可能会使得确定请求是否成功变得困难。此外,你可能需要多次重试请求以确保操作成功完成。然而,如果原始请求和后续的重试都成功,操作会多次执行。这意味着你可能创建了比你预期的更多资源。
幂等性确保API请求动作最多执行一次。使用幂等请求时,如果原始请求动作成功完成,任何后续的重试都会成功完成,而不会执行任何其他动作。然而,结果可能包含更新的信息,例如当前的创建状态。
以下列出的API根据确保幂等性的方法分组。
带有客户端令牌的幂等创建API
此列表中的API动作支持使用客户端令牌实现幂等性。相应的Amazon Web Services CLI命令也支持使用客户端令牌实现幂等性。客户端令牌是至多64个ASCII字符的唯一、区分大小写的字符串。要使用这些动作之一进行幂等API请求,请在请求中指定一个客户端令牌。我们建议您不要在其他API请求中重复使用相同的客户端令牌。如果您没有为这些API提供客户端令牌,SDK将自动提供默认客户端令牌。
给定一个已成功完成的请求动作
如果您使用相同的客户端令牌和相同的参数重试请求,重试会成功,而不会执行任何其他动作,除了在响应中返回原始资源详细信息数据。
如果您使用相同的客户端令牌重试请求,但一个或多个参数不同,重试会抛出包含IdempotentParameterMismatch错误的ValidationException。
客户端令牌在请求后八小时后过期。如果您使用过期的令牌重试请求,将创建新的资源。
如果原始资源被删除并且您重试请求,将创建新的资源。
带有客户端令牌的幂等创建API
- CreateEnvironmentTemplateVersion
- CreateServiceTemplateVersion
- CreateEnvironmentAccountConnection
幂等创建API
给定一个已成功完成的请求动作
如果您使用此组中的API重试请求,并且原始资源未被修改,重试会成功,而不会执行任何其他动作,除了在响应中返回原始资源详细信息数据。
如果原始资源已被修改,重试会抛出ConflictException。
如果您使用不同的输入参数重试,重试会抛出包含IdempotentParameterMismatch错误的ValidationException。
幂等创建API
- CreateEnvironmentTemplate
- CreateServiceTemplate
- CreateEnvironment
- CreateService
幂等删除API
给定一个已成功完成的请求动作
当您使用此组中的API重试请求且资源已被删除时,响应中会返回其元数据。
如果您重试且资源不存在,响应为空。
在这两种情况下,重试都会成功。
幂等删除API
- DeleteEnvironmentTemplate
- DeleteEnvironmentTemplateVersion
- DeleteServiceTemplate
- DeleteServiceTemplateVersion
- DeleteEnvironmentAccountConnection
异步幂等删除API
给定一个已成功完成的请求动作
如果您使用此组中的API重试请求,如果原始请求删除操作状态为DELETE_IN_PROGRESS,重试将在不执行任何其他动作的情况下,在响应中返回资源详细信息数据。
如果原始请求删除操作已完成,重试将返回一个空响应。
异步幂等删除API
- DeleteEnvironment
- DeleteService
入门指南
许多服务和操作都有示例,请查看GitHub中的示例文件夹。
该SDK为每个AWS服务提供一个crate。您必须在Rust项目中添加Tokio作为依赖项来执行异步代码。要将aws-sdk-proton
添加到您的项目中,请将以下内容添加到您的Cargo.toml文件中
[dependencies]
aws-config = { version = "1.1.7", features = ["behavior-version-latest"] }
aws-sdk-proton = "1.39.0"
tokio = { version = "1", features = ["full"] }
然后在代码中,可以使用以下方式创建客户端
use aws_sdk_proton as proton;
#[::tokio::main]
async fn main() -> Result<(), proton::Error> {
let config = aws_config::load_from_env().await;
let client = aws_sdk_proton::Client::new(&config);
// ... make some calls with the client
Ok(())
}
有关可以调用哪些方法以及每个调用的输入和输出的信息,请参阅客户端文档。
使用SDK
在SDK发布之前,我们将把有关使用SDK的信息添加到开发者指南中。您可以通过提交一个issue并描述您想尝试的事情来提出指南的额外部分建议。
寻求帮助
- GitHub讨论 - 有关想法、RFC和一般问题
- GitHub issue - 有关错误报告和功能请求
- 生成文档(最新版本)
- 使用示例
许可证
本项目采用Apache-2.0许可证。
依赖项
~8–20MB
~283K SLoC