使用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)