java - 无法解析对 AWS Lambda 中值 : ${akka. stream.materializer} 的替换

标签 java amazon-web-services akka aws-lambda apache-flink

我有一个 java 应用程序,我在其中使用了 Flink Api。所以基本上我想用代码做的是创建两个记录很少的数据集,然后将它们注册为两个表以及必要的字段。

 DataSet<Company> comp = env.fromElements(
                new Company("Aux", 1),
                new Company("Comp2", 2),
                new Company("Comp3", 3));

        DataSet<Employee> emp = env.fromElements(
                new Employee("Kula", 1),
                new Employee("Ish", 1),
                new Employee("Kula", 3));


        tEnv.registerDataSet("Employee", emp, "name, empId");
        tEnv.registerDataSet("Company", comp, "cName, empId");

然后我尝试使用 Table API 连接这两个表:

Table anotherJoin = tEnv.sql("SELECT Employee.name, Employee.empId, Company.cName FROM " +
                "Employee RIGHT JOIN Company on Employee.empId = Company.empId");

我只是在控制台上打印结果。 这在我的机器上本地完美运行。我通过使用具有依赖项的 maven-shade-plugin 创建了一个 fat-jar,我试图在 AWS Lambda 中执行它。

因此,当我尝试在那里执行它时,会抛出以下异常(我只发布前几行):

reference.conf @ file:/var/task/reference.conf: 804: Could not resolve substitution to a value: ${akka.stream.materializer}: com.typesafe.config.ConfigException$UnresolvedSubstitution com.typesafe.config.ConfigException$UnresolvedSubstitution: reference.conf @ file:/var/task/reference.conf: 804: Could not resolve substitution to a value: ${akka.stream.materializer} at com.typesafe.config.impl.ConfigReference.resolveSubstitutions(ConfigReference.java:111) at com.typesafe.config.impl.ResolveContext.realResolve(ResolveContext.java:179) at com.typesafe.config.impl.ResolveContext.resolve(ResolveContext.java:142)

我在 Lambda 中执行之前提取了 jar,碰巧看到所有依赖项都在那里。我不知道哪里出了问题?

如有任何帮助,我们将不胜感激。

最佳答案

您需要在 pom -> maven-shaded-plugin -> 配置部分添加此代码:

<transformers>
    <!-- append default configs -->
    <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
        <resource>reference.conf</resource>
    </transformer>
</transformers>

关于java - 无法解析对 AWS Lambda 中值 : ${akka. stream.materializer} 的替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48904881/

相关文章:

node.js - 仅当有新信息时才扫描 AWS DynamoDB 记录

scala - 如何使用 Akka Streams 实现一个简单的 TCP 协议(protocol)?

java - 使用简单的 CoreNLP API 时如何设置分词器选项?

java - AtomicXXX.lazySet(...) 就 happens before edges 而言

java - 数据访问对象 IF 错误

用于对象/类型安全配置的 Scala trait mixins

scala - 默认 AkkaSupport Servlet 示例不起作用

java - 有没有办法验证延迟加载的对象不在 Hibernate session 中?

amazon-web-services - 使用密码而不是 pem key 启用 SSH

python - 来自调用 Lambda 的 AWS API Gateway 的格式错误的 Lambda 代理响应