设置用于开发的 AWS 凭证和区域 - 适用于 Java 的 AWS 开发工具包版本 2

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

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

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

设置 AWS 凭证

您可以通过多种方式设置凭证以供AWS SDK for Java使用。但是,推荐使用以下方法:

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

    • Linux, macOS, or Unix 上的 ~/.aws/credentials

    • 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, 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 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.builder() 7. .asyncCredentialUpdateEnabled(true) 8. .build(); 9. 10. S3Client client = S3Client.builder() 11. .credentialsProvider(credentials) 12. .build(); 13. 14. // This is new: When you are done with the credentials provider, you must close it to release the background thread. 15. credentials.close();

设置 AWS 区域

您应使用AWS SDK for Java设置要用于访问 AWS 服务的默认 AWS 区域。要获得最佳网络性能,请选择在地理位置上靠近您(或您的客户)的区域。

注意

如果您 选择区域,则需要区域的服务调用将失败。

您可以使用类似于这样的方法设置凭证以设置默认 AWS 区域:

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

    • Linux, macOS, or Unix 上的 ~/.aws/config

    • 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 区域名称。

有关选择区域的信息,请参阅 AWS 区域选择