【问题标题】:How to determine whether Lambda is running locally or under AWS under Java AWS serverless framework setupJava AWS serverless framework setup下如何判断Lambda是在本地运行还是在AWS下运行
【发布时间】:2018-09-20 02:37:53
【问题描述】:

我正在使用 AWS SAM Java 无服务器应用程序。我正在使用 eclipse AWS 无服务器插件来创建简单的基于 Dynamo DB 的 CRUD 应用程序。应用程序接受一个 http 请求,并根据 HTTP 方法在 DynamoDB 上尝试相应的 CRUD 操作。

所以一切都很好,除了我无法弄清楚如何将环境变量或属性文件传递给我的 Lambda java 代码以确定 lambda 是在本地运行还是在 AWS 环境中运行。根据我想使用本地 Dynamo DB 客户端或 AWS DB 客户端。这是代码sn-p:

    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);

试图弄清楚如何传递这个环境变量“配置文件”。在 SAM 本地运行/调试配置中,我没有看到任何选项。

【问题讨论】:

    标签: java amazon-web-services serverless-framework


    【解决方案1】:

    您应该能够依赖 AWS_SAM_LOCAL=truethis commit

    【讨论】:

      猜你喜欢
      • 2020-06-18
      • 1970-01-01
      • 1970-01-01
      • 2011-11-14
      • 2011-04-18
      • 2021-11-10
      • 2017-09-23
      • 1970-01-01
      • 2011-12-14
      相关资源
      最近更新 更多