云服务器内容精选

  • 示例代码 在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 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 from modelarts.session import Session from modelarts.model import Model from modelarts.config.model_config import ServiceConfig session = 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)
  • 注意事项 使用全量数据服务API过程中,会存在如下约束与限制: 如果分页偏移量>50000,受限于数据库分页查询效能,可能存在响应时长增加的情况,为保障查询体验,建议list、find、query和select等接口的分页偏移量≤50000。 如果入参参数为Collection、map或Array类型,单次最多传入1000个对应类型的参数值。 枚举、分类、JSON、参考对象、浮点型(自定义精度)和文件类型属性的入参值不允许为空字符串;文本、长文本、URL和人员类型属性的入参值允许为空字符串,返回结果会返回该空字符串。 如果输入的浮点型(自定义精度)类型属性值超过自定义标度,会先四舍五入到指定标度后再校验。 如果存在“多值”为“是”的枚举类型扩展属性,入参不允许输入[""]。 如果您想将 数据实例 中自定义的属性(包括基本属性和扩展属性)设置为空值,可在调用数据实体/关系实体的update、batchUpdate、save、saveAs和saveAll接口时,在“needSetNullAttrs”参数中对非必填属性进行设置。其中,saveAs接口仅支持对单数据实体和关系实体的自定义属性设置为空值。 调用数据实体/关系实体的创建类接口(如create、batchCreate、save、saveAs和saveAll)时, 已设置默认值的属性未输入入参值,返回结果会返回该默认值。 未设置默认值的整型、长整型、浮点型、日期和布尔值类型属性,如果入参值为空字符串,返回结果会返回空值(即NULL)。 调用数据实体/关系实体的更新类接口(如updateByAdmin、update、reviseAndUpdate、checkoutAndUpdate、updateAndCheckin、updateByCondition、save、saveAll、batchUpdateByAdmin、batchReviseAndUpdate、batchCheckoutAndUpdate和batchUpdateAndCheckin)时, 如果存在“值可变”为“否”的属性,其返回结果会返回原值。 整型、长整型、浮点型、日期和布尔值类型属性,如果入参值为空字符串,返回结果会返回原值。 调用save和saveAs接口时,如果入参值为NULL或未输入入参值,其返回结果会返回原值。 调用saveAll接口时,基本属性的入参值会强覆盖,扩展属性的入参值不会强覆盖。即:如果基本属性未输入入参值,其返回结果会返回NULL;如果扩展属性未输入入参值,其返回结果会返回原值。 调用find接口查询“入库”为“否”的属性时,如果对应属性未设置默认值,其返回结果会返回NULL。
  • 响应示例 状态码: 200 OK { "total" : 1, "size" : 1, "items" : [ { "property_id" : 3320, "property_name" : "p2", "description" : null, "data_type" : "datetime", "required" : 0, "min" : 0, "max" : 65536, "step" : 1, "max_length" : "10", "unit" : "yuan", "enum_list" : null } ] } 状态码: 400 Bad Request { "error_code" : "SCB.00000000", "error_msg" : "Parameter is not valid for operation [romalink.link-services-command.queryCommandSend]. Parameter is [command_id]. Processor is [path].", "request_id" : "cb39e78a-afd3-4e04-901d-70468b1c23dc-1619602712496-cnnorth7a-P-romalink-service01" } 状态码: 404 Not Found { "error_code" : "ROMA.00110006", "error_msg" : "The resource does not exist. Check whether the resource ID 1 is correct.", "request_id" : "13984193-ca65-4954-9b7f-4b7d680399d6-1619678681445-cnnorth7a-P-romalink-service01" } 状态码: 500 Internal Server Error { "error_code" : "ROMA.00110002", "error_msg" : "The instance does not exist. project_id: 397cd10b30544c588b2f4a56d83856c4, instance_id: f3bb386a-23ec-47aa-9943-4c60ac658611", "request_id" : "c8c06d0a-be92-4fdf-9d10-bc20131ab158-1619593104919-cnnorth7a-P-romalink-service01" }
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 total Integer 总数。 最小值:1 最大值:999999999999999 size Integer 本次返回数量。 最小值:1 最大值:999 items Array of Property objects 属性列表。 数组长度:0 - 9999 表5 Property 参数 参数类型 描述 property_id Integer 属性ID。 最小值:1 最大值:99999999999999999 property_name String 属性名称,首位必须为字母,支持大小写字母、数字、中划线及下划线,长度2-50。 最小长度:2 最大长度:50 description String 属性描述,长度0-200。 最小长度:0 最大长度:200 data_type String 属性数据类型,boolean枚举值大小写敏感;number格式为数字,范围±1.0 x 10^-28 to ±7.9228 x 10^28;string为字符串;integer为整数;datetime为时间,格式为yyyyMMddTHHmmss;json为自定义json格式; array为数组类型。 最小长度:0 最大长度:10 required Integer 是否必填,0-非必填,1-必填。 最小值:0 最大值:10 min String 最小值,当data_type为integer或number时有效。 缺省值:0 最小长度:0 最大长度:10 max String 最大值,当data_type为integer或number时有效。 缺省值:65536 最小长度:0 最大长度:10 step String 步长,当data_type为integer或number时有效。 缺省值:1 最小长度:0 最大长度:10 max_length Integer 字符串最大长度,当data_type为string、datetime、json时有效。 最小值:1 最大值:99999999 缺省值:10 unit String 属性单位。 最小长度:0 最大长度:10 enum_list String string的枚举值数组,使用逗号分隔,单个长度取决于max_length参数。 最小长度:0 enum_dict Object 当数据类型为boolean枚举值时填写json格式数据,形如"enum_dict":{"0":"xxx","1":"xxx"}。 状态码: 400 表6 响应Body参数 参数 参数类型 描述 error_code String 系统错误码,针对4xx和5xx类HTTP错误码的详细错误码。 最小长度:0 最大长度:64 error_msg String 错误描述。 最小长度:0 最大长度:200 request_id String 消息ID。 最小长度:0 最大长度:64 状态码: 404 表7 响应Body参数 参数 参数类型 描述 error_code String 系统错误码,针对4xx和5xx类HTTP错误码的详细错误码。 最小长度:0 最大长度:64 error_msg String 错误描述。 最小长度:0 最大长度:200 request_id String 消息ID。 最小长度:0 最大长度:64 状态码: 500 表8 响应Body参数 参数 参数类型 描述 error_code String 系统错误码,针对4xx和5xx类HTTP错误码的详细错误码。 最小长度:0 最大长度:64 error_msg String 错误描述。 最小长度:0 最大长度:200 request_id String 消息ID。 最小长度:0 最大长度:64
  • 响应示例 状态码: 400 Bad Request { "error_code" : "SCB.00000000", "error_msg" : "Parameter is not valid for operation [romalink.link-services-responses.deleteCommandResponse]. Parameter is [command_id]. Processor is [path].", "request_id" : "cb39e78a-afd3-4e04-901d-70468b1c23dc-1619602712496-cnnorth7a-P-romalink-service01" } 状态码: 404 Not Found { "error_code" : "ROMA.00110006", "error_msg" : "The resource does not exist. Check whether the resource ID 1 is correct.", "request_id" : "13984193-ca65-4954-9b7f-4b7d680399d6-1619678681445-cnnorth7a-P-romalink-service01" } 状态码: 500 Internal Server Error { "error_code" : "ROMA.00110002", "error_msg" : "The instance does not exist. project_id: 397cd10b30544c588b2f4a56d83856c4, instance_id: f3bb386a-23ec-47aa-9943-4c60ac658611", "request_id" : "c8c06d0a-be92-4fdf-9d10-bc20131ab158-1619593104919-cnnorth7a-P-romalink-service01" }
  • 响应参数 状态码: 400 表3 响应Body参数 参数 参数类型 描述 error_code String 系统错误码,针对4xx和5xx类HTTP错误码的详细错误码。 最小长度:0 最大长度:64 error_msg String 错误描述。 最小长度:0 最大长度:200 request_id String 消息ID。 最小长度:0 最大长度:64 状态码: 404 表4 响应Body参数 参数 参数类型 描述 error_code String 系统错误码,针对4xx和5xx类HTTP错误码的详细错误码。 最小长度:0 最大长度:64 error_msg String 错误描述。 最小长度:0 最大长度:200 request_id String 消息ID。 最小长度:0 最大长度:64 状态码: 500 表5 响应Body参数 参数 参数类型 描述 error_code String 系统错误码,针对4xx和5xx类HTTP错误码的详细错误码。 最小长度:0 最大长度:64 error_msg String 错误描述。 最小长度:0 最大长度:200 request_id String 消息ID。 最小长度:0 最大长度:64
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 amount Integer 产品实付金额 最小值:1 最大值:40000000 original_amount Integer 产品原始金额 最小值:1 最大值:48000000 currency String 币种:人民币(CNY) 枚举值: CNY 状态码: 400 表5 响应Body参数 参数 参数类型 描述 code String 状态码 最小长度:3 最大长度:3 error_code String 错误码 最小长度:12 最大长度:12 error_msg String 错误信息 最小长度:1 最大长度:65535 message String 错误详细信息 最小长度:1 最大长度:65535 状态码: 401 表6 响应Body参数 参数 参数类型 描述 code String 状态码 最小长度:3 最大长度:3 error_code String 错误码 最小长度:12 最大长度:12 error_msg String 错误信息 最小长度:1 最大长度:65535 message String 错误详细信息 最小长度:1 最大长度:65535 状态码: 500 表7 响应Body参数 参数 参数类型 描述 code String 状态码 最小长度:3 最大长度:3 error_code String 错误码 最小长度:12 最大长度:12 error_msg String 错误信息 最小长度:1 最大长度:65535 message String 错误详细信息 最小长度:1 最大长度:65535
  • 请求示例 { "edition" : "Professional", "org_num" : 1, "charge_mode" : 0, "period_type" : 2, "period_num" : 1, "promotion_id" : "P22020702520656805DMA6A0R1WKID", "discount_plan_id" : "PDP2204021323287781B6J25H1RUC643" }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token 最小长度:1 最大长度:65535 表3 请求Body参数 参数 是否必选 参数类型 描述 edition 是 String 版本类型: 专业版(Professional)、企业版(Enterprise)、铂金版(Platinum) 枚举值: Professional Enterprise Platinum org_num 是 Integer 订购组织数量 最小值:1 最大值:100 charge_mode 否 Integer 资源计费模式:包周期计费(0),默认0值 枚举值: 0 period_type 是 Integer 订购周期类型:按月(2)、按年(3) 枚举值: 2 3 period_num 是 Integer 订购周期数量,按年只可以询价一年,按月可以询价1-9个月,超过9个月相当于一年 promotion_id 否 String 促销活动ID,促销活动目标用户可使用;一次促销活动可包含多个促销计划,参与促销活动时promotion_id和discount_plan_id必须同时填写,填写一个视为不参与促销活动 discount_plan_id 否 String 折扣计划ID,促销活动目标用户可使用;参与促销活动时promotion_id和discount_plan_id必须同时填写,填写一个视为不参与促销活动
  • 创建命名空间 通过控制台创建命名空间 登录U CS 控制台,在左侧导航栏中单击“服务网格”。 单击服务网格名称,进入详情页。 在左侧导航栏,单击“服务中心”下的“命名空间”,进入命名空间列表页。 单击右上角“创建命名空间”。 图1 创建命名空间 参照下表信息设置命名空间参数。 参数 参数说明 名称 新建命名空间的名称,命名必须唯一。 描述 输入对命名空间的描述信息。 标签 为命名空间添加标签键值对 建议根据需要在命名空间中设置资源配额,避免因资源过载导致集群或节点异常。 例如:在集群中每个节点可以创建的实例(Pod)数默认为110个,如果您创建的是50节点规格的集群,则最多可以创建5500个实例。因此,您可以在命名空间中自行设置资源配额以确保所有命名空间内的实例总数不超过5500个,以避免资源过载。 设置完成后,单击“确定”。 通过YAML创建命名空间 apiVersion: v1 kind: Namespace # 创建服务类别为命名空间 metadata: name: weather # 命名空间名 annotations: namespaceDesc: description labels: app: forecast # 标签键值对 restartNamespacePod: false # 重启服务关闭 istio-injection: disabled # 注入数据面代理关闭
  • 更新命名空间 控制台更新命名空间,操作步骤如下: 登录UCS控制台,在左侧导航栏中单击“服务网格”。 单击服务网格名称,进入详情页。 在左侧导航栏,单击“服务中心”下的“命名空间”,进入命名空间列表页。 单击命名空间列表右侧操作列下的“更新”,弹出“更新命名空间”对话框。 更新命名空间参数。 表1 命名空间参数 参数 参数说明 描述 添加或修改描述。 标签 添加或删除标签键值对。 注入数据面代理 开启后,新创建的Pod会自动注入 istio-proxy sidecar,已存在的Pod需要配合重启服务才能生效注入istio-proxy sidecar。 重启服务 Sidecar自动注入开启时,将立即重启未注入sidecar的服务负载以注入sidecar;Sidecar自动注入关闭时,将立即重启已注入sidecar的服务负载以取消sidecar注入。 设置完成后,单击右下角“确定”。更新命名空间完成。 YAML编辑更新命名空间,操作步骤如下: 登录UCS控制台,在左侧导航栏中单击“服务网格”。 单击服务网格名称,进入详情页。 在左侧导航栏,单击“服务中心”下的“命名空间”,进入命名空间列表页。 单击命名空间列表右侧操作列下的“YAML编辑”,弹出YAML编辑界面。 更新标签、描述和是否注入数据面代理设置。 设置完成后,单击右下角“确定”。更新命名空间完成。
  • 操作场景 当终端节点服务创建成功后,您可以查看已添加的标签,还可以添加、编辑以及删除标签。 标签是终端节点服务的标识,包括键和值。可以为终端节点服务创建20个标签。 如果已经通过TMS的预定义标签功能预先创建了标签,则可以直接选择对应的标签键和值。 预定义标签的详细内容,请参见预定义标签简介。 如果您的组织已经设定 VPC终端节点 的相关标签策略,则需按照标签策略规则为终端节点服务添加标签。标签如果不符合标签策略的规则,则可能会导致终端节点服务创建失败,请联系组织管理员了解标签策略详情。
  • 步骤5:同步搜索服务数据 准备工作。 在应用运行态中获取同步搜索服务的API信息,具体操作请参见全量数据服务。 根据实际业务需求,调用API同步搜索服务数据。 请求示例 PUT http://{Endpoint}/rdm_{appID}_app/services/rdm/basic/api/searchServ/startEsSync/{serNumber} 其中,{Endpoint}表示数据建模引擎所在 域名 或IP地址,{appID}表示应用ID,“serNumber”待同步的搜索服务ID。 响应示例 { "result": "SUC CES S", "data": [], "errors": [] }
  • 步骤2:添加索引 准备工作。 在应用运行态中获取添加索引的API信息,具体操作请参见全量数据服务。 根据实际业务需求,调用API添加索引。 请求示例 POST http://{Endpoint}/rdm_{appID}_app/services/rdm/basic/api/searchServiceIndexDefinition/saveList { "params": { "searchServId": "505115507221864448", "searchServName": "搜索服务示例", "indexServColuVOList": [ { "id": null, "indexName": "SampleIndex", "indexDesc": "", "indexType": "TEXT", "operator": null, "inputSeparator": null, "segMethod": "NOWORD", "segOption": "NOTINVOLVED", "searchUsage": true, "keywordUsage": true, "displayUsage": true, "matchType": "FUZZY", "key": "indexDefinition43" } ] } } 其中,{Endpoint}表示数据建模引擎所在域名或IP地址,{appID}表示应用ID,“indexName”、“indexDesc”、“indexType”表示索引名称、描述和类型。 响应示例 { "result": "SUCCESS", "data": [ { "id": "505115594543079424", "rdmExtensionType": "XDMSearchIndexEntity", "className": "XDMSearchIndexEntity", "searchServId": "505115507221864448", "indexName": "SampleIndex", "matchType": { "code": "fuzzy", "cnName": "模糊匹配", "enName": "fuzzy", "alias": "FUZZY" }, "displayUsage": true, "keywordUsage": true, "operator": null, "segOption": { "code": "notInvolved", "cnName": "不涉及", "enName": "notInvolved", "alias": "NOTINVOLVED" }, "indexMaxFieldSize": null, "indexType": { "code": "Text", "cnName": "文本", "enName": "Text", "alias": "TEXT" }, "indexDesc": "", "searchUsage": true, "segMethod": { "code": "noWord", "cnName": "不分词", "enName": "noWord", "alias": "NOWORD" }, "searchServName": "搜索服务示例", "inputSeparator": null, "relationIndexEntityList": null } ], "errors": [] }
  • 步骤4:发布和验证搜索服务 准备工作。 在应用运行态中获取发布搜索服务的API信息,具体操作请参见全量数据服务。 完成搜索服务的配置后,调用API发布搜索服务。 请求示例 POST http://{Endpoint}/rdm_{appID}_app/services/rdm/basic/api/searchservicedefine/publishSingle { "params": "505115507221864448" } 其中,{Endpoint}表示数据建模引擎所在域名或IP地址,{appID}表示应用ID,“params”表示待发布的搜索服务ID。 响应示例 { "result": "SUCCESS", "data": [], "errors": [] }