云服务器内容精选

  • 请求示例 “endpoint”即调用API的请求地址,不同服务不同区域的“endpoint”不同,具体请参见终端节点。 例如,服务部署在“华北-北京四”区域的“endpoint”为“image.cn-north-4.myhuaweicloud.com”,请求URL为“https://image.cn-north-4.myhuaweicloud.com/v2/{project_id}}/image/main-object-detection”,“project_id”为项目ID,获取方法请参见获取项目ID和名称。 方式一:使用图片的BASE64编码,判断图片主体并返回主体坐标,置信度的阈值为30。 POST https://{endpoint}/v3/{project_id}image/main-object-detection { "image" : "/9j/4AAQSkZJRgABAgEASABIAAD/4RFZRXhpZgAATU0AKgAAAAgABwESAAMAAAABAAEAAAEaAAUAAAABAAAAYgEbAA...", "url" : "", "threshold" : 30 } 方式二:使用图片URL,判断图片主体并返回主体坐标,置信度的阈值为30。 POST https://{endpoint}/v3/{project_id}image/main-object-detection { "image" : "", "url" : "https://BucketName.obs.myhuaweicloud.com/ObjectName", "threshold" : 30 }
  • 响应示例 状态码: 200 成功响应结果 { "result" : [ { "label" : "bounding_box", "location" : { "height" : 133.32, "top_left_x" : 53.13, "top_left_y" : 254.21, "width" : 117.58 }, "confidence" : "92.38" }, { "label" : "main_object_box", "location" : { "height" : 261.32, "top_left_x" : 256.13, "top_left_y" : 85.21, "width" : 139.58 }, "confidence" : "66.38" } ] } 状态码: 400 失败响应结果 { "error_code" : "AIS.0005", "error_msg" : "The service does not exist." }
  • 响应参数 状态码: 200 表4 result 参数 参数类型 描述 result Array of ImageMainObjectDetectionInstance objects 主体列表集合。 表5 ImageMainObjectDetectionInstance 参数 参数类型 描述 label String 主体的类别,现阶段分为:main_object_box(主要主体)和bounding_box(边缘主体)。 location location object 目标检测框位置信息,包括4个值: width:检测框区域宽度 height:检测框区域高度 top_left_x:检测框左上角到垂直轴距离 top_left_y:检测框左上角到水平轴距离 confidence String 主体框的置信度。将Float型置信度转为String类型返回,Float取值范围(0~100)。 状态码: 400 表6 响应Body参数 参数 参数类型 描述 error_code String 调用失败时的错误码,具体请参见错误码。 调用成功时无此字段。 error_msg String 调用失败时的错误信息。 调用成功时无此字段。
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 用于获取操作API的权限。获取方法请参见获取Token接口,响应消息头中X-Subject-Token的值即为Token。 表3 请求Body参数 参数 是否必选 参数类型 描述 image 否 String 与url二选一 图像数据,base64编码,要求base64编码后大小不超过10M,最短边至少1px,最长边最大10000px,支持JPEG/PNG/BMP/WEBP格式。 url 否 String 与image二选一 图片的URL路径,目前支持: 公网HTTP/HTTPS URL 华为云OBS提供的URL,使用OBS数据需要进行授权。包括对服务授权、临时授权、匿名公开授权。详情参见配置OBS服务的访问权限。 说明: 接口响应时间依赖于图片的下载时间,如果图片下载时间过长,会返回接口调用失败。 请保证被检测图片所在的存储服务稳定可靠,建议您使用华为云OBS存储。 threshold 否 Float 置信度的阈值(0~100),低于此置信数的检测结果,将不会返回。 默认值:30,最小值:0,最大值:100。
  • 步骤五:调用服务 新建请求,请求方式为修改"POST",按要求填写URL。 例如服务部署在“华北-北京四”请求URL为https://image.cn-north-4.myhuaweicloud.com/v2.0/image/tagging 选中“Headers”配置项,复制Token值到“X-Auth-Token”。 登录我的凭证,查询隶属于“华北-北京四”的项目ID,替换URI中的{project_id} 单击“Body”配置项,将获取的图片的base64编码填写到“image”参数中。关于body体中其他参数说明,请参考图像标签API。 图2 修改参数 单击右上角“Send”按钮发送请求,查看识别结果。
  • 开通服务 进入图像识别官网主页,单击“立即使用”,进入图像识别服务管理控制台。 单击左侧导航栏的“服务列表”,在“服务列表”页面,选择您想要使用的服务,单击“开通”按钮后即可开通本服务。 服务开通成功后,状态列将显示为“已开通”(此时的计费方式默认采用按需计费)。 如果您想使用购买套餐包的计费方式使用本服务,单击“购买套餐包”列的“购买”按钮,会跳转到对应的购买页面,购买完成后使用即可。 如果您需要对OBS中的数据进行图像识别,请开启“对象存储服务OBS授权”按钮。 图1 服务列表 主体识别当前仅支持按需计费的方式。 lmage不支持跨区域私有权限的OBS,OBS的区域需要和服务保持一致。 OBS授权需要使用IAM主账号进行授权,不支持使用子账号进行授权。
  • 操作步骤 登录API Explorer。 登录后,“X-Auth-Token”和“project_id”参数会自动填充,无需填写。 填写待检测图片数据。 输入数据可选image或url,本示例使用url,例如https://support.huaweicloud.com/productdesc-image/zh-cn_image_0000001382844041.jpg。 单击“调试”按钮,获取识别结果。
  • 准备数据 服务不同功能部署的区域,数据格式和调用并发数有相应的约束限制,需要您在使用服务前参考约束准备好待识别的数据。 服务功能的使用约束请参见约束与限制。 例如媒资图像标签,输入数据存在以下约束: 支持“华北-北京四”区域。 支持识别处理PNG、JPEG、BMP、WEBP格式的图片。 图像各边的像素大小在1px至10000px之间。 图片base64编码后大小不超过10MB(原图像大小不超过7.5MB)。 默认API调用最大并发为10,更高并发需要,请提交工单联系专业工程师为您服务。 服务所支持的区域是指服务部署在该区域下的服务器,用户所在地区与服务部署区域不一致也是可以开通和使用本服务的。有如下两种情况: 如果请求输入的数据是OBS地址方式,就需要使用相同区域的图像识别服务。 例如:您的OBS请求数据在“华北-北京四”,只能调用“华北-北京四”区域下的图像识别服务,如果本服务不支持该区域则不能调用。 如果请求输入的数据是Base64图片或者公网URL,则不受区域影响。 例如:您的服务器在“华东-上海一”可以调用“华北-北京四”的图像识别服务接口。
  • 服务使用流程 图像识别(Image Recognition),是指利用计算机对图像进行分析和理解,以识别各种不同模式的目标和对象的技术,用户通过实时访问和调用API获取推理结果,帮助用户自动采集关键数据,打造智能化业务系统,提升业务效率。 使用本服务的操作流程如下所示: 图1 使用流程 表1 使用流程说明 流程 子任务 说明 详细指导 开通服务 注册华为账号并实名认证 使用图像识别服务之前,您需要注册华为账号并进行实名认证。 注册华为账号 开通服务步骤说明 需要您按照步骤操作说明来申请开通服务。 开通服务 准备数据 数据要求 数据格式和调用并发数有相应的约束限制,需要您在使用服务前参考约束准备好待识别的图像。 准备数据 调用API或SDK 在线调试 以媒资图像标签为例,介绍如何使用API Explorer调试API。 在线调试 本地调用 介绍使用Image SDK在本地进行开发,用户直接调用接口函数即可使用SDK功能。 本地调用 查看调用次数 调用结果统计 开始使用服务后,可以在管理控制台上查看服务使用详情和调用次数统计。 查看调用次数
  • 申请服务 图像标签、名人识别、主体识别、翻拍识别等服务功能的开通,您可以按照如下步骤操作申请开通本服务。 其余服务功能目前处于邀测状态,需要您通过提交工单的方式,联系专业工程师为您服务后台开通邀测白名单。 申请服务前,必须先申请华为账号,并完成实名认证。 服务只需要开通一次即可,后面使用时无需再申请。 进入图像识别官网主页,单击“立即使用”,进入图像识别服务管理控制台。 单击左侧导航栏的“服务列表”,在“服务列表”页面,选择您想要使用的服务,单击“开通”按钮后即可开通本服务。 服务开通成功后,状态列将显示为“已开通”(此时的计费方式默认采用按需计费)。 如果您想使用购买套餐包的计费方式使用本服务,单击“购买套餐包”列的“购买”按钮,会跳转到对应的购买页面,购买完成后使用即可。 如果您需要对OBS中的数据进行图像识别,请开启“对象存储服务OBS授权”按钮。 服务不支持跨区域私有权限的OBS,OBS的区域需要和服务保持一致。 图1 服务列表 父主题: 如何调用API
  • 从控制台获取项目ID和名称 从控制台获取项目ID(project_id)和名称(project name)的步骤如下: 注册并登录管理控制台。 在页面右上角单击用户名,然后在下拉列表中单击“我的凭证”,进入“我的凭证”页面。 如果您登录的是华为云官网,而非管理控制台。在单击用户名后,选择下拉列表中的“账号中心”,然后单击“管理我的凭证”进入“我的凭证”页面。 在“API凭证”页面的项目列表中查看项目ID和名称(即“项目”)。 图1 查看项目ID 多项目时,展开“所属区域”,从“项目ID”列获取子项目ID。
  • 调用API获取项目ID 项目ID通过调用查询指定条件下的项目信息API获取。 获取项目ID的接口为GET https://{iam-endpoint}/v3/projects,其中{iam-endpoint}为IAM的终端节点,可以从地区和终端节点处获取。 响应示例如下,例如ModelArts部署的区域为"cn-north-4",响应消息体中查找“name”为"cn-north-4",其中projects下的“id”即为项目ID。 { "projects": [{ "domain_id": "65382450e8f64ac0870cd180d14e684b", "is_domain": false, "parent_id": "65382450e8f64ac0870cd180d14e684b", "name": "cn-north-4", "description": "", "links": { "next": null, "previous": null, "self": "https://www.example.com/v3/projects/a4a5d4098fb4474fa22cd05f897d6b99" }, "id": "a4a5d4098fb4474fa22cd05f897d6b99", "enabled": true }], "links": { "next": null, "previous": null, "self": "https://www.example.com/v3/projects" } }
  • 错误码说明 调用接口出错后,将不会返回结果数据。调用方可根据每个接口对应的错误码来定位错误原因。 返回的消息体中是具体的错误代码及错误信息。在调用方找不到错误原因时,可以联系华为云客服,并提供错误码,以便尽快帮您解决问题。 当您调用API时,如果遇到“APIGW”开头的错误码,请参见API网关错误码进行处理。 状态码 错误码 描述信息 说明 处理措施 400 AIS.0002 The authentication token is abnormal. 验证Token异常。 请检查Token是否正确。 400 AIS.0003 Failed to complete the request because of an internal service error. 服务内部错误。 请联系华为云支持人员,请提交工单联系专业工程师为您服务。 400 AIS.0004 The request is unauthorized. 无权限操作。 服务未开通,请先开通服务。服务开通请参见《图像识别快速入门》。 400 AIS.0007 The service has not been enabled yet. 服务未开通。 请开通服务。 400 AIS.0010 The header is missing or left empty. 缺少Header或者Header为空。 HTTP请求缺少必须的header信息,请检查是否有Content-type等必须字段 400 AIS.0011 The request parameter is missing or left empty. 缺少请求参数或者参数为空。 请检查请求body是否缺少必须字段,请参考对应API的请求说明。 400 AIS.0012 The request parameter is not supported. 请求参数不支持。 请检查请求中的字段不合法,请参考对应API的请求说明。 400 AIS.0013 The request method is not allowed. 请求方法不允许。 请检查请求方法。 400 AIS.0014 The JSON format of the input data is incorrect. 输入数据JSON格式错误。 请检查输入数据的JSON格式。 400 AIS.0015 Base64 decoding of the input data is incorrect. 输入数据BASE64解码错误。 图片的Base64编码错误,请检查Base64内容 400 AIS.0020 The size of the request body exceeds the upper limit. 请求体大小超过限制。 请检查请求体大小。 400 AIS.0021 The requested file type is not supported. 请求的文件类型不支持。 请检查请求的文件类型。 400 AIS.0022 The URL is invalid. URL不合法。 请检查输入的url格式。 400 AIS.0023 The file stored on OBS is oversized. 存储在OBS上的文件过大。 检查图片格式是否是服务支持的格式。具体请参见《图像识别使用限制》。 400 AIS.0024 Failed to obtain the file from OBS. The signature has expired or fails to pass the authentication. 从OBS上获取文件失败。原因可能为签名过期或签名验证未通过等。 原因可能为签名过期或签名验证未通过等。 400 AIS.0025 The file stored on OBS is empty. 存储在OBS上的文件为空。 请先上传文件到OBS上。 400 AIS.0026 The token type is incorrect. The token of the project type must be used. token类型错误,应使用project类型的token。 应使用project类型的token。 400 AIS.0027 The account has been frozen. 此账户已被冻结。 请检查是否账户是否欠费。 400 AIS.0028 The job is not owned by the current user. 此任务不属于当前用户。 请检查当前账户。 400 AIS.0029 Failed to download the file from the Internet. Check whether the URL of the file is correct and supported. 从外网下载文件失败。检查文件url是否正确以及是否在支持的范围内。 检查文件url是否正确以及是否在支持的范围内。 400 AIS.0030 Failed to find the job. The job has expired or the passed job_id is incorrect. Check whether job_id is correct. 任务未找到。任务已过期被清理了或者传入的job id错误,检查job id是否正确。 任务已过期被清理了或者传入的job id错误。请检查job id是否正确 400 AIS.0031 The maximum number of uncompleted jobs has been reached. The submission of new jobs has been suspended. 未处理完的任务总数达到限制。暂停提交新任务。 暂停提交新任务。 400 AIS.0032 The monthly free calls have been used up. To continue to use the service, top up your account. 月免费调用量已使用完。如需继续使用给关联的华为云账户充值即可。 如需继续使用给关联的华为云账户充值即可。 400 AIS.0201 An exception occurred during the process of obtaining the input image. 获取输入图像异常。 请检查输入图像,重新获取。 400 AIS.0202 The image format is not supported. 图片格式不支持。 检查图片格式是否是服务支持的格式。 400 AIS.0203 The input parameter does not meet the requirements. 输入参数不符合规范。 请重新检查输入的参数。 400 AIS.0204 The color depth is not supported. 图片位深不支持。 请重新检查。 400 AIS.0205 The resolution of the image exceeds the upper limit. 图片分辨率超限。 检查图片格式是否是服务支持的格式。 400 AIS.0206 Algorithm calculation failed. 算法计算失败。 请重新检查。如需帮助请联系华为云支持人员,请通过工单联系我们。 400 AIS.0501 The input parameter is invalid. 输入参数不合法。 请重新检查输入的参数。 400 AIS.0502 The image format is not supported. 图像格式不支持。 检查图片格式是否是服务支持的格式。具体请参见《图像识别使用限制》。 400 AIS.0503 The image is damaged. 图像受损。 检查图像是否受损,然后重新上传符合要求的图片文件。 400 AIS.0504 The image size does not meet requirements. 图像大小不符合要求。 检查图像大小是否符合要求。 图片base64编码,要求base64编码后大小不超过10M,最短边至少15px,最长边最大4096px,支持JPEG/PNG/BMP/WEBP格式。 400 AIS.0505 Failed to run the algorithm. 算法运行失败。 请重新检查,如需帮助请联系华为云支持人员,请通过工单联系我们。 400 AIS.0506 An internal error occurred. 出现内部错误。 请联系华为云支持人员,请通过工单联系技术支持人员。 400 APIG.0101 The API does not exist or has not been published. 您所访问的API不存在或尚未在环境中发布。 请检查输入的api信息是否正确,是否该服务存在在对应区域中。检查API的URL是否拼写正确,HTTP请求方法(POST,GET等)是否正确,请检查服务调用配置的域名和uri信息是否正确,域名可参考域名。 400 APIG.0301 1. Incorrect IAM authentication information: Failed to decrypt the token. Check whether the entered token is complete. 2. The validity period of a token is 24 hours. If the token expires, obtain a new token and pass it. 3. The AK/SK authentication fails. Check whether the AK/SK is correct and whether the account is restricted due to arrears. 1.IAM身份验证信息不正确:解密令牌失败,检查输入的token是否完整。 2.token有效期为24小时,token超时,重新传入获取token值。 3.因为AK/SK认证失败,请检查AK/SK是否正确,账号是否因欠费等原因权限被限制。 decrypt token fail:发送的HTTP请求header中x-auth-token的token请求认证信息错误,请检查发送的请求和token。 token expires:token超时,请重新获取新token传入。 verify aksk signature fail:请检查AK、SK是否正确,账号是否欠费。 400 APIG.0201 The request body is oversized. 请求体过大。 请检查请求的body体是否过大,具体请参见《图像识别使用限制》,进行调整。 400 APIG.0308 The request is sent too fast and exceeds the default rate limit of the service. 请求发送太快,超过了服务的默认配置限流。 请求发送太快,达到了API的限速阈值,请降低请求速度。如有更高请求速度要求,请联系华为云支持人员,请通过工单联系我们。 400 ModelArts.0203 Invalid token. 非法Token。 请检查Token是否正确。 400 ModelArts.4101 The token is empty. Token为空。 发送的HTTP请求header中没有带x-auth-token的token请求认证信息,请检查发送的请求。 400 ModelArts.4102 Failed to parse the token. 解析Token失败。 发送的HTTP请求header中x-auth-token的token请求认证信息错误,请检查发送的请求和token。 400 ModelArts.4103 The token is invalid. Token不合法。 发送的HTTP请求header中x-auth-token的token请求认证信息错误,请检查发送的请求和token。 400 ModelArts.4104 The length of the request body is invalid. 请求body体长度不合法。 请检查请求body体长度。 400 ModelArts.4105 The JSON format of the request body is incorrect. 请求body体json格式不对。 请检查请求body体是否符合json格式。 400 ModelArts.4106 The account is restricted. 用户账号受限。 请检查用户资源状态,账号受限原因请参考账号中心相关描述。 400 ModelArts.4107 An exception occurred when obtaining the temporary AK/SK. 获取用户临时AK,SK异常。 请联系华为云支持人员,通过工单联系我们。 400 ModelArts.4201 The request URL does not contain the service ID. 请求url中需要包含服务ID。 请检查请求url中的服务ID。 400 ModelArts.4202 The request URL format is invalid. 请求url格式不合法。 请检查请求url格式。 400 ModelArts.4203 No access permission. 没有权限访问。 请检查访问权限。 400 ModelArts.4204 The API is not subscribed to. 没有订阅该API。 请订阅该API,订阅API请参考服务介绍开通申请服务。如已开通服务,请检查开通服务的区域与服务调用的一致,若一致请检查API的URL是否拼写正确,HTTP请求方法(POST,GET等)是否正确。 400 ModelArts.4601 The external URL is invalid. 外网下载地址不合法。 请检查输入的url下载地址参数格式。 400 ModelArts.4603 The file failed to be downloaded from the external URL. 下载外网URL文件失败。 请检查输入的url是否可下载。 400 ModelArts.4702 The OBS agency failed to be queried. 查询OBS委托失败。 请检查是否已开通给服务的OBS委托。 400 ModelArts.4703 The OBS URL is invalid. OBS地址不合法。 请检查输入的OBS的url地址。 400 ModelArts.4704 Failed to obtain the OBS file. 获取OBS文件失败。 下载OBS文件失败,请检查对应的文件是否存在。 400 ModelArts.4705 The OBS file is oversized. OBS文件大小超限。 请使用符合服务大小限制的文件作为输入,具体请参见《图像识别使用限制》。 400 ModelArts.4706 The OBS file does not exist. OBS文件不存在。 下载OBS文件失败,请检查对应的文件是否存在。 403 AIP.0001 The authentication token is abnormal. token鉴权异常。 检查token。 500 AIP.0500 Failed to complete the request because of an internal service error. 服务内部错误。 请联系华为云支持人员,通过工单联系我们。 401 AIP.0003 The request is unauthorized. 请求未经授权。 检查请求URL中的项目ID。 400 AIP.0004 The service does not exist. 服务不存在。 检查服务名或者服务版本是否正确。 400 AIP.0005 Lack Header or Header %s is empty. header缺失或者header为空。 检查header。 400 AIP.0006 Lack the request parameter, or the request parameter %s is empty. 请求参数缺失或者请求参数为空。 检查是否缺少必选参数。 400 AIP.0007 The request parameter %s is incorrect. 请求参数不正确。 检查服务允许的请求参数。 405 AIP.0008 The request method %s is not allowed, allow is %s. 请求方法不允许。 检查服务允许的请求方法。 400 AIP.0009 The JSON format of the input data is incorrect. 输入数据的json格式不正确。 检查输入数据的json格式。 400 AIP.0010 The param:%s, val:%s , exceeds the range:[%s,%s]. 参数超出范围。 检查参数正确范围。 400 AIP.0011 Service of %s has been subscribed. 服务已订阅。 请勿重复订阅服务。 400 AIP.0012 The input parameter is incorrect. 输入参数错误。 检查服务输入参数是否正确。 400 AIP.0013 Lack the parameter %s, or the parameter is incorrect. 订阅参数缺失或参数不正确。 检查服务输入参数是否正确。 400 AIP.0014 %s already exists. 数据已存在。 检查已存在的数据。 400 AIP.0015 Service of %s hasn't been subscribed. 服务未订阅。 请先订阅该服务。 400 AIP.0016 The request parameter is wrong, %s 请求参数错误。 检查服务允许的请求参数。 400 AIP.0017 The task id %s not exist. 任务ID不存在。 检查任务ID是否正确或者已经过期。 400 AIP.0018 Unable to get agency. 获取委托失败。 检查服务是否开启委托。 400 AIP.0019 Multi input is not supported in current service: [%s], version: [%s]. 当前服务版本不支持多输入。 检查服务是否支持多输入。 400 其他 如若出现其他无法解决的错误码,请通过工单联系我们。
  • AK/SK认证 AK/SK签名认证、Token认证方式仅支持消息体大小12M以内的请求使用。 AK/SK认证就是使用AK/SK对请求进行签名,在请求时将签名信息添加到消息头,从而通过身份认证。 AK(Access Key ID):访问密钥ID。与私有访问密钥关联的唯一标识符;访问密钥ID和私有访问密钥一起使用,对请求进行加密签名。 SK(Secret Access Key):与访问密钥ID结合使用的密钥,对请求进行加密签名,可标识发送方,并防止请求被修改。 使用AK/SK认证时,您可以基于签名算法使用AK/SK对请求进行签名,也可以使用专门的签名SDK对请求进行签名。详细的签名方法和SDK使用方法请参见API签名指南。 签名SDK只提供签名功能,与服务提供的SDK不同,使用时请注意。 AK/SK获取方式请参考获取AK/SK。
  • Token认证 Token的有效期为24小时,需要使用一个Token鉴权时,可以先缓存起来,避免频繁调用。 Token在计算机系统中代表令牌(临时)的意思,拥有Token就代表拥有某种权限。Token认证就是在调用API的时候将Token加到请求消息头,从而通过身份认证,获得操作API的权限。 Token可通过调用获取用户Token接口获取,调用本服务API需要project级别的Token,即调用获取用户Token接口时,请求body中auth.scope的取值需要选择project,如下所示。 username、domainname 的获取请参考获取账号名和账号ID。password为用户密码。 { "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "name": "username", //IAM用户名 "password": "********", //密码 "domain": { "name": "domainname" //IAM用户所属账号名 } } } }, "scope": { "project": { "name": "xxxxxxxx" } } } } 获取Token后,再调用其他接口时,您需要在请求消息头中添加“X-Auth-Token”,其值即为Token。例如Token值为“ABCDEFJ....”,则调用接口时将“X-Auth-Token: ABCDEFJ....”加到请求消息头即可,如下所示。 GET https://iam.cn-north-1.myhuaweicloud.com/v3/auth/projects Content-Type: application/json X-Auth-Token: ABCDEFJ.... 您还可以通过这个视频教程了解如何使用Token认证:https://bbs.huaweicloud.com/videos/101333 。