首页 > 解决方案 > Python AWS lambda JSON序列化问题

问题描述

我目前正在用python编写aws lambda函数来http post请求,显然它无法在我的模式下序列化json标头

  import json
  from botocore.vendored import requests

  API_ENDPOINT = "https://api.someservices.com/v1/aws_accounts"
  API_KEY = "asdfasdfasdfasdfasdf"
  externalID ="dadsfasdfasdfasd"

  def api_post(account_id, rolearn, account_name):
      headers = {"Content-Type" : "application/json", "api_key" : API_KEY}
      data = {"name":account_name,"authentication":{"protocol": "assume_role","assume_role_arn":rolearn,"assume_role_external_id":externalID}}
      json_data = json.dumps(data)
      response = requests.post(url = API_ENDPOINT,headers=headers, data=json_data)
      print(response)
      return response

这是我得到的错误 def lambda_handler(event, context): result = update_ch(event['account_id'],event['rolearn'],event['account_name']) return result

raise TypeError(repr(o) + " is not JSON serializable") TypeError: is not JSON serializable

标签: jsonpython-2.7aws-lambda

解决方案


这个问题已经解决了。我使用了错误的库


推荐阅读