python - AWS python lambda 数据狗集成
问题描述
我有一个用 python 编写的 lambda,我想将一些自定义指标从 lambda 提交到 datadog
我遵循了这个文档,(https://www.datadoghq.com/blog/datadog-lambda-layer/)将 datadog 依赖项添加为 lambda 层,并将其作为层添加到我的 lambda 中。当我测试 lambda 时,我收到以下错误,
Response
{
"errorMessage": "Unable to import module 'lambda_function': No module named 'datadog_lambda'",
"errorType": "Runtime.ImportModuleError",
"stackTrace": []
}
Function Logs
START RequestId: 63addc4a-389b-4526-865e-b44bc272f1ab Version: $LATEST
[ERROR] Runtime.ImportModuleError: Unable to import module 'lambda_function': No module named 'datadog_lambda'
谁能帮我解决这里的问题。
解决方案
我假设您的 lambda python 脚本名称是 datadog_lambda.py。然后您需要更改您的 lambda 函数处理程序名称。lambda 控制台中的默认处理程序名称是“lambda_function.lambda_handler”。lambda_function 是 Lambda 中的默认文件名。所以把handler改成datadog_lambda.lambda_handler。
您可以从运行时设置窗格更改处理程序名称。
来自 AWS文档
A function handler can be any name; however, the default name in the Lambda
console is lambda_function.lambda_handler. This function handler name reflects
the function name (lambda_handler) and the file where the handler code is
stored (lambda_function.py).
推荐阅读
- redux - Next.js,Redux 应用程序在 localhost 上运行良好,但不能在生产服务器上运行
- java - 使用 lambda 函数在 Java 中对数组进行排序
- javascript - 将数组与可观察的 MobX 可观察数组进行比较
- prolog - 如何在 Eclipse-clp 程序中使用数据文件
- bash - 中间命令别名/函数
- reactjs - 以编程方式导航:React Router V4+ Typescript 给出错误
- kubernetes - 从上游 ingress-nginx 读取响应标头时,上游超时(110:连接超时)
- node.js - 当我通过终端中的 echo 创建 index.js 文件时出现 Node.js 语法错误
- assembly - 为什么这个 MIPS 循环在请求整数时停止打印字符串
- weblogic - 如何重新格式化 v$session.osuser?