aws/aws-sdk-go-v2

GitHub: aws/aws-sdk-go-v2

AWS 官方提供的 Go 语言 SDK 第二代版本,帮助开发者在 Go 应用中程序化地访问和操作几乎所有 AWS 服务。

Stars: 3545 | Forks: 780

# AWS SDK for Go v2 [![Go Build 状态](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/d5c033b11a014853.svg)](https://github.com/aws/aws-sdk-go-v2/actions/workflows/go.yml)[![Codegen Build 状态](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/1e679e5d2f014854.svg)](https://github.com/aws/aws-sdk-go-v2/actions/workflows/codegen.yml) [![SDK 文档](https://img.shields.io/badge/SDK-Documentation-blue)](https://docs.aws.amazon.com/sdk-for-go/) [![迁移指南](https://img.shields.io/badge/Migration-Guide-blue)](https://aws.github.io/aws-sdk-go-v2/docs/migrating/) [![API 参考](https://img.shields.io/badge/api-reference-blue.svg)](https://pkg.go.dev/mod/github.com/aws/aws-sdk-go-v2) [![Apache V2 许可证](https://img.shields.io/badge/license-Apache%20V2-blue.svg)](https://github.com/aws/aws-sdk-go-v2/blob/main/LICENSE.txt) `aws-sdk-go-v2` 是 Go 编程语言的 v2 版 AWS SDK。 v2 SDK 要求的最低版本为 `Go 1.24`。 请查看[发行说明](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)以获取有关 SDK 最新的错误修复、更新和新增功能的信息。 跳转至: * [入门指南](#getting-started) * [获取帮助](#getting-help) * [贡献](#feedback-and-contributing) * [更多资源](#resources) ## SDK 主要版本的维护与支持 有关 SDK 主要版本及其底层依赖项的维护与支持信息,请参阅 AWS SDKs and Tools Shared Configuration and Credentials Reference Guide 中的以下内容: * [AWS SDKs and Tools 维护策略](https://docs.aws.amazon.com/credref/latest/refdocs/maint-policy.html) * [AWS SDKs and Tools 版本支持矩阵](https://docs.aws.amazon.com/credref/latest/refdocs/version-support-matrix.html) ### Go 版本支持策略 v2 SDK 遵循上游的[发布策略](https://go.dev/doc/devel/release#policy),并为最近弃用的语言版本提供额外六个月的支持。 **AWS 保留提前停止对不受支持的 Go 版本提供支持的权利,以解决关键安全问题。** ## 入门指南 要开始使用该 SDK,请为 Go modules 设置您的项目,并使用 `go get` 获取 SDK 依赖项。 此示例展示了如何使用 v2 SDK,通过 SDK 的 [Amazon DynamoDB] 客户端发起 API 请求。 ###### 初始化项目 ``` $ mkdir ~/helloaws $ cd ~/helloaws $ go mod init helloaws ``` ###### 添加 SDK 依赖 ``` $ go get github.com/aws/aws-sdk-go-v2/aws $ go get github.com/aws/aws-sdk-go-v2/config $ go get github.com/aws/aws-sdk-go-v2/service/dynamodb ``` ###### 编写代码 在您偏好的编辑器中,将以下内容添加到 `main.go` ``` package main import ( "context" "fmt" "log" "github.com/aws/aws-sdk-go-v2/aws" "github.com/aws/aws-sdk-go-v2/config" "github.com/aws/aws-sdk-go-v2/service/dynamodb" ) func main() { // Using the SDK's default configuration, load additional config // and credentials values from the environment variables, shared // credentials, and shared configuration files cfg, err := config.LoadDefaultConfig(context.TODO(), config.WithRegion("us-west-2")) if err != nil { log.Fatalf("unable to load SDK config, %v", err) } // Using the Config value, create the DynamoDB client svc := dynamodb.NewFromConfig(cfg) // Build the request with its input parameters resp, err := svc.ListTables(context.TODO(), &dynamodb.ListTablesInput{ Limit: aws.Int32(5), }) if err != nil { log.Fatalf("failed to list tables, %v", err) } fmt.Println("Tables:") for _, tableName := range resp.TableNames { fmt.Println(tableName) } } ``` ###### 编译并执行 ``` $ go run . Tables: tableOne tableTwo ``` ## 获取帮助 请使用这些社区资源获取帮助。我们使用 GitHub issues 来跟踪错误和功能请求。 * 向我们[提问](https://github.com/aws/aws-sdk-go-v2/discussions/new?category=q-a)或开启一个[讨论](https://github.com/aws/aws-sdk-go-v2/discussions/new?category=general)。 * 如果您认为自己可能发现了一个错误,请开启一个 [issue](https://github.com/aws/aws-sdk-go-v2/issues/new/choose)。 * 向 [AWS Support](http://docs.aws.amazon.com/awssupport/latest/user/getting-started.html) 提交支持工单。 本 SDK 实现了 AWS 服务 API。有关 AWS 服务及其限制的一般性问题,您也可以查看 [Amazon Web Services Discussion Forums](https://forums.aws.amazon.com/)。 ### 开启 Issues 如果您遇到了 AWS SDK for Go 的错误,我们希望听到您的反馈。 在开启新 issue 之前,请搜索[已有 issues][Issues] 并查看其他人是否也遇到了同样的问题。请包含您正在使用的 AWS SDK for Go 版本、Go 语言版本和操作系统。在适当的时候,也请附上复现步骤。 GitHub issues 旨在用于错误报告和功能请求。如需获取使用 AWS SDK for Go 的帮助和解答,请利用[获取帮助](#getting-help)部分中列出的资源。 保持待处理 issue 列表的精简有助于我们及时做出回应。 ## 反馈与贡献 v2 SDK 将使用 GitHub [Issues] 来跟踪针对 SDK 的功能请求和问题。此外,我们将使用 GitHub [Projects] 来跟踪跨越多个 pull request 的大型任务,例如重构 SDK 的内部请求生命周期。您可以通过多种方式向我们提供反馈。 **GitHub issues**。为了提供反馈或报告错误,请在 SDK 上提交 GitHub [Issues]。这是提供反馈的首选机制,以便其他用户能够参与讨论、为 issue 点赞等。您开启的 issues 将被评估,并纳入我们正式发布的路线图中。 **贡献**。您可以为 AWS SDK for Go 2.0 的修复或新增内容提交 pull request。所有 pull request 都必须在 Apache 2.0 许可证下提交,并在合并前由 SDK 团队成员进行审查。如果可能的话,附上单元测试将不胜感激。 ## 资源 [SDK 开发者指南](https://docs.aws.amazon.com/sdk-for-go/v2/developer-guide/welcome.html) - 使用此文档了解如何开始使用 AWS SDK for Go V2。 [SDK 迁移指南](https://docs.aws.amazon.com/sdk-for-go/v2/developer-guide/migrate-gosdk.html) - 使用此文档了解如何从 AWS SDK for Go 迁移到 V2。 [SDK API 参考文档](https://pkg.go.dev/mod/github.com/aws/aws-sdk-go-v2) - 使用此文档查阅 SDK 支持的 AWS 服务的所有 API 操作输入和输出参数。API 参考还包括 SDK 的文档,以及如何使用 SDK、服务客户端 API 操作和 API 操作所需参数的示例。 [服务文档](https://aws.amazon.com/documentation/) - 使用此文档了解如何与 AWS 服务进行交互。这些指南非常适合用于初次接触某项服务,或寻找有关某项服务的更多信息。虽然编码时不需要此文档,但服务可能会提供值得参考的有用示例。 [Issues] - 报告问题、提交 pull request 并参与其中(参见 [Apache 2.0 许可证][license])
标签:AWS SDK, Golang, Go语言, v2版本, 云服务管理, 云计算, 亚马逊云科技, 后端开发, 安全编程, 开源库, 搜索引擎爬虫, 日志审计, 程序破解, 规则引擎