我的python lambda函数不返回lambda函数名
我尝试在AWS中调用我的python lambda函数不返回lambda函数名,python,python-2.7,aws-lambda,Python,Python 2.7,Aws Lambda,我尝试在AWS中调用lambda函数。我用一个S3事件触发了它,下面是我的代码。我可以从事件记录中找到桶和钥匙。我试图将lambda函数名作为调用的一部分,但无法执行。我可以从事件中获取函数名吗 def getEnv(event): key = urllib.unquote_plus(event['Records'][0]['s3']['object']['key']).decode('utf8') bucket = event['Records'][0]['s3']['bucket
lambda
函数。我用一个S3
事件触发了它,下面是我的代码。我可以从事件记录中找到桶和钥匙。我试图将lambda函数名
作为调用的一部分,但无法执行。我可以从事件中获取函数名吗
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}
您需要从上下文对象(而不是事件)获取此信息。使用
context.function\u name
。这里有更多文档:lambda函数通常没有名称(尽管您可以设置一个(->\uuuuu name\uuuuuu
),如果您愿意;这是python);这是因为它们是一个表达式而不是一个语句。(3+2
是一个表达式,a=b
是一个语句。)这会产生一个属性,即lambda函数现在不能命名(a=lambda x:x*2
->lambda x:x*2
首先计算,然后分配给a
),或者(如果正确使用,这应该是唯一的选项)没有名称(cubes=map(lambda x:x**3,li)
)。@CodingLambdas:这不是关于Python lambda语法,而是关于@MartijnPieters啊,好的。我不知道。太棒了。这对我很有用。