首页 > 解决方案 > 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'

谁能帮我解决这里的问题。

标签: pythonamazon-web-servicesaws-lambdadatadogaws-lambda-layers

解决方案


我假设您的 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).

在此处输入图像描述


推荐阅读