Working lambda function with s3 code doesn't work with plugin
还没有人认领这个 Issue。
评估
调研方向
从 /var/task/helpers/s3_helper.rb 中的 S3 require 以及经过 handlers/base_handlers/pg_handler.rb 和 handlers/void_charge.rb 的 require 链开始。使用 Ruby 3.2.2 和 serverless.yml 中的插件配置重现部署,然后追踪插件启用时 aws-sigv4 不可用的原因。当加载 S3 的函数能够通过 Datadog wrapper 成功调用,并且不访问 S3 的函数仍能正常工作时,即视为完成。
由索引模型根据 Issue 内容生成。
描述
Expected Behavior
running lambda can add datadog wrapper with no issues
Actual Behavior
once I add the plugin, without adding instrumenting code, running lambdas that involve loading content from s3 fails with below error
"errorMessage": "cannot load such file -- aws-sigv4",
"errorType": "Init<LoadError>"
Functions that do not load s3 files runs with no error.
The s3 code
s3_object = s3.get_object({bucket: ENV['S3_BUCKET_NAME'], key: '*****'})
file_contents = s3_object[:body].read
application_file = YAML.load(file_contents)
Steps to Reproduce the Problem
- Add below to
serverless.yml
+ - serverless-plugin-datadog
custom:
+ datadog:
+ site: datadoghq.com
+ apiKeySecretArn: ********
- deploy and invoke function
Specifications
- Serverless Framework version: 3.22.0
- Datadog Serverless Plugin version: 5.89.0
- Lambda function runtime (Python 3.7, Node 10, etc.): Ruby 3.2.2
Stacktrace
{
"errorMessage": "cannot load such file -- aws-sigv4",
"errorType": "Init<LoadError>",
"stackTrace": [
"<internal:/var/lang/lib/ruby/site_ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:141:in `require'",
"<internal:/var/lang/lib/ruby/site_ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:141:in `rescue in require'",
"<internal:/var/lang/lib/ruby/site_ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:135:in `require'",
"/var/runtime/ruby/3.2.0/gems/aws-sdk-core-3.219.0/lib/aws-sdk-core.rb:6:in `<top (required)>'",
"<internal:/var/lang/lib/ruby/site_ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:136:in `require'",
"<internal:/var/lang/lib/ruby/site_ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:136:in `require'",
"/var/runtime/ruby/3.2.0/gems/aws-sdk-kms-1.99.0/lib/aws-sdk-kms.rb:11:in `<top (required)>'",
"<internal:/var/lang/lib/ruby/site_ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:136:in `require'",
"<internal:/var/lang/lib/ruby/site_ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:136:in `require'",
"/var/runtime/ruby/3.2.0/gems/aws-sdk-s3-1.182.0/lib/aws-sdk-s3.rb:11:in `<top (required)>'",
"<internal:/var/lang/lib/ruby/site_ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:141:in `require'",
"<internal:/var/lang/lib/ruby/site_ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:141:in `rescue in require'",
"<internal:/var/lang/lib/ruby/site_ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:135:in `require'",
"/var/task/helpers/s3_helper.rb:1:in `<top (required)>'",
"/var/task/handlers/base_handlers/pg_handler.rb:11:in `require_relative'",
"/var/task/handlers/base_handlers/pg_handler.rb:11:in `<top (required)>'",
"/var/task/handlers/void_charge.rb:1:in `require_relative'",
"/var/task/handlers/void_charge.rb:1:in `<top (required)>'",
"<internal:/var/lang/lib/ruby/site_ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:136:in `require'",
"<internal:/var/lang/lib/ruby/site_ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:136:in `require'"
]
}
- 主要语言
- Ruby
- 星标
- 9
- 派生
- 9
- PR 合并指标
- 30 天内没有已合并 PR
环境准备
- 提供 Dockerfile 或 Docker Compose 文件
- 有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
DataDog/datadog-lambda-rb 的其他 Issue
-
难度 2/5 1-3 小时 新手友好度 73/100
DataDog/datadog-lambda-rb#167 ·
查看 DataDog/datadog-lambda-rb 的全部 Issue
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 74/100
glossarist/glossarist-ruby#247 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 76/100
维护者通常 1 天内回复
-
🐛 bug 🧑💼 conseillers
难度 2/5 1-3 小时 新手友好度 65/100
betagouv/conseillers-entreprises#4768 ·
维护者通常 1 天内回复
-
`github-events` aborts the repository scan when a closed pull's API payload has a null `head`可能已有人在做 @renyamamoto2026-cmyk 今天认领。 未关闭
难度 2/5 1-3 小时 新手友好度 82/100
zerocracy/judges-action#2823 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 67/100
维护者通常 1 天内回复