View a markdown version of this page

设置 AWS 临时证书和 AWS 区域 用于开发 - AWS SDK for Java 1.x

AWS SDK for Java 1.x于2025年12月31日达到支撑终止状态。我们建议您迁移到 AWS SDK for Java 2.x 以继续获得新功能、可用性改进和安全更新。

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

设置 AWS 临时证书和 AWS 区域 用于开发

要使用连接到任何支持的服务 AWS SDK for Java,您必须提供 AWS 临时证书。 AWS SDKs 和 CLIs 使用提供者链在许多不同的位置查找 AWS 临时证书,包括 system/user 环境变量和本地 AWS 配置文件。

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

配置临时凭证

您可以通过多种 AWS SDK for Java 方式为配置临时证书,但以下是推荐的方法:

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

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

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

    有关如何获取临时凭证的说明,请参阅本指南中的为 SDK 设置临时凭证

  • 设置 AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEYAWS_SESSION_TOKEN 环境变量。

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

    export AWS_ACCESS_KEY_ID=your_access_key_id export AWS_SECRET_ACCESS_KEY=your_secret_access_key export AWS_SESSION_TOKEN=your_session_token

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

    set AWS_ACCESS_KEY_ID=your_access_key_id set AWS_SECRET_ACCESS_KEY=your_secret_access_key set AWS_SESSION_TOKEN=your_session_token
  • 对于 EC2 实例,请指定一个 IAM 角色,然后向该角色授予对 EC2 实例的访问权。有关其工作原理的 Amazon EC2详细讨论,请参阅 Linux 实例 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 区域

您应该设置一个默认值 AWS 区域 ,该默认值将用于访问 AWS 服务 AWS SDK for Java。要获得最佳网络性能,请选择在地理位置上靠近您(或您的客户)的区域。有关每项服务的区域列表,请参阅 Amazon Web Services 一般参考中的区域和终端节点

注意

如果您 选择区域,则默认情况下将使用 us-east-1。

您可以使用与设置凭据类似的方法来设置默认 AWS 区域:

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

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

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

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

    +

    [default] region = your_aws_region

    +

    用你想要的 AWS 区域 (例如 “us-east-1”)代替你的 _aws_region。

  • 设置 AWS_REGION 环境变量。

    在 Linux、macOS 或 Unix 上,请使用

    export AWS_REGION=your_aws_region

    在 Windows 上,请使用

    set AWS_REGION=your_aws_region

    其中 y our_aws_region 是所需的名称。 AWS 区域