更新时间:2023-11-21 GMT+08:00
分享

添加数据示例

本章节对添加数据AK/SK方式使用SDK进行示例说明。

添加数据示例代码只需将AK/SK信息替换为实际AK/SK,代码中可以使用初始化AddDataParam类中的image_url、custom_num_tags、custom_tags、desc、item_id、force配置服务输入参数,配置完成后运行即可。

  1. 添加数据调用示例代码如下:
    # coding: utf-8
    
    from huaweicloudsdkcore.auth.credentials import BasicCredentials
    from huaweicloudsdkcore.region.region import Region as coreRegion
    from huaweicloudsdkcore.exceptions import exceptions
    from huaweicloudsdkimagesearch.v2 import *
    
    if __name__ == "__main__":
        # 认证用的ak和sk硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全;
        # 本示例以ak和sk保存在环境变量中来实现身份验证为例,运行本示例前请先在本地环境中设置环境变量HUAWEICLOUD_SDK_AK和HUAWEICLOUD_SDK_SK。
        ak = os.getenv("HUAWEICLOUD_SDK_AK")
        sk = os.getenv("HUAWEICLOUD_SDK_SK")
        iamEndpoint = "https://iam.cn-north-4.myhuaweicloud.com"
        endpoint = "https://mms.cn-north-4.myhuaweicloud.com"
        projectId = "project_id"
    
        credentials = BasicCredentials(ak, sk, projectId) \
                .with_iam_endpoint(iamEndpoint)
    	
        # 初始化客户端
        client = ImageSearchClient.new_builder() \
            .with_credentials(credentials) \
            # 设置region, 示例中为北京四
            .with_region(coreRegion(id="cn-north-4", endpoint=endpoint)) \
            .build()
    
        try:
            request = RunAddDataRequest()
            request.service_name = "service_name"
            listCustomNumTagsbody = {
                "key": 1
            }
            listCustomTagsbody = {
                "key": "value"
            }
            request.body = AddDataParam(
                # 替换为公网可以访问的图片地址
                image_url="https://bucketname.obs.cn-north-4.myhuaweicloud.com/image/test1.jpg",
                custom_num_tags=listCustomNumTagsbody,
                custom_tags=listCustomTagsbody,
                item_id="item_id"
            )
            response = client.run_add_data(request)
            print(response)
        except exceptions.ClientRequestException as e:
            print(e.status_code)
            print(e.request_id)
            print(e.error_code)
            print(e.error_msg)
  2. 执行示例代码,控制台输出添加数据结果即表示程序执行成功。
    {
        "result": "success",
        "data": {
            "image_info": {
                "objects": [
                    {
                        "box": "135,489,1117,1341",
                        "category": 1,
                        "category_name": "top"
                    }
                ]
            }
        }
    }

相关文档