Mam następującą funkcję Lambda skonfigurowanym w AWS lambda:Jak uzyskać nazwę scenie w funkcji AWS Lambda połączonego z API Brama
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);
};
wszystko działa zgodnie z oczekiwaniami (I wstawić element DynamoDB każdego czas to nazywam).
Chciałbym, aby nazwa tabeli dynamo była zależna od etapu wdrożenia lambda.
Moja tabela będzie:
my_dynamo_table_staging
na etapiestaging
my_dynamo_table_prod
na etapieprod
Jednak, jak mogę uzyskać nazwę obecnym etapie wewnątrz lambda?
Edit: My Lambda jest wywoływany przez HTTP za pośrednictwem punktu końcowego zdefiniowanego z API Brama
** Aktualizacji **: AWS niedawno walcowane na nową funkcję o nazwie [Zmienne środowiskowe i bezserwerowy model aplikacji (SAM)] (https://aws.amazon.com/blogs/aws/new-for-aws-lambda-environment-variables-and-serverless-application-model/). Jest to wbudowany sposób dostarczania zmiennych środowiskowych do funkcji Lambda. ([dyskusja tutaj] (https://news.ycombinator.com/item?id=12999767)) –