AWS Lambda Resolver
TakeShape is able to resolve to an AWS Lambda resolver.
name
Type
string!
Values
awsLambda:invoke
options
The options object contains configuration specific to the type of resolver you select.
args
Type
Description
Allows mapping from the QueryContext to the args values (input arguments) for the resolver. Results are not serialized. For more information read about the ParameterConfig.
results
Type
Description
Allows mapping from the QueryContext to the results for the resolver step in a ComposeResolver or whole query. Results are not serialized. For more information read about the ParameterConfig.
functionName
Type
(string | ParameterConfig)!
Description
Allows mapping from the QueryContext to create a FunctionName
for the
Lambda resolver invocation. serialize.template
is used to place the tokens in the functionName string.
Example
{
"MyLambdaQuery": {
"resolver": {
"name": "awsLambda:invoke",
"service": "aws",
"functionName": {
"ops": [
{
"path": "acct",
"value": "12345678"
},
{
"path": "region",
"value": "us-east-1"
},
{
"path": "fn",
"mapping": "myFunction"
}
],
"serialize": {
"template": "{acct}:{region}:function:{fn}"
}
}
}
}
}
var functionName = '12345678:us-east-1:function:myFunction';
payload
Type
Description
Allows mapping from the QueryContext to create a Payload
for the Lambda
resolver invocation.
Example
var $args = {
price: '123',
couponCode: 'FREE_STUFF'
};
{
"MyLambdaQuery": {
"resolver": {
"name": "awsLambda:invoke",
"service": "aws",
"payload": {
"ops": [
{
"path": "price",
"mapping": "$args.price"
},
{
"path": "coupon",
"mapping": "$args.couponCode"
}
]
}
}
}
}
var payload = {
price: '123',
coupon: 'FREE_STUFF'
};
clientContext
Type
Description
Allows mapping from the QueryContext to create a ClientContext
for the
Lambda resolver invocation. This object will be base64 encoded per the AWS spec and it should not exceed 3583 bytes.
Example
{
"MyLambdaQuery": {
"resolver": {
"name": "awsLambda:invoke",
"service": "aws",
"payload": {
"ops": [
{
"path": "userName",
"value": "dunefan10191"
}
]
}
}
}
}
var clientContext = 'eyJ1c2VyTmFtZSI6ImR1bmVmYW4xMDE5MSJ9';