2016-05-19 2 views
1

Я пробовал использовать функцию lambda в AWS. Я получил его с событием S3 и ниже - мой код. Я мог бы получить ведро и ключ из записей событий. Я пытался получить lambda function name как часть вызова и не смог это сделать. Могу ли я получить имя функции из события.Моя функция лямбда-функции python не возвращает имя функции лямбда

def getEnv(event): 
    key = urllib.unquote_plus(event['Records'][0]['s3']['object']['key']).decode('utf8') 
    bucket = event['Records'][0]['s3']['bucket']['name'] 
    lambdaName = event['lambdaName'][0] 

    environment = {'env': bucke, 'lambdaName': lambdaName} 
+0

Лямбда-функции обычно не имеют имени (хотя вы можете установить один (-> '__name__'), если хотите, это python); это потому, что они являются выражением, а не выражением. ('3 + 2' - это выражение,' a = b' - это оператор.) В результате свойство лямбда-функции не может теперь это имя ('a = lambda x: x * 2' ->' lambda x: x * 2' сначала оценивается, а затем присваивается 'a') или (если это правильно используется, это должен быть единственный вариант), в любом случае не имеет его (' cubes = map (lambda x: x ** 3, li) '). – CodenameLambda

+3

@CodingLambdas: это не о синтаксисе лямбда * Python *, а о сервисе [AWS Lambda] (http://docs.aws.amazon.com/lambda/latest/dg/welcome.html). –

+0

@MartijnPieters А, ок. Я этого не знал. – CodenameLambda

ответ

Смежные вопросы