AWS SDK for Java 2.0是 1.0 的重写版本,具有一些出色的新功能。与版本 1.0 一样,它使您能够轻松使用 Amazon Web Services,但还包括非阻塞 IO 和可插入 HTTP 实现等功能,以进一步自定义您的应用程序。您可以在几分钟内开始使用Maven或任何支持 MavenCentral 作为工件源的构建系统。
在开始之前,您需要一个 AWS 账户。请参阅开发人员指南的注册 AWS 部分,了解有关如何创建 AWS 账户和检索 AWS 凭证的信息。
要运行 SDK,您需要Java 1.8+ 。有关 SDK 的要求和最佳设置的更多信息,请参阅开发人员指南的安装 Java 开发环境部分。
在项目中使用适用于 Java 的 AWS 开发工具包的建议方法是从 Maven Central 使用它。
要自动管理模块版本(当前所有模块都具有相同的版本,但情况可能并不总是如此),我们建议您使用物料清单导入,如下所示:
< dependencyManagement >
< dependencies >
< dependency >
< groupId >software.amazon.awssdk</ groupId >
< artifactId >bom</ artifactId >
< version >2.29.31</ version >
< type >pom</ type >
< scope >import</ scope >
</ dependency >
</ dependencies >
</ dependencyManagement >
然后各个模块可能会从其依赖声明中省略version
:
< dependencies >
< dependency >
< groupId >software.amazon.awssdk</ groupId >
< artifactId >ec2</ artifactId >
</ dependency >
< dependency >
< groupId >software.amazon.awssdk</ groupId >
< artifactId >s3</ artifactId >
</ dependency >
< dependency >
< groupId >software.amazon.awssdk</ groupId >
< artifactId >dynamodb</ artifactId >
</ dependency >
</ dependencies >
或者,您可以为您仅使用的特定服务添加依赖项:
< dependency >
< groupId >software.amazon.awssdk</ groupId >
< artifactId >ec2</ artifactId >
< version >2.29.31</ version >
</ dependency >
< dependency >
< groupId >software.amazon.awssdk</ groupId >
< artifactId >s3</ artifactId >
< version >2.29.31</ version >
</ dependency >
您可以将整个 SDK 导入到您的项目中(包括所有服务)。请注意,建议仅导入您需要的模块。
< dependency >
< groupId >software.amazon.awssdk</ groupId >
< artifactId >aws-sdk-java</ artifactId >
< version >2.29.31</ version >
</ dependency >
有关更多使用信息,请参阅开发人员指南的设置适用于 Java 的 AWS 开发工具包部分。
提供一种插入您自己的 HTTP 实现的方法。
为异步客户端中的非阻塞 IO 提供一流的支持。
从 GitHub 查看代码后,您可以使用以下命令构建它。
Linux:
./mvnw clean install
# Skip tests, checkstyles, findbugs, etc for quick build
./mvnw clean install -P quick
# Build a specific service module
./mvnw clean install -pl :s3 -P quick --am
视窗:
./mvnw.cmd clean install
您可以在以下位置找到 v2 的示例代码:
it
目录中,例如:s3-integration-tests 有关开发工具包主要版本及其底层依赖项的维护和支持的信息,请参阅 AWS 开发工具包和工具参考指南中的以下内容:
我们保持对长期支持 (LTS) 版本的全面支持:Java 8、Java 11、Java 17 和 Java 21。请注意,较新版本中可能存在不受支持的个别功能,因为 SDK 必须与 Java 兼容8.
我们需要您的帮助来使这个 SDK 变得更加出色。请通过以下渠道提交问题、参与讨论论坛和提交拉取请求,参与社区并为这项工作做出贡献:
感谢这些优秀的人(表情符号键):
苏利斯 | 奥斯汀·布鲁克斯 | 康拉德·克托索·马拉夫斯基 | 安德鲁·霍普金斯 | 亚当·托马斯 | 史蒂文·斯沃 | 凯里·伯吉斯 | |
阿努拉格·阿格拉瓦尔 | 杰弗尔德 | 鲍里斯 | 纪尧姆·科雷 | 亨利·扬德尔 | 瑞安·施密特 | 索马亚 | |
史蒂文·艾茨 | 史蒂文·黄 | 托马斯·埃伦特 | 威尔·埃里克森 | 朱利安·霍劳 | 石贤菜 | 阿德里安尼斯托尔 | |
孙贤 | 安德烈亚斯·谢加 | 安东·叶戈罗夫 | 罗埃克斯伯 | 布拉灵顿 | 克里斯托弗·拉德克 | 福伊沃斯 | |
弗兰克·韦斯曼 | 盖尔盖伊·瓦尔加 | 吉列尔莫 | 亨利·海基宁 | 约亨·沙兰达 | 乔·巴内特 | 世良一宏 | |
克里希纳·柴坦尼亚·甘塔 | 李·帕克汉姆 | 马泰奥·卡拉拉 | 迈克尔·沙普 | 米格尔·希门尼斯 | 拉塞尔·博勒斯 | 拉塞尔·谢勒 | |
斯科特 | 上冈慎也 | 寿司拉马松 | 汤姆刘4uber | 弗拉基米尔·奥拉尼 | 胡新宇 | 约瑟夫·费特尔 | |
丹尼斯·科纳赫维奇 | 亚历克斯·韦贝尔 | 瑞安·卡珀 | 乔纳森·汉森 | 黛博拉·N·伊藤 | 布雷特·安布罗斯 | 安娜·卡琳·莎兰德 | |
约翰·维加斯 | 东吉·阿格尼尔 | 马修·米勒 | 本杰明·梅泽尔斯 | 泉州 | 王佐伊 | 瓦伦·南迪 | |
安德鲁·肖尔 | 凯尔·汤姆森 | 萨姆·芬克 | 乔纳森·邦德 | ajs139 | 杜威·阮 | 大卫·莱恩 | |
迈克尔·李 | 贝内特·林奇 | 芦峰一光 | 刘杰米 | 吉列普b10 | 洛伦兹镍 | 杨艾琳 | |
罗伯托·泰利 | 阿尔文·西 | 罗恩1 | 赛·库马尔·雷迪·钱杜帕特拉 | 何大卫 | 托马斯·特瑞尔-克罗夫特 | 史蒂文·单 | |
巴里·奥尼尔 | 安迪·基斯勒 | 马丁 | 保罗·利伊蒂埃 | 塞巴斯蒂安·克罗克塞尔 | 大卫·内格雷特 | 史蒂芬·弗莱文 | |
奥利维尔·阿普林 | 阿德里安·切莱博斯 | 查德·威尔逊 | 马尼什·戴特 | 丹尼斯·基塞尔霍斯特 | 尼尔什 PS | 史蒂文·斯沃茨 | |
迈克尔·迪姆查克 | 尼基塔·索科洛夫 | 曼努埃尔·菅原 | 阿尼鲁德 | 海登·贝克 | 杰库玛·戈萨尔 | 迈克尔·格雷布 | |
迈克尔·格伦迪 | 埃卡德·米利希 | 托比亚斯·索洛申科 | 路易斯·马德里加尔 | 基里尔·柴金 | 普拉泰克大桶 | 伯乐1155 | 托马斯·法尔 |
该项目遵循所有贡献者规范。欢迎任何形式的贡献!