本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
设置用于开发的 AWS 凭证和区域
要使用 AWS SDK for Java 连接到任何支持的服务,您必须提供 AWS 凭证。AWS SDKs 和 CLIs 使用提供程序链 在许多不同的位置查找 AWS 凭证,包括系统/用户环境变量和本地 AWS 配置文件。
本主题提供有关使用 AWS SDK for Java 为本地应用程序开发设置 AWS 凭证的基本信息。如果您需要设置用于 EC2 实例的凭证或如果您使用 Eclipse
IDE 进行开发,请改为参考以下主题:
设置 AWS 凭证
虽然可通过大量方式设置将由 AWS SDK for Java 使用的凭证,但建议使用以下方式:
在本地系统上的 AWS 凭证配置文件中设置凭证,该配置文件位于:
~/.aws/credentials,发布时间:Linux, macOS, or Unix
Windows 上的 C:\Users\USERNAME\.aws\credentials
此文件应包含以下格式的行:
[default]
aws_access_key_id = your_access_key_id
aws_secret_access_key = your_secret_access_key
用您自己的 AWS 凭证值替换值 your_access_key_id 和 your_secret_access_key。
设置 AWS_ACCESS_KEY_ID 和 AWS_SECRET_ACCESS_KEY 环境变量。
要在 Linux, macOS, or 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
对于 EC2 实例,请指定一个 IAM 角色,然后向该角色授予对 EC2 实例的访问权。有关其工作方式的详细探讨,请参阅 中的Amazon EC2 的 IAM 角色Amazon EC2 User Guide for Linux Instances。
在使用这些方法之一来设置 AWS 凭证后,AWS SDK for Java 将使用默认凭证提供程序链自动加载这些凭证。有关在 Java 应用程序中使用 AWS 凭证的其他信息,请参阅使用 AWS 凭证。
刷新 IMDS 凭证
AWS SDK for Java 支持选择每 1 分钟在后台刷新 IMDS 凭证一次,无论凭证到期时间如何。这可让您更频繁地刷新凭证,并减小未达到 IMDS 影响感知的
AWS 可用性的几率。
1. // Refresh credentials using a background thread, automatically every minute. This will log an error if IMDS is down during
2. // a refresh, but your service calls will continue using the cached credentials until the credentials are refreshed
3. // again one minute later.
4.
5. InstanceProfileCredentialsProvider credentials =
6. InstanceProfileCredentialsProvider.createAsyncRefreshingProvider(true);
7.
8. AmazonS3Client.builder()
9. .withCredentials(credentials)
10. .build();
11.
12. // This is new: When you are done with the credentials provider, you must close it to release the background thread.
13. credentials.close();
设置 AWS 区域
您应使用适用于 Java 的 AWS 开发工具包设置将用于访问 AWS 服务会的默认 AWS 区域。要获得最佳网络性能,请选择在地理位置上靠近您(或您的客户)的区域。要查看每个服务的区域列表,请参阅
中的区域和终端节点Amazon Web Services General Reference。
注意
如果您未 选择区域,则默认情况下将使用us-east-1。
您可以使用类似的方法设置凭证以设置默认 AWS 区域:
在本地系统上的 AWS 配置文件中设置 AWS 区域,该文件位于:
~/.aws/config,发布时间:Linux, macOS, or Unix
Windows 上的 C:\Users\USERNAME\.aws\config
此文件应包含以下格式的行:
[default]
region = your_aws_region
使用所需的 AWS 区域(例如“us-west-2”)替换 your_aws_region。
设置 AWS_REGION 环境变量。
在 Linux, macOS, or Unix 上,使用 export:
export AWS_REGION=your_aws_region
在 Windows 上,请使用 set:
set AWS_REGION=your_aws_region
其中,your_aws_region 是所需的 AWS 区域名称。
主题