If you want to find the URL of the API gateway that called the Lambda function, you need to check the variable eventthat your lambda function receives.
event.headers.Host -> abcdefghij.execute-api.us-east-1.amazonaws.com
event.requestContext.stage -> dev
event.requestContext.resourcePath -> my-service/resource
If you want to create an API gateway URL (example: https://abcdefghij.execute-api.us-east-1.amazonaws.com/dev/my-service/resource ), use:
const url = `https://${event.headers.Host}/${event.requestContext.stage}/${event.requestContext.resourcePath}`;
Full test case:
module.exports.hello = (event, context, callback) => {
const url = `https://${event.headers.Host}/${event.requestContext.stage}/${event.requestContext.resourcePath}`;
const response = {
statusCode: 200,
headers: {
'Access-Control-Allow-Origin': '*'
},
body: JSON.stringify({
message: url
})
};
callback(null, response);
};
. - AWS, , event headers requestContext. , API Gateway URL.