Working lambda function with s3 code doesn't work with plugin
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 35/100
Línea de trabajo
Comienza con el require de S3 en /var/task/helpers/s3_helper.rb y la cadena de require a través de handlers/base_handlers/pg_handler.rb y handlers/void_charge.rb. Reproduce el despliegue con la configuración del plugin de serverless.yml en Ruby 3.2.2 y rastrea por qué aws-sigv4 no está disponible cuando el plugin está habilitado. La tarea estará terminada cuando las funciones que cargan S3 se invoquen correctamente con el wrapper de Datadog y las funciones sin acceso a S3 sigan funcionando.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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'"
]
}
- Lenguaje dominante
- Ruby
- Estrellas
- 9
- Forks
- 9
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
- Incluye un Dockerfile o un archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de DataDog/datadog-lambda-rb
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 73/100
DataDog/datadog-lambda-rb#167 ·
Todos los issues de DataDog/datadog-lambda-rb
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 2 días
-
Concept round-trip: serialized "id" parses as #id, #uuid then lazily derives a different UUIDAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
glossarist/glossarist-ruby#247 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
voxpupuli/puppet-corosync#589 · 1 comentario ·
-
Please add RHEL 10 supportAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
theforeman/puppet-foreman_scap_client#93 · 1 comentario ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
simp/pupmod-simp-simp#406 ·