使用boto时Swagger验证灵敏度

时间:2017-07-27 10:21:11

标签: amazon-web-services boto aws-api-gateway

所以我可以使用aws cli使用其swagger yml文件导入API,并且它在一点灵敏度后工作,但是当我尝试使用boto3时,同一文件失败

代码看起来像这样

client.import_rest_api(
  failOnWarnings=False, 
  parameters={}, 
  body="file://C:/somewhereinmyfilesystem/myvalidswagger.yml")

所有代码都在同一条线上,我只是把它分解出去在这里显示。

任何想法该命令有什么问题?该文件直接从cli工作,我运行python文件时得到的错误是一致的。

“无效的Swagger 2.0输入”,新的“对象引用未设置为对象的实例”?感谢您的帮助: - )

1 个答案:

答案 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)