设置Amazon SDK for Java 2.x - Amazon SDK for Java 2.x
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

设置Amazon SDK for Java 2.x

Amazon SDK for Java2.x 为Amazon Web Services (Amazon) 提供了 Java API。使用 SDK,您可以构建与、Amazon S3Amazon EC2、DynamoDB等配合使用的 Java 应用程序。

本节提供有关如何设置开发环境和项目以使用最新版本 (2.x) 的信息Amazon SDK for Java。

概览

要请求Amazon使用Amazon SDK for Java,您需要满足以下条件:

  • 活跃的Amazon Web Services 账户

  • 一个Amazon Identity and Access Management (IAM) 用户,拥有:

    • 编程访问密钥

    • 您将使用应用程序访问的Amazon资源的权限

  • 具有以下功能的开发环境:

    • 您的访问密钥配置为的凭证Amazon

    • Java 8 或更高版本

    • 构建自动化工具

创建 账户

如果您没有Amazon Web Services 账户,请访问Amazon Web Services注册页面并按照屏幕上的提示创建和激活新帐户。

有关更多详细说明,请参阅如何创建和激活新的版本Amazon Web Services 账户?

激活新用户后Amazon Web Services 账户,请按照用户指南创建您的第一个 IAM 管理员用户和群组中的IAM说明进行操作。访问时使用此帐户而不是根帐户Amazon Web Services Management Console。有关更多信息,请参阅《IAM用户指南》中的 [IAM] 中的安全最佳实践

创建 IAM 用户和编程访问密钥

Amazon SDK for Java要使用访问Amazon服务,您需要Amazon Web Services 账户和Amazon证书。为了提高的安全性Amazon Web Services 账户,对于访问凭证,我们建议您使用IAM用户而不是您的Amazon Web Services 账户凭证。

注意

有关IAM用户以及它们对于账户的安全性为何十分重要的概览,请参阅Amazon Web Services一般参考中的Amazon安全凭证

有关为现有IAM用户创建访问密钥的说明,请参阅IAM用户指南中的编程访问权限

  1. 转到IAM控制台(您可能需要Amazon先登录)。

  2. 在侧栏中单击 “用户” 以查看您的IAM用户。

  3. 如果您没有设置任何IAM用户,请单击 “创建新用户” 来创建一个用户。

  4. 在列表中选择您要用来访问的IAM用户Amazon。

  5. 打开安全凭证选项卡,然后单击创建访问密钥。注意:对于任何给定IAM用户,您最多可拥有两个活动密钥。如果您的IAM用户已有两个访问密钥,则您需要删除其中的一个,然后才能创建新的密钥。

  6. 在出现的对话框中,单击 “下载凭据” 按钮将凭据文件下载到您的计算机,或单击 “显示用户安全证书” 以查看IAM用户的访问密钥 ID 和私有访问密钥(您可以复制和粘贴)。

重要

在关闭该对话框之后,就无法获取密码访问密钥了。但是,您可以删除与它相关联的访问密钥 ID 并创建新密钥。

设置默认凭证和区域

要Amazon使用发出请求Amazon SDK for Java,必须使用由颁发的加密签名证书Amazon。使用Amazon软件开发工具包和工具Amazon SDK for Java,您可以使用由访问密钥 ID 和私有访问密钥组成的编程访问密钥作为凭证。您应将您的证书设置为使用应用程序进行访问Amazon的默认凭证。

如果您已经创建了IAM账户,请参阅创建IAM用户和编程访问密钥以获取有关创建编程访问密钥的说明。

您还应该设置使用应用程序Amazon Web Services 区域进行访问Amazon的默认值。有些操作需要设置区域。为了获得最佳网络性能,您可以选择一个地理位置靠近您或您的客户的区域。

设置默认凭据的最常用方法Amazon Web Services 区域是使用共享configcredentials文件。您也可以使用环境变量设置默认凭证和区域,使用 Java 系统属性,或者对于运行在其上的应用程序Amazon EC2,使用ContainerCredentialsProviderInstanceProfileCredentialsProvider

设置默认凭证

选择以下选项之一来设置默认凭据:

  • 在本地系统的Amazon证书配置文件中设置凭据,该文件位于:

    • ~/.aws/credentials (在 Linux、macOS 或 Unix) 上

    • Windows 上的 C:\Users\USERNAME\.aws\credentials

此文件应包含以下格式的行:

[default] aws_access_key_id = your_access_key_id aws_secret_access_key = your_secret_access_key

用你自己的Amazon证书值代替 y our_access_key_id 和 your_ secret_access_key 的值。

  • 设置 AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY 环境变量。

要在 Linux、macOS 或 Unix 上设置这些变量,请使用 export

export AWS_ACCESS_KEY_ID=your_access_key_id export AWS_SECRET_ACCESS_KEY=your_secret_access_key

要在 Windows 上设置这些变量,请使用 set

set AWS_ACCESS_KEY_ID=your_access_key_id set AWS_SECRET_ACCESS_KEY=your_secret_access_key
java app.jar -Daws.accessKeyId=\ "your_access_key_id" \ -Daws.secretAccessKey=\ "your_secret_access_key"

设置默认区域

选择以下选项之一来设置默认区域:

  • Amazon Web Services 区域在本地系统的Amazon配置文件中设置,位于:

    • 在 Linux、macOS 或 Unix 上的 ~/.aws/config

    • C:\Users\USERNAME\ .aws\ Windows 上的 config

此文件应包含以下格式的行:

[default] region = your_aws_region

用你想要的Amazon Web Services 区域(例如 “us-east-1”)代替 y our_aws_region

  • 设置 AWS_REGION 环境变量。

在 Linux、macOS 或 Unix 上,使用 export

export AWS_REGION=your_aws_region

在 Windows 上,请使用 set

set AWS_REGION=your_aws_region

其中 your_aws_region 是所需的Amazon Web Services 区域名称。

有关设置证书和区域的更多信息,请参阅 .aws/credentials 和 .aws/config 文件 Amazon Web Services 区域,以及《软件开发工具包和Amazon工具参考指南》中的使用环境变量

安装 Java 和生成工具

您的开发环境需要以下内容:

后续步骤

设置好开发环境后,使用首选的生成工具创建 Java 项目。Amazon Web Services 账户查看来自 Maven Central 的Amazon SDK for Java 2.x 的 Maven 物料清单 (BOM),了解最新版本。在下面的<dependencyManagement>部分中使用该版本号。然后为你将在应用程序中使用的服务添加依赖关系。

示例 Mavenpom.xml 文件:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <groupId>com.example.myapp</groupId> <artifactId>myapp</artifactId> <packaging>jar</packaging> <version>1.0-SNAPSHOT</version> <name>myapp</name> <dependencyManagement> <dependencies> <dependency> <groupId>software.amazon.awssdk</groupId> <artifactId>bom</artifactId> <version>2.17.261</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> <dependency> <groupId>software.amazon.awssdk</groupId> <artifactId>dynamodb</artifactId> </dependency> <dependency> <groupId>software.amazon.awssdk</groupId> <artifactId>iam</artifactId> </dependency> <dependency> <groupId>software.amazon.awssdk</groupId> <artifactId>kinesis</artifactId> </dependency> <dependency> <groupId>software.amazon.awssdk</groupId> <artifactId>s3</artifactId> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.8.1</version> <configuration> <source>8</source> <target>8</target> </configuration> </plugin> </plugins> </build> </project>

示例build.gradle文件:

group 'com.example.myapp' version '1.0' apply plugin: 'java' sourceCompatibility = 1.8 repositories { mavenCentral() } dependencies { implementation platform('software.amazon.awssdk:bom:2.15.0') implementation 'software.amazon.awssdk:dynamodb' implementation 'software.amazon.awssdk:iam' implementation 'software.amazon.awssdk:kinesis' implementation 'software.amazon.awssdk:s3' testImplementation group: 'junit', name: 'junit', version: '4.11' }

有关更多信息,请参阅设置 Apache Maven 项目设置 Gradle 项目