awslambdarpc

command module
v1.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 10, 2024 License: MIT Imports: 4 Imported by: 0

README

awslambdarpc

Go Report Card Go Reference

Small utility to make RPC requests to a locally running AWS Lambda, for development purposes.

Installing

Run go get github.com/blmayer/awslambdarpc.

Using

You need a running lambda, let's say in your computer port 3000, then to make a request to it, run:

awslambdarpc -a localhost:3000 -d '{"body": "Hello World!"}'.

Options

You can specify an input event to your lambda in 2 ways:

  • Pointing to a JSON file
  • Writing the JSON as an argument

For pointing to a file use the -e or --event option, e.g.:

awslambdarpc -a localhost:3000 -e example.json,

and passing the input directly is done with the -d or --data option, such as:

awslambdarpc -a localhost:3000 -d '{"body": "Hello World!"}'.

There is also the -h or --help flags that will give you further explanation.

Why?

I couldn't setup a debugger using go and aws-sam-cli, so this way I could just compile the binary for my function, attach the debugger on it and run this utility.

Documentation

Overview

awslambdarpc is an utility to make requests to your local AWS Lambda.

This tool is a CLI, and running awslambdarpc help will show your options. It uses the client package for the real interaction with AWS Lambda, you can import and use it if you wish.

Usage:

awslambdarpc [options]

Available options:

-a, --address
	the address of your local running function, defaults to localhost:8080
-e, --event
	path to the event JSON to be used as input
-d, --data
	data passed to the function as input, in JSON format, defaults to "{}"
-l, --execution-limit
	maximum execution limit for your handler, expressed as a duration, defaults to 15s
help, -h, --help
	show this help

To make a request to a lambda function running at localhost:3000 and passing the contents of a file, events/input.json as payload:

awslambdarpc -a localhost:3000 -e events/input.json

You can do passing the data directly with the -d flag:

awslambdarpc -a localhost:3000 -d '{"body": "Hello World!"}'

Directories

Path Synopsis
package client provides the function to make a RPC request to a lambda function and read the response.
package client provides the function to make a RPC request to a lambda function and read the response.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL