更新时间:2023-11-21 GMT+08:00
搜索数据示例
本章节对搜索数据AK/SK方式使用SDK进行示例说明。
搜索示例代码只需将AK/SK信息替换为实际AK/SK,代码中可以使用初始化SearchParam中的image_url、search_type、custom_tags、keywords、optional_params配置服务的输入参数,其中optionl_params为服务可选输入参数,配置完成后运行即可。
- 搜索数据调用示例代码如下:
# 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 = RunSearchRequest() request.service_name = "service_name" optionalParamsbody = SearchOptionalParam( do_det=True, box="135,489,1117,1341", do_cls=True ) listCustomTagsCustomTags = [ "value1", "value2", "value3" ] listCustomTagsbody = { "key": listCustomTagsCustomTags } request.body = SearchParam( optional_params=optionalParamsbody, # 替换为公网可以访问的图片地址 image_url="https://bucketname.obs.cn-north-4.myhuaweicloud.com/image/test1.jpg ", custom_tags=listCustomTagsbody, offset=0, limit=30, search_type="CATEGORY" ) response = client.run_search(request) print(response) except exceptions.ClientRequestException as e: print(e.status_code) print(e.request_id) print(e.error_code) print(e.error_msg)
- 执行示例代码文件,控制台输出搜索数据结果即表示程序执行成功。
{ "result": "success", "data": { "items": [ { "id": "item_id", "score": 1.0, "source": { "custom_tags": { "key": "value" } } } ], "search_info": { "total_num": 1, "return_num": 1, "search_time": 969 }, "image_info": { "box": "135,489,1117,1341", "category": 0, "category_name": "others", "objects": [ { "box": "135,489,1117,1341", "category": 0, "category_name": "others" } ] } } }
父主题: 使用SDK(Python)