曼云古籍OpenAPI:识别API

Posted 包建强的无线技术空间

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了曼云古籍OpenAPI:识别API相关的知识,希望对你有一定的参考价值。

 

1)地址:https://gpu1.ocr666.top/ocrapi/columnrec

 

2)参数:

字段  是否必选  格式  说明
image_data  form-data 不超过5M。如果图片大于5M,请压缩后再试
auto_rotate   1或者其他值 1,支持自动选择倾斜图片;不设置(默认)或其他值,不支持
username   用户名,请联系站长索取
password    密码,请联系站长索取 

 

3)返回结果:

 
字段 说明
cost 用时(秒)
ordered_bboxes
坐标数组,数组的每个元素,是一个多边形的xy坐标数组,格式为[x1, y1, x2, y2, x3, y3, .....]
result

识别文字数组。数组的每个元素,是一个字典,包括number和text两个key,分别表示排序后的序号,和对应的识别文字。

注:result数组的索引和上面ordered_bboxes数组的索引一一对应。

 

4)错误码:

错误码 错误原因
104 用户名不存在
105 密码不对
106 常规用户超过每日使用次数(50次)
107 VIP用户超过使用总次数
1000 图片格式不对,具体错误信息,参见同时返回的error_message字段

 

5)代码示例:

    import base64
    import requests
    import json

    f= open(r\'D:\\images\\099.jpg\', \'rb\')
    image_data = base64.b64encode(f.read())
    f.close()
        
    url = \'https://gpu1.ocr666.top/ocrapi/columnrec\'
                       
    payload = 
        \'image_data\': image_data,
        \'username\': \'username\',
        \'password\': \'password\', 
        \'auto_rotate\': 0
    

    try:
        response = requests.request("POST", url, data=payload, timeout=300)
        result = json.loads(response.text, encoding=\'UTF-8\') 
        print(result)
    except Exception as e:
        print(str(e))   

 

terraform api 网关与 openapi 规范的集成

【中文标题】terraform api 网关与 openapi 规范的集成【英文标题】:terraform api gateway integration with openapi spec 【发布时间】:2018-08-15 19:17:10 【问题描述】:

我目前正在使用 json 文件中的开放 api 规范创建一个带有 terraform 的 AWS API 网关。

resource "aws_api_gateway_rest_api" "my_test_gateway" 
  name        = "test_gateway"
  description = "test gateway"
  body        = "$file("assets/test_openapi_spc.json")"

我需要将由上述 openAPI 规范创建的 api 资源映射到 AWS Step Functions。 我如何引用由 openAPI 规范创建的 API Gateway 资源才能创建新的 aws_api_gateway_integration? 通常你会做这样的事情并在 terraform 中描述资源

resource "aws_api_gateway_integration" "test" 
  resource_id = "$aws_api_gateway_resource.my_resource.id"

然而,就我而言,我的 terraform 脚本中没有定义资源 ID,因为它们是由 openAPI 规范创建的。

是否有某种方法可以提取作为 terraform 数据源创建的 api 网关的所有资源,以便我可以引用它们? 不知道我是否在这里遗漏了一些重要的东西。

【问题讨论】:

【参考方案1】:

似乎最好的方法是使用 swagger 扩展 https://swagger.io/docs/specification/openapi-extensions/

API 资源的集成部分可以驻留在您的 Swagger 规范中。

就像在 aws API Gateway 扩展中提到的那样招摇https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions.html

因此,例如,如果您想将资源映射到步进函数,您可以这样做:

      x-amazon-apigateway-integration:
    credentials: "arn:aws:iam::my_account:role/ApiGWToStepFunction"
    responses:
      default:
        statusCode: "201"
    uri: "arn:aws:apigateway:my_zone:states:action/StartExecution"
    passthroughBehavior: "when_no_templates"
    httpMethod: "POST"
    type: "aws"

我还没说完,但我认为应该是arn:aws:apigateway:my_zone:states:action/StartExecution 而不是arn:aws:apigateway:my_zone:states:your_step_function_name

【讨论】:

以上是关于曼云古籍OpenAPI:识别API的主要内容,如果未能解决你的问题,请参考以下文章

API 入门 (27) 使用 OpenAPI 描述 REST API——资源和操作

API的认证方法(OpenAPI标准解析 - 1)

转载跟我一起云计算——openAPI

terraform api 网关与 openapi 规范的集成

json 用于Intrinio API的OpenAPI

json ParallelDots AI API OpenAPI