使用python,基于aksk,调用推理服务
【摘要】 使用python,基于aksk,调用推理服务
如果输入数据是json字符串
请直接参考
https://support.huaweicloud.com/devg-apig/apig-dev-180307016.html
如果输入的数据是一张图片,下面的例子程序假设图片保存在image/rose1.jpg中
首先从下面链接下载apig sdk
https://obs.cn-north-1.myhuaweicloud.com/apig-sdk/ApiGateway-python-sdk.zip
解压后对于main.py进行如下修改
修改后的全量代码如下
# coding=utf-8
import requests
from apig_sdk import signer
if __name__ == '__main__':
sig = signer.Signer()
sig.Key = "<YOUR-AK>"
sig.Secret = "<YOUR-SK>"
data_type = 'images'
input_img_path = 'image/rose1.jpg'
predict_file = {data_type: open(input_img_path, 'rb')}
predict_body, content_type = requests.models.RequestEncodingMixin._encode_files(predict_file, {})
predict_file[data_type].close()
r = signer.HttpRequest("POST",
"<YOUR-INFER-URL>",
{"x-stage": "RELEASE", 'content-type': content_type},
predict_body)
sig.Sign(r)
print(r.headers["X-Sdk-Date"])
print(r.headers["Authorization"])
resp = requests.request(r.method, r.scheme + "://" + r.host + r.uri, headers=r.headers, data=r.body, verify=False)
print(resp.status_code, resp.reason)
print(resp.content)
对于apig_sdk目录下面的signer.py进行如下修改
if sys.version_info.major >= 3 and isinstance(body, str):
self.body = body.encode("utf-8")
else:
self.body = body
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)