![](/img/trans.png)
[英]AWS Lambda function on Java with Serverless framework and GraalVM
[英]How to determine whether Lambda is running locally or under AWS under Java AWS serverless framework setup
我正在使用AWS SAM Java无服务器应用程序。 我正在使用eclipse AWS无服务器插件来创建基于Dynamo DB的简单CRUD应用程序。 应用程序接收一个http请求,然后根据HTTP方法尝试在DynamoDB上进行相应的CRUD操作。
因此,除了我无法弄清楚如何将环境变量或属性文件传递给我的Lambda Java代码以确定lambda是在本地还是在AWS环境中运行之外,所有其他程序都工作正常。 取决于我要使用本地Dynamo DB客户端还是AWS DB客户端。 这是该代码段:
String environment = System.getenv("profile");
AmazonDynamoDB dynamoDBclient = null;
if("local".equalsIgnoreCase(environment)) {
dynamoDBclient = AmazonDynamoDBClientBuilder.standard().withEndpointConfiguration(
new AwsClientBuilder.EndpointConfiguration("http://172.16.123.1:8000", "local"))
.build();
} else {
dynamoDBclient = AmazonDynamoDBClientBuilder.standard().build();
}
dynamoDBMapper = new DynamoDBMapper(dynamoDBclient);
试图弄清楚如何通过这个环境变量“ profile”。 在SAM本地运行/调试配置中,我看不到任何选项可以执行此操作。
您应该能够在每次提交时依赖AWS_SAM_LOCAL=true
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.