小编Tim*_*aer的帖子

如何使用 AWS SAM esbuild 将静态文件包含到 lambda 包中?

我有一个 NodeJS AWS Lambda 函数,它根据 html 模板文件 ( ) 生成电子邮件emailTemplate.html。我开始通过 SAM 使用 esbuild 构建我的 lambda。现在我想知道如何配置 SAM/esbuild 将此文件包含到我的 lambda 包中。

这是 lambda 的 SAM 模板配置:

  EmailNotificationFunction:
    Type: AWS::Serverless::Function
    Properties:
      CodeUri: ./lambdas-node/email-notifications/
      Handler: daily-summary.handler
      Timeout: 120
      MemorySize: 512
      Runtime: nodejs16.x
    Metadata:
      BuildMethod: esbuild
      BuildProperties:
        Sourcemap: true
        EntryPoints:
          - daily-summary.ts
Run Code Online (Sandbox Code Playgroud)

在我的应用程序代码中,我从本地文件系统读取文件:

fs.readFileSync("./emailTemplate.html", "utf-8")
Run Code Online (Sandbox Code Playgroud)

html 文件很小,所以我想坚持这种简约的方法。我总是可以从 S3 获取文件或将其打包在一个层中,但我不想去那里。

amazon-web-services node.js aws-lambda aws-sam esbuild

5
推荐指数
1
解决办法
3179
查看次数

如何在多行上拆分Slick插值查询?

有没有办法在代码中的多行上分割Slick插值查询?我的查询往往会变得很长.

所以我寻找以下内容:

val query = sql"select * from DOCUMENTS " + 
            sql"where language = $lang order by publication_date desc"
query.as[ResearchDocument]
Run Code Online (Sandbox Code Playgroud)

但这导致了

type mismatch;
 found   : scala.slick.jdbc.SQLInterpolationResult[String]
 required: String
          sql"where language = $lang order by publication_date desc"
          ^
Run Code Online (Sandbox Code Playgroud)

scala slick

2
推荐指数
1
解决办法
1037
查看次数

如何从属性文件配置 Hystrix 注释?

我使用 Hystrix-Javanica 库通过注释来应用断路器。我想使用 Spring 配置中定义的属性来配置 Hystrix。由于我的应用程序使用 Spring AOP,我希望这样的事情会起作用:

@HystrixCommand(commandProperties = {
  @HystrixProperty(name = "circuitBreaker.requestVolumeThreshold", value = "${cb.requestVolumeThreshold}")
})
public boolean checkWebservice(String id) { ... }
Run Code Online (Sandbox Code Playgroud)

但这失败了 bad property value. property name 'circuitBreaker.requestVolumeThreshold'. Expected int value

任何想法如何在不硬编码值的情况下配置 Hystrix?

java spring hystrix

2
推荐指数
1
解决办法
5352
查看次数

KafkaStreams如何确定自举时GlobalKTable是否已完全填充?

我用来创建GlobalKTable的主题非常活跃。在KStream-GlobalKTable连接的文档中,我阅读了

GlobalKTable是在完全自举(重)启动的KafkaStreams情况下,这意味着表是用下面的话题,可在启动时中的所有数据完全填充。仅在引导完成后才开始实际的数据处理。

KafkaStreams如何确定是否读取了所有数据?它是否读取所有时间戳低于KafkaStreams实例引导时间的消息?还是使用某种超时?

无论哪种方式,我都认为我们最好正确保留基础主题的保留日志压缩,否则重新启动可能需要一段时间。

apache-kafka-streams

1
推荐指数
1
解决办法
741
查看次数