Amazon web services AWS lambda函数日志未显示在cloudwatch中
我正在尝试运行以下设置 我有一个python应用程序,它在我的linux主机上本地运行。 我正在使用boto3使用我的用户密钥和密钥Id连接到AWS。 我的用户可以完全访问EC2、Cloudwatch、S3和config 我的应用程序调用一个名为mylambda的lamdbda函数。 mylambda的执行角色还具有所有必需的权限 现在,如果我从aws控制台调用lambda函数,它可以正常工作。我可以在cloudwatch中看到执行日志。但是,如果我从我的自定义应用程序的linux盒中执行,我看不到任何执行日志,我也不会得到错误 我有什么遗漏吗 非常感谢您的帮助 我看它不会被调用。但令人惊讶的是,我得到的回应如下Amazon web services AWS lambda函数日志未显示在cloudwatch中,amazon-web-services,logging,aws-lambda,amazon-cloudwatch,Amazon Web Services,Logging,Aws Lambda,Amazon Cloudwatch,我正在尝试运行以下设置 我有一个python应用程序,它在我的linux主机上本地运行。 我正在使用boto3使用我的用户密钥和密钥Id连接到AWS。 我的用户可以完全访问EC2、Cloudwatch、S3和config 我的应用程序调用一个名为mylambda的lamdbda函数。 mylambda的执行角色还具有所有必需的权限 现在,如果我从aws控制台调用lambda函数,它可以正常工作。我可以在cloudwatch中看到执行日志。但是,如果我从我的自定义应用程序的linux盒中执行,我看
gaurav@random:~/lambda_s3$python main.py
{u'Payload':,u'ExecutedVersion':'LATEST','ResponseMetadata':{'RetryAttempts':0,'HTTPStatusCode':200,'RequestId':'7417534c-6263-11e8-xxx-afab1667510a','HTTPHeaders':{'x-amzn-requestid':'7417534c-xxx-11e8-8a24-afab1667510a','content length':'4','x-amz-executed-version':'LATEST','x-amzn-trace-id':'root=1-5b0bdc78-7559E68ACD647476Bxxx754;sampled=0','x-amzn-remapped-content-length':'0','connection','keep-alive','date':'Mon 2018年5月28日10:39:52 GMT','content type':'application/json'},u'StatusCode':200}
{u'CreationDate':datetime.datetime(2018,5,27,9,50,9,tzinfo=tzutc()),u'Name':'bucketname'}
gaurav@random:~/lambda\u s3$
我的示例应用程序如下所示
#!/usr/bin/python
import boto3
import json
import base64
d= {'key': 10, 'key2' : 20}
client = boto3.client('lambda')
response = client.invoke(
FunctionName='mylambda',
InvocationType='RequestResponse',
#LogType='None',
ClientContext=base64.b64encode(b'{"custom":{"foo":"bar", \
"fuzzy":"wuzzy"}}').decode('utf-8'),
Payload=json.dumps(d)
)
print response
确保您确实正确调用了Lambda。Lambda错误处理可能有点棘手。使用boto3,即使调用失败,调用方法也不一定抛出。您必须检查响应中的statusCode属性
您提到您的用户拥有对EC2、Cloudwatch、S3和config的完全访问权限。对于您的用例,您需要将
lambda:InvokeFunction
添加到您的用户权限中。它确实被调用了吗?检查监控选项卡图。如果被调用,您至少应该在日志中看到开始和结束语句。I没有看到更新。我已经添加了示例代码和调用响应的输出。忘记提到LambdaFullAccess了。StatusCode是200,这在http中是成功的