【问题标题】:Swagger validation sensitivity when using boto使用 boto 时的 Swagger 验证灵敏度
【发布时间】:2017-07-31 08:45:28
【问题描述】:

所以我可以使用 aws cli 使用其 swagger yml 文件导入 API,并且在稍微敏感后它可以工作,但是当我尝试使用 boto3 执行此操作时,同一个文件失败

代码如下所示

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

所有代码都在同一行,我只是把它拆开在这里显示。

知道该命令有什么问题吗?该文件直接从cli可以正常工作,并且我在运行python文件时得到的错误是一致的。

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

【问题讨论】:

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


    【解决方案1】:

    这个方法应该以bytes或file作为body的输入。

    在你把file://C:/somewhereinmyfilesystem/myvalidswagger.yml作为body,它会直接将file://C:/somewhereinmyfilesystem/myvalidswagger.yml发送到API Gateway。

    您可以将文件中的内容加载到局部变量中,并以字节形式发送,也可以发送文件对象。

    直接发送文件:

    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)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-04-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多