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

Python AWS Lambda请求Payload中sourceTimestamp转整数的方法求助

解决方案

方法一:用字典构造Payload再转JSON(推荐)

这是最可靠的方式,能精准控制数据类型,还能避免字符串拼接带来的潜在格式bug:

  1. 导入json模块(AWS Lambda默认环境已自带该模块)
  2. 用Python字典定义Payload的完整结构,将sourceTimestamp设为整数类型
  3. 把字典转为标准JSON字符串后,再传给requests.post

示例代码:

import requests
import json

def lambda_handler(event, context):
    Url = "你的API接口地址"
    Headers = {
        "Content-Type": "application/json",  # 必须添加该请求头,确保API能识别JSON格式
        # 其他需要保留的请求头字段...
    }
    
    # 假设timestamp是你要传入的整数时间戳,可从event或其他逻辑中获取
    timestamp = 1718000000
    
    # 构造字典,sourceTimestamp直接使用整数
    payload_dict = {
        "sourceTimestamp": timestamp,
        "otherField": "原有字段值",  # 保留所有原有字段结构
        # 其他需要的字段...
    }
    
    # 转换为JSON字符串,此时sourceTimestamp会以整数形式存在
    Payload = json.dumps(payload_dict)
    
    # 发送请求
    response = requests.post(Url, headers=Headers, data=Payload)
    # 后续响应处理逻辑...

方法二:修改字符串拼接逻辑(仅适用于简单场景)

如果必须保留字符串拼接的方式,直接去掉sourceTimestamp字段的引号即可,但要确保传入的时间戳能转为整数:

示例代码:

import requests

def lambda_handler(event, context):
    Url = "你的API接口地址"
    Headers = {
        "Content-Type": "application/json",
        # 其他需要保留的请求头字段...
    }
    
    # 假设原逻辑中获取的是字符串格式的时间戳,先转为整数
    timestamp_str = "1718000000"
    timestamp_int = int(timestamp_str)
    
    # 拼接字符串时,不给sourceTimestamp加引号
    Payload = f'{{"sourceTimestamp": {timestamp_int}, "otherField": "原有字段值"}}'
    
    response = requests.post(Url, headers=Headers, data=Payload)
    # 后续响应处理逻辑...

注意:方法二仅适合结构简单的Payload,若字段包含特殊字符(如双引号、换行符),字符串拼接会导致JSON格式错误,优先推荐方法一。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 02:17:38