Tôi đã chức năng Lambda sau cấu hình trong AWS Lambda:Làm thế nào để có được tên của sân khấu trong một chức năng AWS Lambda liên quan đến API Gateway
var AWS = require('aws-sdk');
var DOC = require('dynamodb-doc');
var dynamo = new DOC.DynamoDB();
exports.handler = function(event, context) {
var item = { id: 123,
foo: "bar"};
var cb = function(err, data) {
if(err) {
console.log(err);
context.fail('unable to update hit at this time' + err);
} else {
console.log(data);
context.done(null, data);
}
};
// This doesn't work. How do I get current stage ?
tableName = 'my_dynamo_table_' + stage;
dynamo.putItem({TableName:tableName, Item:item}, cb);
};
Mọi thứ hoạt động như mong đợi (tôi chèn một mục trong DynamoDB mỗi thời gian tôi gọi nó).
Tôi muốn tên bảng máy phát điện phụ thuộc vào giai đoạn mà lambda được triển khai.
bảng của tôi sẽ là:
my_dynamo_table_staging
cho giai đoạnstaging
my_dynamo_table_prod
cho giai đoạnprod
Tuy nhiên, làm thế nào để tôi có được tên của giai đoạn hiện tại bên trong lambda?
Sửa: My Lambda được gọi bởi HTTP thông qua một thiết bị đầu cuối được xác định với API Gateway
** Update **: AWS gần đây tung ra một tính năng mới gọi là [Environment Variables và Mô hình ứng dụng không có máy chủ (SAM)] (https://aws.amazon.com/blogs/aws/new-for-aws-lambda-environment-variables-and-serverless-application-model/). Nó là một cách tích hợp để cung cấp các biến môi trường cho các hàm Lambda của bạn. ([thảo luận tại đây] (https://news.ycombinator.com/item?id=12999767)) –