【问题标题】:How do I read real time AWS Lambda logs using on-prem Python script?如何使用本地 Python 脚本读取实时 AWS Lambda 日志?
【发布时间】:2021-10-24 01:52:48
【问题描述】:

我不想等待 14 秒来读取 CloudWatch Lambda 日志。 有没有办法在本地(VPC 外部)调用 shell 时实时读取它们?

  1. 调用异步
    result = lam.invoke(
        InvocationType='Event',
        FunctionName='my-lambda-func',
        Payload=json.dumps(dict(test='test'))
    )
  1. Lambda 将日志写入相关服务。
  2. 循环/等待实时结果在单独的 shell 上是相同的。

【问题讨论】:

  • 为什么不简单地返回数据而不是尝试从日志中提取数据?
  • @JohnRotenstein 在这种情况下,异步调用不会从 lambda 返回输出。
  • 然后同步调用而不是异步调用,简单的返回数据。为什么 OP 要从日志中读取数据?

标签: python-3.x amazon-web-services aws-lambda


【解决方案1】:

使用异步调用的一种常见方法是让您的 lambda 将结果发布到 SQS 队列或 SNS 主题。通过这种方式,您可以在本地拉取 SQS 队列以获得结果,或者设置 http 端点订阅,当 SNS 从 lambda 获取消息时将自动调用该订阅。

如果您只想关注 CloudWatch 日志,那么您可以在日志上设置 subscription filter,以便实时处理来自 lambda 的传入日志事件。根据您的具体设置,您可以使用 Kinesis、firehose 或其他 lambda 来获取日志消息。

【讨论】:

    猜你喜欢
    • 2014-12-07
    • 2018-09-22
    • 1970-01-01
    • 2019-08-07
    • 1970-01-01
    • 1970-01-01
    • 2019-08-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多