华为云用户手册

  • 示例代码 根据ID查询数据集中样本的详细信息 from modelarts.session import Sessionfrom modelarts.dataset import Datasetsession = Session()dataset = Dataset(session, dataset_id)sample_info = dataset.get_sample_info(sample_id="2551e78974aed9b60156d8376232f6bd")print(sample_info) # 打印样本的详细信息
  • 示例代码 在ModelArts notebook平台,Session鉴权无需输入鉴权参数。其它平台的Session鉴权请参见Session鉴权。 方式1:根据部署在线服务生成的服务对象进行查询服务日志 1234567 from modelarts.session import Sessionfrom modelarts.model import Predictorsession = Session()predictor_instance = Predictor(session, service_id="your_service_id")predictor_log = predictor_instance.get_service_logs() print(predictor_log) 方式2:根据查询服务对象列表返回的服务对象进行查询服务日志 12345678 from modelarts.session import Sessionfrom modelarts.model import Predictorsession = Session()predictor_object_list = Predictor.get_service_object_list(session)predictor_instance = predictor_object_list[0] predictor_log = predictor_instance.get_service_logs()print(predictor_log)
  • 示例代码 在ModelArts Notebook平台,Session鉴权无需输入鉴权参数。其它平台的Session鉴权请参考Session鉴权。 123 from modelarts.session import Sessionsession = Session()session.obs.download_file(src_obs_file="obs://bucket-name/dir1/file1.txt", dst_local_dir="/home/ma-user/")
  • 示例代码 在ModelArts notebook平台,Session鉴权无需输入鉴权参数。其它平台的Session鉴权请参见Session鉴权。 方式1:根据部署在线服务生成的服务对象进行服务详情查询 1234567 from modelarts.session import Sessionfrom modelarts.model import Predictorsession = Session()predictor_instance = Predictor(session, service_id="your_service_id")predictor_info = predictor_instance.get_service_info()print(predictor_info) 方式2:根据查询服务对象列表返回的服务对象进行服务详情查询 12345678 from modelarts.session import Sessionfrom modelarts.model import Predictorsession = Session()predictor_object_list = Predictor.get_service_object_list(session)predictor_instance = predictor_object_list[0] predictor_info = predictor_instance.get_service_info()print(predictor_info)
  • 示例代码 在ModelArts notebook平台,Session鉴权无需输入鉴权参数。其它平台的Session鉴权请参见Session鉴权。 方式1:根据部署在线服务生成的服务对象删除服务 123456 from modelarts.session import Sessionfrom modelarts.model import Predictorsession = Session()predictor_instance = Predictor(session, service_id="your_service_id")predictor_instance.delete_service() 方式2:根据查询服务对象列表返回的服务对象删除服务 1234567 from modelarts.session import Sessionfrom modelarts.model import Predictorsession = Session()predictor_object_list = Predictor.get_service_object_list(session)predictor_instance = predictor_object_list[0] predictor_instance.delete_service()
  • 示例代码 在ModelArts notebook平台,Session鉴权无需输入鉴权参数。其它平台的Session鉴权请参见Session鉴权。 场景1:查询当前用户所有服务 123456 from modelarts.session import Session from modelarts.model import Predictor session = Session() predictor_list = Predictor.get_service_list(session)print(predictor_list) 场景2:按照检索条件查询当前用户服务 123456 from modelarts.session import Session from modelarts.model import Predictor session = Session()predictor_list = Predictor.get_service_list(session, service_name="digit", order="asc", offset="0", infer_type="real-time")print(predictor_list)
  • 参数说明 表1 查询检索参数说明 参数 是否必选 参数类型 描述 session 是 Object 会话对象,初始化方法见Session鉴权。 service_id 否 String 服务ID,默认不过滤服务ID。 service_name 否 String 服务名称,默认不过滤服务名。 infer_type 否 String 推理方式,取值为:real-time/batch/edge,默认不过滤推理方式。 offset 否 Integer 分页列表的起始页,默认为:“0”。 limit 否 Integer 指定每一页返回的最大条目数,默认为:“1000”。 service_status 否 String 服务状态,默认不过滤服务状态。可根据服务状态查询,取值如下。 running:运行中,服务正常运行,正在计费。 deploying:部署中,服务正在部署,调度资源部署等。 concerning:告警,后端实例异常,可能正在计费。例如多实例的情况下,有的实例正常,有的实例异常。正常的实例会产生费用,此时服务状态是concerning。 failed:失败,服务部署失败,失败原因可以查看事件和日志标签。 stopped:停止。 finished:只有批量服务会有这个状态,表示运行完成。 sort_by 否 String 指定排序字段,可选“publish_at”、“service_name”,默认可选“publish_at”。 order 否 String 排序方式,可选“asc”或“desc”,代表递增排序及递减排序,默认为:“desc”。 model_id 否 String 模型ID,默认不过滤模型ID。
  • 示例代码 在ModelArts notebook平台,Session鉴权无需输入鉴权参数。其它平台的Session鉴权请参见Session鉴权。 场景:部署在线服务Predictor的推理预测 1234567 from modelarts.session import Sessionfrom modelarts.model import Predictorsession = Session()predictor_instance = Predictor(session, service_id="your_service_id")predict_result = predictor_instance.predict(data=data_path, data_type=data_type)print(predict_result)
  • 参数说明 表1 参数说明 参数 是否必选 参数类型 描述 data_type 是 String 当前支持三种格式:files、images、json, 即文本、图片、json格式。 data 是 String 针对files、images类型的数据, 该参数为其本地路径,如 : data = "/home/ma-user/work/test.jpg" 针对json类型的数据, 该参数可以是其本地路径,如: data = "/home/ma-user/work/test.json" 同时也可以为“dict”类型的变量 ,如: data = { "is_training": "False", "observations": [[1,2,3,4]], "default_policy/eps:0" : "0.0"} path 否 String 服务内的推理路径,默认为"/"。
  • 示例代码 在ModelArts Notebook平台,Session鉴权无需输入鉴权参数。其它平台的Session鉴权请参见Session鉴权。 123 from modelarts.session import Sessionsession = Session()session.obs.upload_file(src_local_file='/home/ma-user/file1.txt', dst_obs_dir='obs://bucket-name/dir1/')
  • 示例代码 在ModelArts notebook平台,Session鉴权无需输入鉴权参数。其它平台的Session鉴权请参见Session鉴权。 TensorFlow1.8本地推理示例代码 需要在环境中配置“tensorflow_model_server”,可调用SDK接口快速配置,请参考如下示例代码。 CPU环境,调用Model.configure_tf_infer_environ(device_type="CPU")完成配置,环境中只需配置运行一次。 GPU环境,调用Model.configure_tf_infer_environ(device_type="GPU")完成配置,环境中只需配置运行一次。 1 2 3 4 5 6 7 8 91011121314151617181920212223242526272829 from modelarts.session import Sessionfrom modelarts.model import Modelfrom modelarts.config.model_config import ServiceConfigsession = Session()# GPU环境推理配置Model.configure_tf_infer_environ(device_type="GPU") # CPU环境推理配置#Model.configure_tf_infer_environ(device_type="CPU") model_instance = Model( session, model_name="input_model_name", # 模型名称 model_version="1.0.0", # 模型版本 source_location=model_location, # 模型文件路径 model_type="MXNet", # 模型类型 model_algorithm="image_classification", # 模型算法 execution_code="OBS_PATH", input_params=input_params, # 参考input_params格式描述 output_params=output_params, # 参考output_params格式描述 dependencies=dependencies, # 参考dependencies格式描述 apis=apis)configs = [ServiceConfig(model_id=model_instance.get_model_id(), weight="100", instance_count=1, specification="local")]predictor_instance = model_instance.deploy_predictor(configs=configs)if predictor_instance is not None: predict_result = predictor_instance.predict(data="your_raw_data_or_data_path", data_type="your_data_type") # 本地推理预测,data支持raw data或者文件路径,data_type支持'json'、'files'或者'images' print(predict_result)
  • 参数说明 表1 部署predictor参数说明 参数 是否必选 参数类型 描述 description 否 String 服务描述,不超过100个字符,不设置此参数时,表示不更新。 status 否 String 服务状态,可设置状态为running或stopped来启动、停止服务,不设置此参数则不修改状态。status不可跟configs同时修改,同时存在则只修改status。 configs 否 包括predictor configs结构和transformer configs 服务配置,不设置此参数时,表示不更新。关于configs如何生成,请参见部署在线服务。 更新服务配置时,存在以下约束: 参数status指定的目标状态不允许和当前服务状态相同。 当前服务状态是deploying(部署中)、stopping(停止中)、deleting(删除中)时,不允许参数status设置成running(启动)或设置参数configs(服务配置)。 当前服务状态是waiting(排队中)时,不允许参数status设置成running(启动)。 当前服务状态是concerning(告警)时,不允许参数status设置成running(启动)。
  • 示例代码 在ModelArts notebook平台,Session鉴权无需输入鉴权参数;其它平台的Session鉴权请参考Session鉴权。 方式1:根据部署在线服务生成的服务对象进行更新服务配置 1 2 3 4 5 6 7 8 910 from modelarts.session import Sessionfrom modelarts.model import Predictorfrom modelarts.config.model_config import ServiceConfigsession = Session()predictor_instance = Predictor(session, service_id="your_service_id")configs = [ServiceConfig(weight="100", instance_count=1, specification="modelarts.vm.cpu.2u",model_id="your_model_id")]service_config = predictor_instance.update_service_config(description="description", status="running", configs=configs) 方式2:根据查询服务对象列表返回的服务对象进行更新服务配置 1 2 3 4 5 6 7 8 91011 from modelarts.session import Sessionfrom modelarts.model import Predictorfrom modelarts.config.model_config import ServiceConfigsession = Session()predictor_object_list = Predictor.get_service_object_list(session)predictor_instance = predictor_object_list[0] configs = [ServiceConfig(weight="100", instance_count=1, specification="modelarts.vm.cpu.2u",model_id="your_model_id")]predictor_config = predictor_instance.update_service_config(description="description", status="running", configs=configs)
  • 示例代码 在ModelArts Notebook平台,Session鉴权无需输入鉴权参数。其它平台的Session鉴权请参考Session鉴权。 123 from modelarts.session import Sessionsession = Session()session.obs.upload_dir(src_local_dir='/home/ma-user/', dst_obs_dir='obs://bucket-name/dir1/')
  • 参数说明 表1 请求参数说明 参数 是否必选 参数类型 描述 session 是 Object 会话对象。 src_local_dir 是 String 本地需要上传的文件夹路径。 当上传的文件夹下内容为空或者该文件夹下包含多个文件夹且有文件夹下内容有空时,OBS对应路径下不产生该空文件夹。 dst_obs_dir 是 String 上传的目标OBS桶地址,必须以“obs://”作为前缀,上传的目标文件夹后缀必须以“/”结尾。
  • 示例代码 在ModelArts notebook平台,Session鉴权无需输入鉴权参数。其它平台的Session鉴权请参见Session鉴权。 方式1:根据部署在线服务生成的服务对象进行查询服务监控 1234567 from modelarts.session import Sessionfrom modelarts.model import Predictorsession = Session()predictor_instance = Predictor(session, service_id="your_service_id")predictor_monitor = predictor_instance.get_service_monitor() print(predictor_monitor) 方式2:根据查询服务对象列表返回的服务对象进行查询服务监控 12345678 from modelarts.session import Sessionfrom modelarts.model import Predictorsession = Session()predictor_object_list = Predictor.get_service_object_list(session)predictor_instance = predictor_object_list[0] predictor_monitor = predictor_instance.get_service_monitor()print(predictor_monitor)
  • 示例代码 在ModelArts notebook平台,Session鉴权无需输入鉴权参数。其它平台的Session鉴权请参见Session鉴权。 场景1:查询当前用户所有服务对象 123456 from modelarts.session import Sessionfrom modelarts.model import Predictorsession = Session()predictor_list_object_resp = Predictor.get_service_object_list(session)print(predictor_list_object_resp) 场景2:按照检索条件查询当前用户服务对象 123456 from modelarts.session import Sessionfrom modelarts.model import Predictorsession = Session()predictor_object_list = Predictor.get_service_object_list(session, service_name="digit", order="asc", offset="0", infer_type="real-time")print(predictor_object_list)
  • 参数说明 查询服务列表,返回list,list大小等于当前用户所有已经部署的服务个数,list中每个元素都是Predictor对象,对象属性同本章初始化服务。 查询服务列表返回说明:service_list_resp = [service_instance1, service_instance2, service_instance3 ...],列表中元素“service_instance”对象即为服务管理章节描述的可调用服务接口。 支持按照检索参数查询服务列表,返回满足检索条件的服务list,检索参数如表1所示。 在查询列表时,返回list的同时,默认会打印模型列表的详细信息,如表2和表3所示。 表1 查询检索参数说明 参数 是否必选 参数类型 描述 session 是 Object 会话对象,初始化方法见Session鉴权。 is_show 否 Boolean 是否打印出服务对象信息,默认为“True”。 service_id 否 String 服务ID,默认不过滤服务ID。 service_name 否 String 服务名称,默认不过滤服务名。 infer_type 否 String 推理方式,取值为:real-time/batch/edge,默认不过滤推理方式。 offset 否 Integer 分页列表的起始页,默认为“0”。 limit 否 Integer 指定每一页返回的最大条目数,默认为“1000”。 sort_by 否 String 指定排序字段,可选“publish_at”、“service_name”,默认可选“publish_at”。 order 否 String 排序方式,可选“asc”或“desc”,代表递增排序及递减排序,默认为:“desc”。 model_id 否 String 模型ID,默认不过滤模型ID。
  • 示例代码 查询数据集导入任务的详情 from modelarts.session import Sessionfrom modelarts.dataset import Datasetsession = Session()dataset = Dataset(session, dataset_id)task_info = dataset.get_import_task_info(task_id="r4R52nJ4VJKcivuioCU")print(task_info) # 打印导入任务的详细信息
  • 响应消息 表2 响应参数 参数 参数类型 描述 errorCode string 响应错误码 SV CS TG.ATPS.2000:查询成功 errorMessage string 响应错误信息描述 responseInfo list(string) 应用名称列表。 响应示例 { "errorCode": "SVCSTG.ATPS.2000", "errorMessage":null, "responseInfo": ["11d5c9b83c1b2e04579fa5a34d191bb5"]}
  • 接口简介 APM 接口为开发者、合作伙伴提供了开放接口,协助快速、低成本地实现应用运维。 APM API符合RESTful API设计理论。REST从资源的角度观察整个网络,分布在各处的资源由URI(Uniform Resource Identifier)确定,客户端的应用通过URL(Unified Resource Locator)获取资源。 URL的格式为:https://Endpoint/uri。其中uri为资源路径,也即API访问的路径。 表1 URL中的参数说明 参数 描述 Endpoint URL中每个服务使用的Endpoint不同,APM的Endpoint具体请参见表2 APM的Endpoint。 uri 资源路径,也即API访问路径。从具体接口的URI模块获取,例如,获取查询服务列表接口的URI为“/v1/{project_id}/ats/applications”,{project_id}为工程路径参数,获取方式请参见示例。 表2 APM的Endpoint 服务名称 区 域名 称 区域 终端节点(Endpoint) 协议类型 APM 华北-北京一 cn-north-1 apm.cn-north-1.myhuaweicloud.com HTTPS 华南-广州 cn-south-1 apm.cn-south-1.myhuaweicloud.com HTTPS 华东-上海二 cn-east-2 apm.cn-east-2.myhuaweicloud.com HTTPS 中国-香港 ap-southeast-1 apm.ap-southeast-1.myhuaweicloud.com HTTPS
  • 调用接口步骤 发送“POST https:// IAM 的Endpoint/v3/auth/tokens”,获取IAM的Endpoint及消息体中的区域名称,请参考表1 IAM的Endpoint。 表1 IAM的Endpoint 服务名称 区域名称 区域 终端节点(Endpoint) 协议类型 IAM 华北-北京一 cn-north-1 iam.cn-north-1.myhuaweicloud.com HTTPS 华南-广州 cn-south-1 iam.cn-south-1.myhuaweicloud.com HTTPS 华东-上海二 cn-east-2 iam.cn-east-2.myhuaweicloud.com HTTPS 东北-大连 cn-northeast-1 iam.cn-northeast-1.myhuaweicloud.com HTTPS 所有 ALL iam.myhuaweicloud.com HTTPS 中国-香港 ap-southeast-1 iam.ap-southeast-1.myhuaweicloud.com HTTPS 请求内容示例如下: { "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "name": "username",//username为用户名,请根据实际情况替换。 "password": "password",//password为用户密码,请根据实际情况替换。 "domain": { "name": "domainname"//domainname为域名,请根据实际情况替换。 } } } }, "scope": { "project": { "name": "cn-north-1" //cn-north-1为IAM区域,请根据实际情况替换。 } } }} 获取Token 。请求响应成功后在响应消息头中包含的“X-Subject-Token”的值即为Token值。 调用业务接口,在请求消息头中增加“X-Auth-Token”,“X-Auth-Token”的取值为2中获取的Token。
  • 公共响应消息头 响应的消息报头在大多数情况下含有下面报头: 表1 公共响应消息头 名称 描述 示例 Date HTTP协议标准报头。表示消息发送的时间,时间的描述格式由rfc822定义。 Mon,12 Nov 2007 15:55:01 GMT Server HTTP协议标准报头。包含了服务器用来处理请求的软件信息。 Apache Content-Length HTTP协议标准报头。用于指明实体正文的长度,以字节方式存储的十进制数字来表示。 xxx Content-Type HTTP协议标准报头。用于指明发送给接收者的实体正文的媒体类型。 application/json 父主题: 附录
  • APM授权项 此功能目前仅对华北、华东、华南区域开放。 “√”表示支持,“x”表示暂不支持。 表1 API授权项列表 权限 对应API接口 授权项 IAM项目(Project) 企业项目(Enterprise Project) 查询应用列表 GET /v1/{project_id}/atps/monitorgroups apm:inventory:get √ √ 查询服务列表 GET /v1/{project_id}/ats/applications apm:ats:get √ √ 查询服务实例列表 GET /v1/{project_id}/ats/applications/{application}/instances apm:ats:get √ √ 查询服务事务列表 GET /v1/{project_id}/ats/applications/{application}/transactions apm:ats:get √ √ 查询调用链 GET /v1/{project_id}/ats/traces apm:ats:get √ √ 查询调用链详情 GET /v1/{project_id}/ats/spans apm:ats:get √ √ 父主题: 权限策略和授权项
  • 请求消息 表1 请求消息头 参数 描述 是否为必选 示例 clusterId 集群ID 否 default namespace 命名空间 否 manage 表2 路径参数 参数 参数类型 描述 project_id string 工程ID application string 服务名称 表3 请求参数 参数 是否必选 取值类型 描述 monitorGroup 是 string 应用名称,参见查询应用列表 请求示例 /v1/0/ats/applications/ams-metric:8080/transactions?monitorGroup=11d5c9b83c1b2e04579fa5a34d191bb5
  • 响应消息 表4 响应参数 参数 参数类型 描述 errorCode string 响应错误码 SVCSTG.ATS.2000:查询成功 SVCSTG.ATS.400101:参数校验失败 SVCSTG.ATS.200103:没有查询到事务信息 errorMessage string 响应错误信息描述 responseInfo list(string) 指定服务下的事务类型列表 响应示例 { "errorCode": "SVCSTG.ATS.2000", "errorMessage":null, "responseInfo": [ "/amsalarm/v1/alarm/{project_id}" ]}
  • 请求消息 表1 请求消息头 参数 描述 是否为必选 示例 clusterId 集群ID 否 default namespace 命名空间 否 manage 表2 路径参数 参数 参数类型 描述 project_id string 工程ID 表3 请求参数 参数 是否必选 取值类型 取值范围 描述 traceId 是 string 从查询的调用链数据中获取 调用链的ID 请求示例 /v1/0/ats/spans?traceId=0000000027046b00
  • 响应消息 表4 响应参数 参数 参数类型 描述 errorCode string 响应错误码, SVCSTG.ATS.2000:查询成功 SVCSTG.ATS.400101:参数校验失败 SVCSTG.ATS.200103:没有找到调用数据 errorMessage string 响应错误信息描述 responseInfo list(string),数据结构参见(表5) 调用链查询结果 表5 spans字段数据结构说明 参数 参数类型 描述 traceId string 调用链ID,全局唯一 name string 服务名称:实例名称:事务名称 id string Span的ID parentId string 当前Span的上级Span ID信息 timestamp long 调用的起始时间(单位μs) duration long Span调用耗时(单位μs) annotations list(string),数据结构参见(表6) 调用中客户端或服务端服务信息描述 binaryAnnotations list(string),数据结构参见(表7) 调用中的扩展信息描述 表6 Annotation字段数据结构说明 参数 参数类型 描述 timestamp long 某事件发生的本地当前系统时间(单位μs) endpoint 数据结构参见表8 调用端服务信息描述,可选 value string 调用事件类型,取值范围{CS、SR、SS、CR} CS标识客户端发送事件 CR标识客户端接收事件 SR标识服务端接收事件 SS标识服务端发送事件 表7 BinarryAnnotation字段数据结构说明 参数 参数类型 描述 key string 扩展信息的名称 endpoint 数据结构参见表8 调用端服务信息描述,可选 value string 扩展信息的值 表8 EndPoint字段数据结构说明 参数 参数类型 描述 serviceName string 调用端服务名称,可选 ipv4 string 调用端服务IP信息,可选 port string 调用端服务接口信息,可选 响应示例 { "errorCode": "SVCSTG.ATS.2000", "errorMessage":null, "responseInfo": [ "{\"traceId\":\"0000000027046b00\",\"id\":\"b42460f5cf86cab4\",\"name\":\"aos-apiserver:aos-apiserver-1005774711-ll63p:/api/v1/namespaces/manage/pods\",\"timestamp\":1506260836597000,\"duration\":67000,\"annotations\":[{\"timestamp\":1506260836597000,\"value\":\"cs\",\"endpoint\":{\"serviceName\":\"aos-apiserver\",\"ipv4\":\"10.186.60.43\",\"port\":6443}},{\"timestamp\":1506260836664000,\"value\":\"cr\",\"endpoint\":{\"serviceName\":\"aos-apiserver\",\"ipv4\":\"10.186.60.43\",\"port\":6443}}],\"binaryAnnotations\":[{\"key\":\"append\",\"value\":\"GET\"},{\"key\":\"async\",\"value\":\"0\"},{\"key\":\"goid\",\"value\":\"58\"},{\"key\":\"result\",\"value\":\"0\"},{\"key\":\"resultCode\",\"value\":\"200\"},{\"key\":\"seqno\",\"value\":\"1506260836597048618\"},{\"key\":\"type\",\"value\":\"1\"}]}" ]}
  • 响应消息 表4 响应参数 参数 参数类型 描述 errorCode string 响应错误码 SVCSTG.ATS.2000:查询成功 SVCSTG.ATS.400101:参数校验失败 SVCSTG.ATS.200103:没有查询到实例信息 errorMessage string 响应错误信息描述 responseInfo list(string) 指定服务下的实例信息列表 响应示例 { "errorCode": "SVCSTG.ATS.2000", "errorMessage":null, "responseInfo": [ "d056db8ebf2350c118ea7ace383ac5dd"]}
  • 请求消息 表1 请求消息头 参数 描述 是否为必选 示例 clusterId 集群ID 否 default namespace 命名空间 否 manage 表2 路径参数 参数 参数类型 描述 project_id string 工程ID application string 服务名称 表3 请求参数 参数 是否必选 取值类型 描述 monitorGroup 否 string 应用名称, 参见查询应用列表 请求示例 /v1/0/ats/applications/ams-metric:8080/instances?monitorGoup=11d5c9b83c1b2e04579fa5a34d191bb5
共100000条
提示

您即将访问非华为云网站,请注意账号财产安全