【问题标题】:Amazon SDK region provider chain errorAmazon SDK 区域提供商链错误
【发布时间】:2018-09-20 18:47:49
【问题描述】:

我对 AWS SDK 不熟悉,但我现在正在为它苦苦挣扎。

我们有一个 Spring Boot 应用程序,它有一个 @Configuration 类。该类有以下方法:

@Bean
public AWSLambda getAwsLambda() { 
    return AWSLambdaClientBuilder.defaultClient();
}

此方法抛出以下异常:

com.amazonaws.SdkClientException: Unable to find a region via the 
region provider chain. Must provide an explicit region in the builder
or setup environment to supply a region.

该区域在application.properties 文件中提供。

有没有人经历过这样的事情?

【问题讨论】:

    标签: java aws-lambda aws-sdk


    【解决方案1】:

    尝试将区域设置为环境变量,例如:

     set AWS_REGION=eu-central-1
    

    【讨论】:

    • 我已经尝试过了(AWS_REGION 在我的 application.properties 文件中)
    • application.properties 被 Spring 用来初始化自己的变量(如 @Value 等),但 AWS SDK 不使用这种 Spring 机制。所以它必须来自我所写的环境。尝试在运行本地应用程序之前设置环境变量。
    • 另外,您可以使用通过 Spring 接收的区域值,并通过方法 withRegion docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/… 以编程方式将其设置给客户端构建器
    • 我已经按照您所说的设置了环境变量,但效果不佳。我之前试过withRegion,没有成功。
    【解决方案2】:

    我发现了发生了什么,如果其他人有这个问题,我会与你分享。

    我需要通过 pip 安装 aws-cli。然后我运行aws configure 并设置访问密钥、秘密访问密钥、区域和输出!

    【讨论】:

      猜你喜欢
      • 2017-10-24
      • 2020-06-02
      • 1970-01-01
      • 2015-09-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-10
      相关资源
      最近更新 更多