设置用于开发的 AWS 凭证和区域 - 适用于 Java 的 AWS 开发工具包。
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

如果我们为英文版本指南提供翻译,那么如果存在任何冲突,将以英文版本指南为准。在提供翻译时使用机器翻译。

设置用于开发的 AWS 凭证和区域

要使用 AWS SDK for Java 连接到任何支持的服务,您必须提供 AWS 凭证。AWS 开发工具包和 CLI 使用提供程序链 在许多不同的位置 (包括系统/用户环境变量和本地 AWS 配置文件) 查找 AWS 凭证。

本主题提供有关使用 AWS SDK for Java 为本地应用程序开发设置 AWS 凭证的基本信息。如果您需要设置用于 EC2 实例的凭证或如果您使用 Eclipse IDE 进行开发,请改为参考以下主题:

设置 AWS 凭证

虽然可通过大量方式设置将由 AWS SDK for Java 使用的凭证,但建议使用以下方式:

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

    • ~/.aws/credentials 上的 Linux, OS X, 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_idyour_secret_access_key

  • 设置 AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY 环境变量。

    要在 Linux, OS X, 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 User Guide for Linux Instances 中的 Amazon EC2 的 IAM 角色

在使用这些方法之一来设置 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, OS X, or Unix

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

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

    [default] region = your_aws_region

    用所需的 AWS 区域 (例如“us-west-2”) 替换 your_aws_region

  • 设置 AWS_REGION 环境变量。

    在 Linux, OS X, or Unix 上,请使用 export

    export AWS_REGION=your_aws_region

    在 Windows 上,请使用 set

    set AWS_REGION=your_aws_region

    其中,your_aws_region 是所需的 AWS 区域名称。

主题