云服务器内容精选
-
IAM 支持的授权项 策略包含系统策略和自定义策略,如果系统策略不满足授权要求,管理员可以创建自定义策略,并通过给用户组授予自定义策略来进行精细的访问控制。策略支持的操作与API相对应,授权项列表说明如下: 权限:允许或拒绝某项操作。 对应API接口:自定义策略实际调用的API接口。 授权项:自定义策略中支持的Action,在自定义策略中的Action中写入授权项,可以实现授权项对应的权限功能。 依赖的授权项:部分Action存在对其他Action的依赖,需要将依赖的Action同时写入授权项,才能实现对应的权限功能。 IAM项目(Project)/企业项目(Enterprise Project):自定义策略的授权范围,包括IAM项目与企业项目。授权范围如果同时支持IAM项目和企业项目,表示此授权项对应的自定义策略,可以在IAM和企业管理两个服务中给用户组授权并生效。如果仅支持IAM项目,不支持企业项目,表示仅能在IAM中给用户组授权并生效,如果在企业管理中授权,则该自定义策略不生效。关于IAM项目与企业项目的区别,详情请参见:IAM与企业管理的区别。 “√”表示支持,“x”表示暂不支持。 资源编排 服务( RFS ) 支持的自定义策略授权项如下所示: 表1 privateTemplate 权限 对应API接口 授权项(Action) IAM项目(Project) 企业项目 (Enterprise Project) 创建私有模板 POST /v1/{project_id}/templates rf:privateTemplate:create √ x 创建新的私有模板版本 POST /v1/{project_id}/templates/{template_name}/versions rf:privateTemplate:createVersion √ x 删除私有模板 DELETE /v1/{project_id}/templates/{template_name} rf:privateTemplate:delete √ x 删除私有模板版本 DELETE /v1/{project_id}/templates/{template_name}/versions/{version_id} rf:privateTemplate:deleteVersion √ x 列举project下所有的私有模板 GET /v1/{project_id}/templates rf:privateTemplate:list √ x 展示私有模板下所有模板版本信息 GET /v1/{project_id}/templates/{template_name}/versions rf:privateTemplate:listVersions √ x 展示私有模板的信息 GET /v1/{project_id}/templates/{template_name}/metadata rf:privateTemplate:showMetadata √ x 获取私有模板版本内容 GET /v1/{project_id}/templates/{template_name}/versions/{version_id} rf:privateTemplate:showVersionContent √ x 获取私有模板版本的元数据 GET /v1/{project_id}/templates/{template_name}/versions/{version_id}/metadata rf:privateTemplate:showVersionMetadata √ x 更新私有模板元数据 PATCH /v1/{project_id}/templates/{template_name}/metadata rf:privateTemplate:updateMetadata √ x 表2 stack 权限 对应API接口 授权项 IAM项目(Project) 企业项目 (Enterprise Project) 应用执行计划 POST /v1/{project_id}/stacks/{stack_name}/execution-plans/{execution_plan_name} rf:stack:applyExecutionPlan √ x 继续部署堆栈 POST /v1/{project_id}/stacks/{stack_name}/continuations rf:stack:continueDeployStack √ x 继续回滚堆栈 POST /v1/{project_id}/stacks/{stack_name}/rollbacks rf:stack:continueRollbackStack √ x 创建执行计划 POST /v1/{project_id}/stacks/{stack_name}/execution-plans rf:stack:createExecutionPlan √ x 创建堆栈 POST /v1/{project_id}/stacks rf:stack:createStack √ x 删除执行计划 DELETE /v1/{project_id}/stacks/{stack_name}/execution-plans/{execution_plan_name} rf:stack:deleteExecutionPlan √ x 删除堆栈 DELETE /v1/{project_id}/stacks/{stack_name} rf:stack:deleteStack √ x 部署堆栈 PATCH /v1/{project_id}/stacks/{stack_name}/deployment rf:stack:deployStack √ x 预估执行计划价格 GET /v1/{project_id}/stacks/{stack_name}/execution-plans/{execution_plan_name}/prices rf:stack:estimateExecutionPlanPrice √ x 获取执行计划信息 GET /v1/{project_id}/stacks/{stack_name}/execution-plans/{execution_plan_name} rf:stack:getExecutionPlan √ x 获取执行计划元数据信息 GET /v1/{project_id}/stacks/{stack_name}/execution-plans/{execution_plan_name}/metadata rf:stack:getExecutionPlanMetadata √ x 获取执行计划模板 GET /v1/{project_id}/stacks/{stack_name}/execution-plans/{execution_plan_name}/templates rf:stack:getExecutionPlanTemplate √ x 获取堆栈元数据信息 GET /v1/{project_id}/stacks/{stack_name}/metadata rf:stack:getStackMetadata √ x 获取堆栈模板 GET /v1/{project_id}/stacks/{stack_name}/templates rf:stack:getStackTemplate √ x 导入资源栈资源 PATCH /v1/{project_id}/stacks/{stack_name}/resources rf:stack:importResources √ x 查询执行计划信息列表 GET /v1/{project_id}/stacks/{stack_name}/execution-plans rf:stack:listExecutionPlans √ x 查询堆栈部署事件列表 GET /v1/{project_id}/stacks/{stack_name}/events rf:stack:listStackEvents √ x 查询堆栈输出列表 GET /v1/{project_id}/stacks/{stack_name}/outputs rf:stack:listStackOutputs √ x 查询堆栈资源信息列表 GET /v1/{project_id}/stacks/{stack_name}/resources rf:stack:listStackResources √ x 查询堆栈列表 GET /v1/{project_id}/stacks rf:stack:listStacks √ x 更新堆栈 PATCH /v1/{project_id}/stacks/{stack_name} rf:stack:updateStack √ x 修改堆栈删除保护 PUT /v1/{project_id}/stacks/{stack_name}/deletion-protections rf:stack:updateStackDeletionProtection √ x 表3 stackSet 权限 对应API接口 授权项 IAM项目(Project) 企业项目 (Enterprise Project) 创建资源栈集 POST /v1/stack-sets rf:stackSet:create √ x 创建资源栈实例 POST /v1/stack-sets/{stack_set_name}/stack-instances rf:stackSet:createStackInstances √ x 删除资源栈集 DELETE /v1/stack-sets/{stack_set_name} rf:stackSet:delete √ x 删除资源栈实例 DELETE /v1/stack-sets/{stack_set_name}/stack-instances rf:stackSet:deleteStackInstances √ x 部署资源栈集 POST /v1/stack-sets/{stack_set_name}/deployments rf:stackSet:deploy √ x 查询资源栈集列表 GET /v1/stack-sets rf:stackSet:list √ x 查询资源栈集操作信息列表 GET /v1/stack-sets/{stack_set_name}/operations rf:stackSet:listOperations √ x 查询资源栈实例列表 GET /v1/stack-sets/{stack_set_name}/stack-instances rf:stackSet:listStackInstances √ x 获取资源栈集元数据信息 GET /v1/stack-sets/{stack_set_name}/metadata rf:stackSet:showMetadata √ x 获取资源栈集操作元数据信息 GET /v1/stack-sets/{stack_set_name}/operations/{stack_set_operation_id}/metadata rf:stackSet:showOperationMetadata √ x 获取资源栈实例信息 GET /v1/stack-sets/{stack_set_name}/stack-instances/{stack_instance_addr} rf:stackSet:showStackInstance √ x 获取资源栈集模板 GET /v1/stack-sets/{stack_set_name}/templates rf:stackSet:showTemplate √ x 更新资源栈集 PATCH /v1/stack-sets/{stack_set_name} rf:stackSet:update √ x 更新资源栈实例 PATCH /v1/stack-sets/{stack_set_name}/stack-instances rf:stackSet:updateStackInstances √ x 表4 template 权限 对应API接口 授权项 IAM项目(Project) 企业项目 (Enterprise Project) 解析模板参数 POST /v1/{project_id}/template-analyses/variables rf:template:parseTemplateVariables √ x
-
Token认证 Token的有效期为24小时,需要使用一个Token鉴权时,可以先缓存起来,避免频繁调用。 Token在计算机系统中代表令牌(临时)的意思,拥有Token就代表拥有某种权限。Token认证就是在调用API的时候将Token加到请求消息头,从而通过身份认证,获得操作API的权限。 Token可通过调用获取用户Token接口获取,调用本服务API需要project级别的Token,即调用获取用户Token接口时,请求body中auth.scope的取值需要选择project,如下所示。 { "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "name": "username", "password": "********", "domain": { "name": "domainname" } } } }, "scope": { "project": { "name": "xxxxxxxx" } } } } 获取Token 后,再调用其他接口时,您需要在请求消息头中添加“X-Auth-Token”,其值即为Token。例如Token值为“ABCDEFJ....”,则调用接口时将“X-Auth-Token: ABCDEFJ....”加到请求消息头即可,如下所示。 1 2 3 POST https://iam.cn-north-4.myhuaweicloud.com/v3/auth/projects Content-Type: application/json X-Auth-Token: ABCDEFJ.... 您还可以通过这个视频教程了解如何使用Token认证:https://bbs.huaweicloud.com/videos/101333。
-
AK/SK认证 AK/SK签名认证方式仅支持消息体大小12MB以内,12MB以上的请求请使用Token认证。 AK/SK认证就是使用AK/SK对请求进行签名,在请求时将签名信息添加到消息头,从而通过身份认证。 AK(Access Key ID):访问密钥ID。与私有访问密钥关联的唯一标识符;访问密钥ID和私有访问密钥一起使用,对请求进行加密签名。 SK(Secret Access Key):与访问密钥ID结合使用的密钥,对请求进行加密签名,可标识发送方,并防止请求被修改。 使用AK/SK认证时,您可以基于签名算法使用AK/SK对请求进行签名,也可以使用专门的签名SDK对请求进行签名。详细的签名方法和SDK使用方法请参见API签名指南。 签名SDK只提供签名功能,与服务提供的SDK不同,使用时请注意。
-
约束与限制 通过IAM应用授权的IAM认证方式API,仅支持通过当前账号及其归属用户的Token进行调用,不支持其他账号及其归属用户调用。如有需要可以通过白名单授权的方式授权给其他账号,详见通过白名单授权IAM认证方式API。 IAM认证方式的API只能授权给IAM类型的应用。 如果对无认证方式的API进行应用授权,则系统会忽略此操作。 IAM类型的应用每个 DataArts Studio 实例下仅能创建一个,名称固定为华为账号,且不支持修改。 对于数据服务共享版IAM认证方式的API,系统已默认记录了当前账号的白名单,不支持删除,因此共享版IAM认证方式的API无需进行授权即可进行调用。而专享版中使用IAM认证方式的API则必须先通过应用或白名单授权才能调用。
-
测试API 填写入参取值。 如果单个参数需要传多个值时,写法如下: 字符串:'a','b','c' 数值:1,2 字段:a,b,c 图6 填写入参取值 (可选)调整排序参数描述pre_order_by的值。 pre_order_by的默认值已由系统根据已配置的所有排序参数给出,自定义排序默认为升序。排序参数描述pre_order_by的值填写形式为“排序参数参数名:ASC”或“排序参数参数名:DESC”,其中ASC表示升序,DESC表示降序,多个排序参数描述以“英文分号”进行分隔。勾选“是否传值”后,测试结果将按照pre_order_by的值排序。 对于pre_order_by的值,您可以进行如下修改: 删掉某可选的排序参数,则此排序参数不再参与排序。 修改自定义排序方式的排序参数为升序或降序方式,则此排序参数按照修改后的排序方式排序。 pre_order_by的值,不支持进行如下修改,否则会修改不生效或导致调用报错。 删掉某必选的排序参数,则此排序参数依然会正常参与排序,删除不生效。 调整排序参数的前后顺序,则排序依然以SQL中的排序参数顺序为准。调整不生效。 修改升序或降序的排序参数为其他排序方式,则会调用失败,不允许修改。 图7 调整排序参数描述pre_order_by的值 (可选)查看分页参数值。 采用默认分页方式时,可以查看分页参数情况,其中pageSize表示分页后的页面大小,pageNum表示页码。默认按100的大小分页,返回第1页数据。 图8 查看分页参数值 完成API参数的配置并保存后,单击左下角的“开始测试”,可进入API测试环节。 填写参数值,单击“开始测试”,即可在线发送API请求,在右侧可以看到API请求详情及返回内容。 测试过程中,如果数据服务API查询及返回数据的总时长超过默认60秒,会报超时错误。 如果测试失败,请查看错误提示并做相应的修改重新测试。 完成API测试之后,单击“确定”,即成功生成了一个数据API。
-
配置取数逻辑 本例中以脚本方式说明如何配置API取数逻辑。Mybatis方式与之相比差异在于参数解析形式和支持的语法差异,在使用流程上没有区别。 如果使用Mybatis方式生成API,则需要将本章节脚本中的参数解析格式由${parameter}修改为#{parameter}形式,另外Mybatis方式支持的标签语法可在界面中单击脚本编辑处的,查看弹出的Mybatis脚本编辑提示。 “取数方式”选择“脚本方式”或“MyBatis方式”: 选择数据源、数据连接、数据库等数据信息。 数据服务仅支持部分数据源,详情请参见DataArts Studio支持的数据源。您需提前在DataArts Studio管理中心中配置好数据源,按照脚本编辑提示要求输入SQL语句。 选择分页方式,推荐使用自定义分页方式。 默认分页是指在创建API时输入了SQL,数据服务会自动基于SQL外层包装分页逻辑。 例如输入的SQL脚本为: SELECT * FROM userinfo WHERE id=${userid} 数据服务在处理调试或者调用时,将自动在用户SQL外层包装分页逻辑,从而变成以下脚本: SELECT * FROM (SELECT * FROM userinfo WHERE id=${userid}) LIMIT {limitValue} OFFSET {offsetValue} 其中limitValue表示读取的数据条数,offsetValue表示跳过的数据条数(即偏移量),系统将默认赋值。 自定义分页是指在创建API时,数据服务将不对SQL进行处理,分页逻辑需要在写SQL时由用户自定义。值得注意的是,为避免API查询数据量过大导致集群异常,自定义分页方式下必须在写SQL时添加分页逻辑。 如果已知需要读取的数据条数limitValue和需要跳过的数据条数offsetValue,则分页逻辑可以写成以下脚本: SELECT * FROM userinfo WHERE id=${userid} LIMIT {limitValue} OFFSET {offsetValue} 而在实际使用中,更多的是根据分页后的页面大小pageSize和页码pageNum定义分页逻辑,脚本样式如下: SELECT * FROM userinfo WHERE id=${userid} LIMIT {pageSize} OFFSET {pageSize*(pageNum-1)} 不同的数据源具有不同的语法风格,分页脚本应按照数据源语法要求调整。例如: DLI 数据源不支持“LIMIT {limitValue} OFFSET {offsetValue}”的写法,仅支持“LIMIT {limitValue}” 。 HETU数据源分页需要反转,不支持“LIMIT {limitValue} OFFSET {offsetValue}”的写法,仅支持“OFFSET {offsetValue} LIMIT {limitValue}”。 编写API查询SQL。 在脚本编辑页面,单击脚本编辑处的,按照脚本编辑提示开发SQL查询语句。单击可将入参添加为SQL语句的API请求参数。另外,专享版数据服务支持返回总条数,开启后可返回取值脚本执行结果数据的总条数。 例如,需要在用户表中根据用户ID查询用户信息时,取值脚本可写为如下脚本。其中,“id”为userinfo表中的字段,“userid”为API中定义的入参。 SELECT * FROM userinfo WHERE id=${userid} 如果分页方式为自定义分页,页面大小pageSize为10、页码pageNum为2时,按照LIMIT {pageSize} OFFSET {pageSize*(pageNum-1)}转换方法,脚本可写为: SELECT * FROM userinfo WHERE id=${userid} LIMIT 10 OFFSET 10 图2 编写API查询SQL 脚本编辑完成后,单击脚本编辑窗口下方的“测试SQL”,填写入参值,执行验证是否能返回预期结果。如果测试失败,可在“预览SQL”页签下查看实际运行的SQL语句是否符合预期,或者通过“日志”页签查看报错信息。 图3 测试SQL SELECT查询的字段即为API返回参数,支持通过AS返回别名。 WHERE条件中的参数为API请求参数,脚本方式下参数格式为${参数名},MyBatis方式下参数格式为#{参数名}。 专享版数据服务支持返回总条数,开启后可返回取值脚本执行结果数据的总条数。 如果单个参数需要传多个值时,写法如下: 字符串:'a','b','c' 数值:1,2 字段:a,b,c 添加排序参数。 在排序参数列表中,单击“新建”可设置排序字段。 字段名称对外不可见,是所选的数据表中的字段,是API调用时实际访问的内容。在API查询SQL语句已编写完成且测试通过的前提下,可在“字段名称”输入框中选择排序字段。 变量可自定义,用于与字段名称关联。在“变量”输入框中输入参数名称(一般填写为参数名称即可),系统会自动修改为变量形式。 是否可选决定了调用API时此排序参数是否必选,勾选则表示此参数可以不传,可以通过排序参数描述pre_order_by的值配置是否参与排序;不勾选则此参数必传,即使排序参数描述pre_order_by的值未配置此参数,依然会参与排序。 排序方式表示了当前参数允许使用的排序形式,分为升序、降序以及自定义。自定义排序参数默认为升序排序,可通过排序参数描述pre_order_by的值进行调整;而升序或降序的排序参数,不支持通过pre_order_by的值调整排序方式,如果pre_order_by的值与此处设置排序方式不符,则会导致配置调试或调用报错。 多个排序参数时,表示当第一个排序参数相等时,再逐一用后续排序参数去排序。与配置方式不同的是,参数的排序顺序与添加排序字段的先后无关,而是需要通过SQL脚本自定义,并且不支持通过排序参数描述pre_order_by的值进行调整。 注意,脚本/MyBatis API的排序字段必须要使用ORDER BY添加到SQL语句中,才能使该排序参数生效,单击可将排序参数添加到SQL语句。添加ORDER BY参数时,关联字段名即可,多个排序字段的先后顺序由脚本定义,不支持在脚本中通过ASC或DESC设置顺序或降序方式。SQL语句中未添加的排序参数即使在排序参数描述pre_order_by的值中定义,排序也不会生效。 例如,需要在用户表中根据用户ID查询用户信息,先后通过age和kk两个字段排序,页面大小pageSize为10、页码pageNum为2时,脚本样例如下。 SELECT * FROM userinfo WHERE id=${userid} order by ${age},${kk} LIMIT 10 OFFSET 10 图4 添加排序参数 脚本编辑完成后,单击脚本编辑窗口下方的“测试SQL”,填写入参值和排序参数描述pre_order_by的值,执行验证是否能返回预期结果。 pre_order_by的默认值已由系统根据已配置的所有排序参数给出,自定义排序默认为升序。排序参数描述pre_order_by的值填写形式为“排序参数参数名:ASC”或“排序参数参数名:DESC”,其中ASC表示升序,DESC表示降序,多个排序参数描述以“英文分号”进行分隔。勾选“是否传值”后,测试结果将按照pre_order_by的值排序。 对于pre_order_by的值,您可以进行如下修改: 删掉某可选的排序参数,则此排序参数不再参与排序。 修改自定义排序方式的排序参数为升序或降序方式,则此排序参数按照修改后的排序方式排序。 pre_order_by的值,不支持进行如下修改,否则会修改不生效或导致调用报错。 删掉某必选的排序参数,则此排序参数依然会正常参与排序,删除不生效。 调整排序参数的前后顺序,则排序依然以SQL中的排序参数顺序为准。调整不生效。 修改升序或降序的排序参数为其他排序方式,则会调用失败,不允许修改。 如果测试失败,可在“预览SQL”页签下查看实际运行的SQL语句是否符合预期,或者通过“日志”页签查看报错信息。 图5 测试SQL 单击“下一步”,进行API测试页面。
-
获取API信息 参考访问DataArts Studio实例控制台,登录DataArts Studio管理控制台。 在DataArts Studio控制台首页,选择对应工作空间的“数据服务”模块,进入数据服务页面。 在左侧导航栏选择服务版本(例如:专享版),进入总览页。 获取待调用API的调用地址、请求方法和入参信息。 在左侧导航栏中进入API管理,找到待调用的API,并单击API名称查看API的完整信息,保存调用地址、请求方法和入参信息。 调用地址:专享版支持内网地址和外网地址(外网地址需要您在创建集群时绑定弹性IP),如果需要在本地调用专享版API,需要使用外网地址,确保网络互通。共享版使用APIG地址,可直接选择该地址进行调用。 入参:本调用样例中创建了一个具备Query和Path入参位置的API,以便为您介绍入参应如何在调用时输入。 图1 保存调用地址、请求方法和入参信息
-
调用API 打开Chrome浏览器,新建一个空白页签。 参考获取API信息,在浏览器中输入API调用地址并直接访问。注意如果入参中包含Path和Query参数,则需要将调用地址中的{path}变量修改为Path参数具体取值,Query参数取值可以通过“?Query参数名=Query参数值”的形式添加到调用地址的最后,如本例中为“?query=1”。 https://xx.xx.xx.xx/getContestantInfo/2?query=1 如果您需要对调用结果进行自定义调整,则还可以配置如下Query参数,通过“&”连接多个参数: (可选)分页配置:默认情况下,对于配置方式和默认分页的脚本/MyBatis方式API,系统将默认赋值返回量。如果需要获取特定分页数据,您可以添加如下参数设置分页,其中pageSize表示分页后的页面大小,pageNum表示页码。 https://xx.xx.xx.xx/getContestantInfo/2?query=1&pageSize=100&pageNum=1 自定义分页的脚本/MyBatis方式API是在创建API时将分页逻辑写到取数SQL中,因此不支持在调用时修改分页设置。 (可选)排序配置:默认情况下,系统会根据排序参数信息给出默认排序情况,自定义排序默认为升序。如果需要修改排序情况,您可以修改pre_order_by参数。其中排序参数描述pre_order_by的值填写形式为“排序参数参数名:ASC”或“排序参数参数名:DESC”,其中ASC表示升序,DESC表示降序,多个排序参数描述以“英文分号”进行分隔。 https://xx.xx.xx.xx/getContestantInfo/2?query=1&pre_order_by=id:ASC;age:ASC;score:DESC 对于pre_order_by的值,您可以进行如下修改: 删掉某可选的排序参数,则此排序参数不再参与排序。 修改自定义排序方式的排序参数为升序或降序方式,则此排序参数按照修改后的排序方式排序。 pre_order_by的值,不支持进行如下修改,否则会修改不生效或导致调用报错。 删掉某必选的排序参数,则此排序参数依然会正常参与排序,删除不生效。 调整排序参数的前后顺序,则排序依然以配置方式API配置排序参数时的排序参数顺序或脚本/MyBatis方式API SQL中的排序参数顺序为准,调整不生效。 修改升序或降序的排序参数为其他排序方式,则会调用失败,不允许修改。 (可选)“返回总条数”配置:在创建API时,如果已打开“返回总条数”开关,则当API对应的数据表数据量较大时,获取数据总条数将会比较耗时。此时,如果需要在调用时不计算并返回数据总条数,可以修改use_total_num参数。use_total_num参数用于控制是否计算并返回数据总条数,值为1返回数据总条数,值非1不返回数据总条数。 https://xx.xx.xx.xx/getContestantInfo/2?query=1&use_total_num=0 浏览器访问后可查看返回结果。返回"errCode":"DLM.0"即表示API调用成功。如果失败,则请根据保错信息进行修复。 图2 使用浏览器调用API
-
约束与限制 如需在本地调用专享版API,则需在创建专享版集群时绑定一个弹性公网IP,作为实例的公网入口。共享版API默认可通过公网访问。 调用数据服务API时,如果查询及返回数据的总时长超过默认60秒则会报超时错误。此时可通过访问日志中的API调用时长信息,根据超时阶段进一步优化API配置。 ____________Duration information__________ duration: 60491ms //总耗时 url_duration: 0ms //URL匹配耗时 auth_duration: 70ms //鉴权耗时 befor_sql_duration: 402ms //执行SQL预处理耗时 sql_duration: 60001ms //SQL执行耗时 after_sql_duration:18ms //执行SQL后处理耗时
-
管理集群共享 专享版集群创建成功后,默认仅能在绑定的工作空间内使用。如果您需要在其他工作空间使用此集群,则可以进行集群共享,共享后在其他工作空间可查看、使用但不能管理该集群,并能将API发布至该集群。 参考访问DataArts Studio实例控制台,登录DataArts Studio管理控制台。 在DataArts Studio控制台首页,选择已购买专享版集群的工作空间的“数据服务”模块,进入数据服务页面。 在数据服务集群页面单击“集群”,进入集群列表页面。 单击集群名称,进入集群详情页面。 在集群详情页面,单击“共享管理”页签,进入共享管理页面。 图3 进入共享管理页面 单击“共享”,在弹出的窗口中勾选需要共享的工作空间后,单击“确定”完成集群共享。 图4 选择工作空间 对于已共享集群的工作空间,您可以在该工作空间内,正常查看、使用该集群。 如后续需要取消该工作空间的集群共享,则需要先下线该工作空间已在集群上发布的API,再到绑定工作空间的数据服务集群详情页面,取消共享。
-
操作步骤 购买数据服务专享集群增量包,系统会按照您所选规格自动创建一个数据服务专享集群。 单击已开通实例卡片上的“购买增量包”。 进入购买DataArts Studio增量包页面,参见表1进行配置。 表1 购买数据服务专享版实例参数说明 参数项 说明 增量包类型 选择数据服务专享集群增量包。 计费方式 实例收费方式,当前支持“包年包月”。 工作空间 选择需要使用数据服务专享集群增量包的工作空间。例如需要在DataArts Studio实例的工作空间A中使用数据服务专享版,则此处工作空间应选择为A。集群购买成功后,即可通过在工作空间A查看到创建好的数据服务专享集群。 如果需要在其他工作空间内使用该集群,您可以在集群创建成功后,参考管理集群共享将该集群共享给其他工作空间。 可用区 选择数据服务专享集群所在的可用区。 支持单AZ和多AZ两种部署方式。推荐使用多AZ方式。 单AZ:仅可以选择1个AZ,集群节点部署在同一AZ上。 多AZ:可选择2-10个AZ,集群节点部署在不同AZ上,以提升集群的容灾能力。 详情请参见什么是可用区。 集群名称 - 集群描述 可以自定义对当前数据服务专享版集群的描述。 版本 当前数据服务专享版的集群版本。 集群规格 不同实例规格,对API数量的支持能力不同。 公网入口 开启“公网入口”,创建集群时会为集群自动绑定一个新建的弹性公网IP,后续可以通过此公网IP地址调用专享版API。该功能新建的弹性公网IP不会计入收费项。 如果您存在需要本地调用或跨网调用API的使用场景,建议开启。如果在创建集群时未开启公网入口,后续则不再支持绑定EIP。 带宽大小 可配置公网带宽范围。 虚拟私有云 DataArts Studio实例中的数据服务专享版集群所属的VPC、子网、安全组。 在相同VPC、子网、安全组中的云服务资源(如E CS ),可以使用数据服务专享版实例的私有地址调用API。建议将专享版集群和您的其他关联业务配置一个相同的VPC、子网、安全组,确保网络安全的同时,方便网络配置。 VPC、子网、安全组的详细操作,请参见《虚拟私有云用户指南》。 说明: 目前专享版集群创建完成后不支持切换VPC、子网、安全组,请谨慎选择。 如果开启公网入口,安全组入方向需要放开80(HTTP)和443(HTTPS)端口的访问权限。 此处支持选择共享VPC子网,即由VPC的所有者将VPC内的子网共享给当前账号,由当前账号在购买数据服务专享版集群时选择共享VPC子网。通过共享VPC子网功能,可以简化网络配置,帮助您统一配置和运维多个账号下的资源,有助于提升资源的管控效率,降低运维成本。如何共享VPC子网,请参考《共享VPC》。 子网 安全组 企业项目 DataArts Studio专享版集群关联的企业项目。企业项目管理是一种按企业项目管理云资源的方式,具体请参见企业管理用户指南。 节点数量 - 购买时长 - 单击“立即购买”,确认规格后提交。
-
网络环境准备 如图1所示,专享版集群创建后,资源位于资源租户区,由ELB统一对集群节点进行负载均衡。 专享版集群创建后,您可以通过如下途径访问集群API: 内网地址:内网地址为用户VPC内的终端节点IP地址,默认具备。 外网地址(可选):外网地址为绑定在ELB上的EIP地址。EIP仅在创建数据服务集群时,勾选开启公网入口,才会具备。 内网 域名 (可选):内网域名是指在VPC中生效的域名。创建集群后可通过“绑定内网域名”,输入自定义内网域名,数据服务调用DNS服务将内网域名与内网地址相关联。 公网域名(可选):公网域名是在Internet中使用公网解析的域名。创建集群后可通过“绑定公网域名”,输入已完成注册、备案的域名,数据服务调用DNS服务将公网域名与外网地址相关联。 图1 专享版集群网络架构说明 因此,为了保证专享版集群API能够被用户访问,集群创建中需要注意如下网络配置: VPC 虚拟私有云。专享版实例需要配置虚拟私有云(VPC),在同一VPC中的资源(如ECS),可以使用专享版实例的私有地址调用API。 在购买时专享版实例时,建议配置和您其他关联业务相同VPC,确保网络安全的同时,方便网络配置。 弹性公网IP 专享版实例的API如果要允许外部调用,则需要购买一个弹性公网IP,并在购买时绑定给实例,作为实例的公网入口。 安全组 安全组类似防火墙,控制谁能访问实例的指定端口,以及控制实例的通信数据流向指定的目的地址。安全组入方向规则建议按需开放地址与端口,这样可以最大程度保护实例的网络安全。 专享版实例绑定的安全组有如下要求: 入方向:如果需要从公网调用API,或从其他安全组内资源调用API,则需要为专享版实例绑定的安全组的入方向放开80(HTTP)、443(HTTPS)两个端口。 出方向:如果后端服务部署在公网,或者其他安全组内,则需要为专享版实例绑定的安全组的出方向放开后端服务地址与API调用监听端口。 如果API的前后端服务与专享版实例绑定了相同的安全组、相同的虚拟私有云,则无需专门为专享版实例开放上述端口。 路由配置 在物理机纳管场景下,如果物理机纳管网段与集群网段不一致,需要配置路由。 进入集群“基本信息”页面,单击配置路由项的“新建”按钮,新增物理机的IP地址,如图2所示。 图2 基本信息
-
删除API 在DataArts Studio控制台首页,选择对应工作空间的“数据服务”模块,进入数据服务页面。 在左侧导航栏选择服务版本(例如:专享版),进入总览页。 在左侧选择“API目录”,进入API列表页,勾选需要删除的API,单击“删除”。 只有未发布状态(如已创建、已下线)的API可以删除,已停用或发布状态不可删除。 批量删除API最多同时删除1000个API。 单击“确定”,完成API删除。
-
请求消息体(可选) 该部分可选。请求消息体通常以结构化格式(如JSON或XML)发出,与请求消息头中Content-Type对应,传递除请求消息头之外的内容。若请求消息体中的参数支持中文,则中文字符必须为UTF-8编码。 每个接口的请求消息体内容不同,也并不是每个接口都需要有请求消息体(或者说消息体为空),GET、DELETE操作类型的接口就不需要消息体,消息体具体内容需要根据具体接口而定。 对于管理员创建IAM用户接口,您可以从接口的请求部分看到所需的请求参数及参数说明,将消息体加入后的请求如下所示,其中加粗的字段需要根据实际值填写。 accountid为IAM用户所属的账号ID。 username为要创建的IAM用户名。 email为IAM用户的邮箱。 **********为IAM用户的登录密码。 POST https://iam.cn-north-4.myhuaweicloud.com/v3.0/OS-USER/users Content-Type: application/json X-Sdk-Date: 20240416T095341Z Authorization: SDK-HMAC-SHA256 Access=****************, SignedHeaders=content-type;host;x-sdk-date, Signature=**************** { "user": { "domain_id": "accountid", "name": "username", "password": "**********", "email": "email", "description": "IAM User Description" } } 到这里为止这个请求需要的内容就具备齐全了,您可以使用curl、Postman或直接编写代码等方式发送请求调用API。对于获取用户Token接口,返回的响应消息头中的“X-Subject-Token”就是需要获取的用户Token。有了Token之后,您就可以使用Token认证调用其他API。
-
请求消息头 附加请求头字段,如指定的URI和HTTP方法所要求的字段。例如定义消息体类型的请求头“Content-Type”,请求鉴权信息等。 详细的公共请求消息头字段请参见表3。 表3 公共请求消息头 名称 描述 是否必选 示例 Host 请求的服务器信息,从服务API的URL中获取。值为hostname[:port]。端口缺省时使用默认的端口,https的默认端口为443。 否 使用AK/SK认证时该字段必选。 code.test.com or code.test.com:443 Content-Type 消息体的类型(格式)。推荐用户使用默认值application/json,有其他取值时会在具体接口中专门说明。 是 application/json Content-Length 请求body长度,单位为Byte。 否 3495 X-Project-Id project id,项目编号。请参考获取项目ID章节获取项目编号。 否 如果是专属云场景采用AK/SK认证方式的接口请求,或者多project场景采用AK/SK认证的接口请求,则该字段必选。 e9993fc787d94b6c886cbaa340f9c0f4 X-Auth-Token 用户Token。 用户Token也就是调用获取用户Token接口的响应值,该接口是唯一不需要认证的接口。 请求响应成功后在响应消息头(Headers)中包含的“X-Subject-Token”的值即为Token值。 否 使用Token认证时该字段必选。 注:以下仅为Token示例片段。 MIIPAgYJKoZIhvcNAQcCo...ggg1BBIINPXsidG9rZ API同时支持使用AK/SK认证,AK/SK认证使用SDK对请求进行签名,签名过程会自动往请求中添加Authorization(签名认证信息)和X-Sdk-Date(请求发送的时间)请求头。 AK/SK认证的详细说明请参见认证鉴权的“AK/SK认证”。 对于管理员创建IAM用户接口,使用AK/SK方式认证时,添加消息头后的请求如下所示。 1 2 3 4 POST https://iam.cn-north-4.myhuaweicloud.com/v3.0/OS-USER/users Content-Type: application/json X-Sdk-Date: 20240416T095341Z Authorization: SDK-HMAC-SHA256 Access=****************, SignedHeaders=content-type;host;x-sdk-date, Signature=****************
更多精彩内容
CDN加速
GaussDB
文字转换成语音
免费的服务器
如何创建网站
域名网站购买
私有云桌面
云主机哪个好
域名怎么备案
手机云电脑
SSL证书申请
云点播服务器
免费OCR是什么
电脑云桌面
域名备案怎么弄
语音转文字
文字图片识别
云桌面是什么
网址安全检测
网站建设搭建
国外CDN加速
SSL免费证书申请
短信批量发送
图片OCR识别
云数据库MySQL
个人域名购买
录音转文字
扫描图片识别文字
OCR图片识别
行驶证识别
虚拟电话号码
电话呼叫中心软件
怎么制作一个网站
Email注册网站
华为VNC
图像文字识别
企业网站制作
个人网站搭建
华为云计算
免费租用云托管
云桌面云服务器
ocr文字识别免费版
HTTPS证书申请
图片文字识别转换
国外域名注册商
使用免费虚拟主机
云电脑主机多少钱
鲲鹏云手机
短信验证码平台
OCR图片文字识别
SSL证书是什么
申请企业邮箱步骤
免费的企业用邮箱
云免流搭建教程
域名价格