sdk.api.publishVersion({ FunctionName: functionName }, function(err, data) { if (err !== null) reject(err); else { if (notify !== undefined && notify !== null) notify(data.Version); resolve(data); } });
/** * Invoke Another Lambda Function * @param {*} lambdaName * @param {*} payload */ invoke(lambdaName, event = {}) { return this.lambda.invoke({ FunctionName: lambdaName, Payload: JSON.stringify(event, null, 2) }).promise(); }
function updateRuntime ({ functionName, handler }) { const params = { FunctionName: functionName, Handler: handler, Runtime: defaultParams.Runtime } return lambda.updateFunctionConfiguration(params).promise().then(res => res.FunctionArn) }
/** * Invoke Lambda Function Async * @param {*} lambdaName * @param {*} event * @param {*} callback */ invokeAsync(lambdaName, event = {}, callback) { return this.lambda.invokeAsync({ FunctionName: lambdaName, Payload: JSON.stringify(event, null, 2) }, callback); }
function resize(data) { const lambda = new AWS.Lambda({ region: process.env.region }); return new Promise((resolve, reject) => lambda.invoke({ Payload: JSON.stringify(data), FunctionName: process.env.RESIZE_LAMBDA, }, (err, result) => ((err) ? reject(err) : (result.FunctionError) ? reject({ statusCode: 502, body: result.Payload }) : resolve(result)))); }
lambda.getFunction(params, function(err, data) { if (err) console.log(err, err.stack); // an error occurred else console.log(data); // successful response });
function addPermission ({ lambdaArn, restApiId }) { const { region, namespace } = parseArn(lambdaArn) const params = { Action: 'lambda:InvokeFunction', FunctionName: lambdaArn, Principal: 'apigateway.amazonaws.com', StatementId: `${nanoid(8)}-AllowExecutionFromAPIGateway`, SourceArn: `arn:aws:execute-api:${region}:${namespace}:${restApiId}/*/*/*` } return lambda.addPermission(params).promise() }
sdk.api.createFunction(params, function(err, data) { console.log("Lambda code create attempt finished."); if (err) { console.log("Error creating function. Params:", err); console.log("Input Parameters: ", params); console.log(err.stack); reject(err); } else { console.log("Function created: " + functionName); resolve(data); } });
sdk.api.listAliases({ FunctionName: functionName }, function(err, aliasData) { if (err !== null) reject(err); var aliases = {}; aliasData.Aliases.forEach(function(aliasData) { aliases[aliasData.Name] = aliasData.FunctionVersion; }); resolve(aliases); });
sdk.api.createAlias(params, function(err, data) { if (err !== null) reject(err); else { console.log("Create version alias: " + data.Name + " => " + data.FunctionVersion); resolve(data); } });
sdk.api.invoke(params, function(err, data) { if (err !== null) reject(err); else resolve(data); });
sdk.api.updateFunctionConfiguration(params, function(err, data) { console.log("Lambda configuration update attempt finished."); if (err) { console.log("Error updating configuration. Params:", err); console.log("Input Parameters: ", params); console.log(err.stack); reject(err); } else { console.log("Updated function configuration: " + functionName); resolve(data); } });
sdk.api.updateAlias(params, function(err, data) { if (err !== null) reject(err); else { console.log("Update version alias: " + data.Name + " => " + data.FunctionVersion); resolve(data); } });
sdk.api.updateFunctionCode(params, function(err, data) { console.log("Lambda code update attempt finished."); if (err) { console.log("Error updating code. Params:", err); console.log("Input Parameters: ", params); console.log(err.stack); reject(err); } else { console.log("Updated function: " + functionName); resolve(data); } });
sdk.api.invoke(params, function(err, data) { if (err !== null) reject(err); else resolve(data); });