从异步调用访问Lambda日志?

时间:2018-10-15 15:31:23

标签: aws-cli

我想运行我的delete_me函数并获取其输出。我尝试了以下命令:

aws lambda invoke \
--invocation-type Event \
--function-name delete_me \
--region us-west-2 \
--log-type Tail \
--payload '{"key1":"value1", "key2":"value2", "key3":"value3"}' outputfile.txt 

并获得以下输出:

{
    "StatusCode": 202
}

我做错什么了吗?如何访问日志?

1 个答案:

答案 0 :(得分:1)

来自invoke() documentation

response = client.invoke(
    FunctionName='string',
    InvocationType='Event'|'RequestResponse'|'DryRun',
    LogType='None'|'Tail',
    ClientContext='string',
    Payload=b'bytes'|file,
    Qualifier='string'
)

返回:

{
    'StatusCode': 123,
    'FunctionError': 'string',
    'LogResult': 'string',
    'Payload': StreamingBody(),
    'ExecutedVersion': 'string'
}
  

有效载荷(StreamingBody)-

     

它是Lambda函数返回的对象的JSON表示形式。仅当调用类型为RequestResponse

时才存在

因此,将invocationType='RequestResponse'添加到您的通话中。