Java 如何从lambda连接到dynamodb
我正在尝试从java lambda函数连接到DynamoDB,它在本地使用aws profile~/.aws/credentials工作。在AWS环境中,由于我无法在凭据文件中设置配置文件详细信息,这将如何工作Java 如何从lambda连接到dynamodb,java,aws-lambda,amazon-dynamodb,Java,Aws Lambda,Amazon Dynamodb,我正在尝试从java lambda函数连接到DynamoDB,它在本地使用aws profile~/.aws/credentials工作。在AWS环境中,由于我无法在凭据文件中设置配置文件详细信息,这将如何工作 private static AmazonDynamoDB dynamoClient = AmazonDynamoDBClientBuilder.standard() .withEndpointConfiguration( new AwsC
private static AmazonDynamoDB dynamoClient = AmazonDynamoDBClientBuilder.standard()
.withEndpointConfiguration(
new AwsClientBuilder.EndpointConfiguration("https://dynamodb.us-west-2.amazonaws.com", "us-west-2"))
.withCredentials(new EnvironmentVariableCredentialsProvider()).build();
默认情况下,函数使用其角色来运行和进行API调用。 在本例中,您使用凭据(new environment VariableCredentials Provider())设置
。
,这意味着Lambda正在查看AWS\u ACCESS\u KEY\u ID
(或AWS\u ACCESS\u KEY
)和AWS\u SECRET\u KEY
(或AWS\u SECRET\u ACCESS\u KEY
)环境变量
因此,您的两个选择是:
.withCredentials(新环境VariableCredentialsProvider())
并为具有与函数逻辑匹配的权限的函数配置适当的角色AWS\u访问密钥\u ID
和AWS\u保密密钥
除非您有很好的理由,否则请使用选项1。默认情况下,您的函数使用其角色来运行和进行API调用。 在本例中,您使用凭据(new environment VariableCredentials Provider())设置
。
,这意味着Lambda正在查看AWS\u ACCESS\u KEY\u ID
(或AWS\u ACCESS\u KEY
)和AWS\u SECRET\u KEY
(或AWS\u SECRET\u ACCESS\u KEY
)环境变量
因此,您的两个选择是:
.withCredentials(新环境VariableCredentialsProvider())
并为具有与函数逻辑匹配的权限的函数配置适当的角色AWS\u访问密钥\u ID
和AWS\u保密密钥