Lambda
Kubemq aws-lambda target connector allows services using kubemq server to access aws lambda service.
Prerequisites
The following required to run the aws-lambda target connector:
kubemq cluster
aws account with lambda active service
kubemq-source deployment
Configuration
lambda target connector configuration properties:
Properties Key
Required
Description
Example
aws_key
yes
aws key
aws key supplied by aws
aws_secret_key
yes
aws secret key
aws secret key supplied by aws
region
yes
region
aws region
token
no
aws token ("default" empty string
aws token
Example:
bindings:
- name: kubemq-query-aws-lambda
source:
kind: kubemq.query
name: kubemq-query
properties:
address: "kubemq-cluster:50000"
client_id: "kubemq-query-aws-lambda-connector"
auth_token: ""
channel: "query.aws.lambda"
group: ""
auto_reconnect: "true"
reconnect_interval_seconds: "1"
max_reconnects: "0"
target:
kind: aws.lambda
name: aws-lambda
properties:
aws_key: "id"
aws_secret_key: 'json'
region: "region"
token: ""
Usage
List Lambda
List all lambdas
List Lambda:
Metadata Key
Required
Description
Possible values
method
yes
type of method
"list"
Example:
{
"metadata": {
"method": "list"
},
"data": null
}
Create Lambda
create a new lambda.
Create Lambda:
Metadata Key
Required
Description
Possible values
method
yes
type of method
"create"
zip_file_name
yes
name of the zip file
"file.zip"
handler_name
yes
lambda handler name
"handler-path"
role
yes
aws role name
"arn:aws:iam::0000000:myRole"
runtime
yes
lambda runtime version
function_name
yes
lambda function name
string
data
yes
the function code , in byte array
byte array
memory_size
no
memory_size needed default of 256
int
timeout
no
timeout set for task default of 15 (seconds)
int
description
no
function description default of ""
string
Example:
{
"metadata": {
"method": "create",
"zip_file_name": "myfile.zip",
"handler_name": "myhandler",
"role": "arn:aws:iam::0000000:myRole",
"runtime": "nodejs12.x",
"function_name": "testfunction",
"memory_size": "256",
"timeout": "3",
"description": "my awesome testing method"
},
"data": "ZXhwb3J0cy5oYW5kbGVyID0gYXN5bmMgKGV2ZW50KSA9PiB7CiAgICAvLyBUT0RPIGltcGxlbWVudAogICAgY29uc3QgcmVzcG9uc2UgPSB7CiAgICAgICAgc3RhdHVzQ29kZTogMjAwLAogICAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KCdIZWxsbyBmcm9tIExhbWJkYSEnKSwKICAgIH07CiAgICByZXR1cm4gcmVzcG9uc2U7Cn07Cg=="
}
Run Lambda
run a specific lambda
Run Lambda:
Metadata Key
Required
Description
Possible values
method
yes
type of method
"run"
function_name
yes
lambda function name
string
data
yes
the run request code , in byte array
byte array
Example:
{
"metadata": {
"method": "run",
"function_name": "testfunction",
},
"data": "bXkgb2JqZWN0"
}
Delete Lambda
Delete Lambda:
Metadata Key
Required
Description
Possible values
method
yes
type of method
"delete"
function_name
yes
lambda function name
string
Example:
{
"metadata": {
"method": "delete",
"function_name": "testfunction"
},
"data": null
}
Last updated
Was this helpful?