AWS Lambda 的意外行为
Unexpected behaviour with AWS Lambda
我做了什么
我使用无服务器 cli 从 aws-kotlin-jvm-maven
模板创建了一个项目。之后我以这种方式编辑了我的 serverless.yml 模板:
service: test
provider:
name: aws
runtime: java8
region: eu-west-1
package:
artifact: target/test-1.0.0.jar
functions:
hello:
handler: com.example.Handler
events:
- schedule: rate(2 minutes)
并且我以这种方式编辑了我的处理程序:
class Handler:RequestHandler<Map<String, Any>, ApiGatewayResponse> {
override fun handleRequest(input:Map<String, Any>, context:Context):ApiGatewayResponse {
BasicConfigurator.configure()
LOG.info("Hello, World!")
return ApiGatewayResponse()
}
companion object {
private val LOG = Logger.getLogger(Handler::class.java)
}
}
我希望我的 Lambda 每 2 分钟 运行,每 2 分钟在 CloudWatch 上记录一次 "Hello, World!"。
我的问题
我在 cloudWatch logs 上找到的内容如下:
第一 运行:
"Hello, World!"
第二 运行:
"Hello, World!"
"Hello, World!"
第三 运行:
"Hello, World!"
"Hello, World!"
"Hello, World!"
...等等。
对这里发生的事情有什么建议吗?
我通过将日志记录依赖项更改为:
解决了这个问题
<dependency>
<groupId>io.symphonia</groupId>
<artifactId>lambda-logging</artifactId>
<version>1.0.0</version>
</dependency>
我在这里找到了一篇非常有用的文章:https://blog.symphonia.io/a-love-letter-to-lambda-logging-974b0eb49273
我做了什么
我使用无服务器 cli 从 aws-kotlin-jvm-maven
模板创建了一个项目。之后我以这种方式编辑了我的 serverless.yml 模板:
service: test
provider:
name: aws
runtime: java8
region: eu-west-1
package:
artifact: target/test-1.0.0.jar
functions:
hello:
handler: com.example.Handler
events:
- schedule: rate(2 minutes)
并且我以这种方式编辑了我的处理程序:
class Handler:RequestHandler<Map<String, Any>, ApiGatewayResponse> {
override fun handleRequest(input:Map<String, Any>, context:Context):ApiGatewayResponse {
BasicConfigurator.configure()
LOG.info("Hello, World!")
return ApiGatewayResponse()
}
companion object {
private val LOG = Logger.getLogger(Handler::class.java)
}
}
我希望我的 Lambda 每 2 分钟 运行,每 2 分钟在 CloudWatch 上记录一次 "Hello, World!"。
我的问题
我在 cloudWatch logs 上找到的内容如下:
第一 运行: "Hello, World!"
第二 运行: "Hello, World!" "Hello, World!"
第三 运行: "Hello, World!" "Hello, World!" "Hello, World!"
...等等。
对这里发生的事情有什么建议吗?
我通过将日志记录依赖项更改为:
解决了这个问题<dependency>
<groupId>io.symphonia</groupId>
<artifactId>lambda-logging</artifactId>
<version>1.0.0</version>
</dependency>
我在这里找到了一篇非常有用的文章:https://blog.symphonia.io/a-love-letter-to-lambda-logging-974b0eb49273