You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

请求将AWS Lambda中NodeJS Webhook事件处理代码转译为Python

Node.js AWS Lambda 转 Python:Webhook事件转发至Kinesis Firehose

以下是对应你提供的Node.js代码的Python实现,功能完全一致:

import json
import boto3
from datetime import datetime

# 初始化Firehose客户端
firehose = boto3.client('firehose')

def lambda_handler(event, context):
    # 打印事件详情
    print(json.dumps(event, indent=4))
    
    try:
        # 向Firehose发送记录
        firehose.put_record(
            DeliveryStreamName='foo',
            Record={
                'Data': event['body']
            }
        )
    except Exception as e:
        # 捕获异常并返回错误响应
        print(f"Error: {e}")
        return {
            'statusCode': 400,
            'body': json.dumps(f"Cannot process event: {str(e)}")
        }
    
    # 返回成功响应,包含毫秒级时间戳ack
    return {
        'statusCode': 200,
        'body': json.dumps({
            'ack': int(datetime.now().timestamp() * 1000)
        })
    }

关键细节说明:

  • 用AWS官方Python SDK boto3替代Node.js的AWS SDK,初始化Firehose客户端的逻辑对应原代码
  • Lambda入口函数为lambda_handler,参数event对应原代码的事件对象
  • 时间戳转换:通过datetime.now().timestamp()获取秒级时间戳后乘以1000,和原代码new Date().getTime()的毫秒级时间戳逻辑一致
  • 响应体需用json.dumps序列化,对应原代码的JSON.stringify操作
  • 异常捕获逻辑与原代码匹配,捕获所有异常后返回400错误响应

内容的提问来源于stack exchange,提问作者wihee

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 05:03:22