【问题标题】:How to connect to dynamodb from lambda如何从 lambda 连接到 dynamodb
【发布时间】:2019-06-07 13:02:18
【问题描述】:

我正在尝试从 java lambda 函数连接到 DynamoDB,它在本地与 aws 配置文件 ~/.aws/credentials 一起工作。由于我无法在凭证文件中设置配置文件详细信息,这将如何在 AWS 环境中工作?

private static AmazonDynamoDB dynamoClient = AmazonDynamoDBClientBuilder.standard()
        .withEndpointConfiguration(
                new AwsClientBuilder.EndpointConfiguration("https://dynamodb.us-west-2.amazonaws.com", "us-west-2"))
        .withCredentials(new EnvironmentVariableCredentialsProvider()).build();

【问题讨论】:

    标签: java aws-lambda amazon-dynamodb


    【解决方案1】:

    默认情况下,您的函数使用其角色来运行和进行 API 调用。 在这种情况下,您设置了.withCredentials(new EnvironmentVariableCredentialsProvider()),这意味着 Lambda 正在查看AWS_ACCESS_KEY_ID(或AWS_ACCESS_KEY)和AWS_SECRET_KEY(或AWS_SECRET_ACCESS_KEY)环境变量。

    所以你的 2 个选项是:

    1. 删除 .withCredentials(new EnvironmentVariableCredentialsProvider()) 并为具有与您的函数逻辑匹配的权限的函数配置适当的角色。
    2. 为您的函数提供AWS_ACCESS_KEY_ID 和AWS_SECRET_KEY。

    除非您有充分的理由,否则请使用选项 1。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-05-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-26
      • 2018-09-14
      相关资源
      最近更新 更多