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

如何在boto3中传递JSON文件作为create_traffic_policy的Document参数?

解决Route53 create_traffic_policy中传入JSON文件内容到Document参数的问题

嘿,你已经快搞定了!问题出在你读取文件后得到的是二进制数据,而create_traffic_policy的Document参数需要的是JSON格式的字符串。这里有两种简单的解决方式:

方法1:直接读取文件为字符串(推荐)

用文本模式打开文件,直接获取字符串内容,这样可以直接传给参数,同时用with语句还能自动管理文件资源,避免泄漏:

import boto3
client = boto3.client('route53')

with open('policy.json', 'r') as policy_file:
    policy_document = policy_file.read()

response = client.create_traffic_policy(
    Name='test2',
    Document=policy_document,
    Comment='new traffic policy'
)

方法2:将二进制数据解码为字符串

如果你已经用二进制模式读取了文件,只需要把bytes对象解码成UTF-8字符串即可(JSON文件默认用UTF-8编码):

import boto3
client = boto3.client('route53')

doc_bytes = open('policy.json', 'rb').read()
policy_document = doc_bytes.decode('utf-8')

response = client.create_traffic_policy(
    Name='test2',
    Document=policy_document,
    Comment='new traffic policy'
)

小提醒:一定要确保policy.json里的内容是合法的JSON格式,不然调用API时会返回格式错误的提示哦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 11:50:30