Working lambda function with s3 code doesn't work with plugin
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 35/100
Direzione di ricerca
Inizia con il require di S3 in /var/task/helpers/s3_helper.rb e con la catena di require attraverso handlers/base_handlers/pg_handler.rb e handlers/void_charge.rb. Riproduci il deployment con la configurazione del plugin di serverless.yml su Ruby 3.2.2, quindi traccia il motivo per cui aws-sigv4 non è disponibile quando il plugin è abilitato. Il lavoro è completato quando le funzioni che caricano S3 vengono invocate correttamente con il wrapper Datadog e le funzioni senza accesso a S3 continuano a funzionare.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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'"
]
}
- Lingua principale
- Ruby
- Stelle
- 9
- Fork
- 9
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
- Include un Dockerfile o un file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di DataDog/datadog-lambda-rb
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 73/100
DataDog/datadog-lambda-rb#167 ·
Tutte le issue di DataDog/datadog-lambda-rb
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 2 giorni
-
Concept round-trip: serialized "id" parses as #id, #uuid then lazily derives a different UUIDAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
glossarist/glossarist-ruby#247 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
voxpupuli/puppet-corosync#589 · 1 commento ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
simp/pupmod-simp-simp#406 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
I maintainer di solito rispondono entro 1 giorno