Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

570
Vistas
aws lambda: invocar con carga útil desde cli

Estoy tratando de invocar mi lambda usando aws cli:

 $ aws lambda invoke \ --function-name soc-update-dynamodb-java \ --invocation-type Event \ --payload file://invoke-payload.json \ response.json

Sin embargo, recibo este mensaje:

Ocurrió un error (InvalidRequestContentException) al llamar a la operación Invoke: No se pudo analizar el cuerpo de la solicitud en json: UTF-8 byte medio 0x28 no válido en [Fuente: (byte[])"E�(�����U�슉�� �Ø��k.....

El contenido de payload.json es un json similar a un evento s3:

 { "Records": [ { "eventVersion": "2.0", "eventSource": "aws:s3", "awsRegion": "eu-central-1", "eventTime": "1970-01-01T00:00:00.000Z", "eventName": "ObjectCreated:Put", "userIdentity": { "principalId": "EXAMPLE" }, "requestParameters": { "sourceIPAddress": "127.0.0.1" }, "responseElements": { "x-amz-request-id": "EXAMPLE123456789", "x-amz-id-2": "EXAMPLE123/5678abcdefghijklambdaisawesome/mnopqrstuvwxyzABCDEFGH" }, "s3": { "s3SchemaVersion": "1.0", "configurationId": "testConfigRule", "bucket": { "name": "soc-connect", "ownerIdentity": { "principalId": "EXAMPLE" }, "arn": "arn:aws:s3:::example" }, "object": { "key": "example.key", "size": 1024, "eTag": "0123456789abcdef0123456789abcdef", "sequencer": "0A1B2C3D4E5F678901" } } } ] }

Puedo ejecutarlo desde la consola web de aws usando este evento, pero tengo problemas para intentar invocarlo usando aws cli.

Obtuve la codificación de invocar-payload.json:

 $ file -i invoke-payload.json invoke-payload.json: text/plain; charset=us-ascii

Como puede ver, la codificación es us-ascii .

EDITAR

También intenté enviar la carga útil incrustada en el comando. Como puede ver en la imagen, recibo el mismo mensaje:

ingrese la descripción de la imagen aquí

¿Algunas ideas?

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

use la sintaxis fileb:// ("archivo binario") para el parámetro de carga útil para que no tenga que ejecutarlo a través de base64

... --archivo de carga útilb://invoke-payload.json

over 4 years ago · Santiago Trujillo Denunciar

0

Para la AWS CLI versión 2, agregue --cli-binary-format para asegurarse de que la carga útil se interprete correctamente.

 $ aws lambda invoke \ --function-name soc-update-dynamodb-java \ --invocation-type Event \ --payload file://invoke-payload.json \ --cli-binary-format raw-in-base64-out \ response.json
over 4 years ago · Santiago Trujillo Denunciar

0

Invoque Lambda con JSON simple desde la CLI

A continuación, le mostramos cómo probar su Lambda dándole una breve carga JSON y mostrando el resultado en la terminal:

 aws lambda invoke \ --payload '{"beer": "tasty"}' --function-name myfunc \ --cli-binary-format raw-in-base64-out \ /dev/stdout

Basándose en la respuesta de antklim

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda