所以我可以使用aws cli使用其swagger yml文件导入API,并且它在一点灵敏度后工作,但是当我尝试使用boto3时,同一文件失败
代码看起来像这样
client.import_rest_api(
failOnWarnings=False,
parameters={},
body="file://C:/somewhereinmyfilesystem/myvalidswagger.yml")
所有代码都在同一条线上,我只是把它分解出去在这里显示。
任何想法该命令有什么问题?该文件直接从cli工作,我运行python文件时得到的错误是一致的。
“无效的Swagger 2.0输入”,新的“对象引用未设置为对象的实例”?感谢您的帮助: - )
答案 0 :(得分:0)
此方法应将字节或文件作为正文的输入。
在您将file://C:/somewhereinmyfilesystem/myvalidswagger.yml
作为正文时,它会将file://C:/somewhereinmyfilesystem/myvalidswagger.yml
直接发送到API网关。
您可以将文件中的内容加载到本地变量中,然后以字节形式发送,也可以发送文件对象。
直接发送文件:
client.import_rest_api(
failOnWarnings=False,
parameters={},
body=open("C:/somewhereinmyfilesystem/myvalidswagger.yml", r))
加载到内存中,然后发送:
with open('C:/somewhereinmyfilesystem/myvalidswagger.yml', 'r') as content_file:
content = content_file.read()
client.import_rest_api(
failOnWarnings=False,
parameters={},
body=content)