华为云用户手册

  • 成本优化 成本控制 企业可以在成本中心的“预算管理”页面创建精细粒度的预算来管理成本和使用量,在实际或预测超过预算阈值时,自动发送通知给指定消息接收人。企业还可以创建预算报告,定期将指定预算进展通知给指定消息接收人。 例如企业需要创建一个弹性公网IP的按需成本预算,每月预算金额为10000元,当预测金额高于预算金额的80%时发送预算告警。那么,创建的预算如下: 图4 预算基本信息 图5 设置成本范围 图6 设置提醒 详细介绍请参见使用预测和预算来跟踪成本和使用量。 资源优化 您可以通过云监控服务监控资源的使用情况,识别空闲资源,寻找节约成本的机会。也可以根据成本分析阶段的分析结果识别成本偏高的资源,然后采取针对性的优化措施。 监控资源利用率,评估当前配置是否过高。例如:带宽等资源的利用率。 监控闲置的资源,避免浪费。例如:未绑定的EIP等。 计费模式优化 不同类型的业务对资源使用周期有不同的要求,为每一类业务确定合适的计费模式,灵活组合以达到最优效果。 针对长期稳定的成熟业务,使用包年/包月计费模式。 针对不能中断的短期、突增或不可预测的业务,使用按需计费模式。 实现自动化运维 华为云也提供了丰富的运维类产品,帮助您提升运维效率,降低运维的人力成本。例如: 弹性伸缩:持续动态维护按需类带宽资源。适合业务负载存在峰谷波动的场景。 智能购买组:组合计算存储服务,一键部署跨计费模式、跨可用区和跨实例规格的实例集群。适合需要快速交付稳定算力,同时使用竞价实例降低成本的场景。 资源编排:一键部署并维护包含多种云资源和依赖关系的资源栈。适合交付整体系统、克隆环境等场景。 自动化运维:以服务化的方式定义一组运维操作,高效执行运维任务。适合定时运维、批量运维、跨地域运维等场景。
  • 成本分配 成本管理的基础是树立成本责任制,让各部门、各业务团队、各责任人参与进来,为各自消耗云服务产生的成本负责。企业可以通过成本分配的方式,将云上成本分组,归集到特定的团队或项目业务中,让各责任组织及时了解各自的成本情况。 华为云成本中心支持通过多种不同的方式对成本进行归集和重新分配,您可以根据需要选择合适的分配工具。 通过关联账号进行成本分配 企业主客户可以使用关联账号对子客户的成本进行归集,从而对子账号进行财务管理。详细介绍请参见通过关联账号维度查看成本分配。 通过企业项目进行成本分配 在进行成本分配之前,建议开通企业项目并做好企业项目的规划,可以根据企业的组织架构或者业务项目来划分。在购买EIP时选择指定企业项目,新购EIP将按此企业项目进行成本分配。详细介绍请参见通过企业项目维度查看成本分配。 图2 为弹性公网IP选择企业项目 通过成本标签进行成本分配 标签是华为云为了标识云资源,按各种维度(例如用途、所有者或环境)对云资源进行分类的标记。推荐企业使用预定义标签进行成本归集,具体流程如下: 图3 为弹性公网IP添加标签 详细介绍请参见通过成本标签维度查看成本分配。 使用成本单元进行成本分配 企业可以使用成本中心的“成本单元”来拆分公共成本。公共成本是指多个部门共享的计算、网络、存储或资源包产生的云成本,或无法直接通过企业项目、成本标签分配的云成本。这些成本不能直接归属于单一所有者,因此不能直接归属到某一类别。使用拆分规则,可以在各团队或业务部门之间公平地分配这些成本。详细介绍请参见使用成本单元查看成本分配。
  • 编写Workflow Workflow的编写主要在于每个节点的定义,您可以参考节点类型章节,按照自己的场景需求选择相应的代码示例模板进行修改。编写过程主要分为以下几个步骤。 梳理场景,了解预置Step的功能,确定最终的DAG结构。 单节点功能,如训练、推理等在ModelArts相应服务中调试通过。 根据节点功能选择相应的代码模板,进行内容的补充。 根据DAG结构编排节点,完成Workflow的编写。 父主题: 如何开发Workflow
  • 开发态 开发态主要是指使用Workflow的Python SDK开发和调试工作流,使用上具有一定的门槛,适用于MLOps相关的开发者。该使用方式对于AI开发者来说是非常熟悉的一种开发模式,而且灵活度极高,主要提供以下能力。 开发构建:使用python代码灵活编排构建工作流。 调试:支持debug以及run两种模式,其中run模式支持节点部分运行、全部运行。 发布:支持将调试后的工作流进行固化,发布至运行态,支持配置运行。 共享:支持将工作流作为资产发布至AI Gallery,分享给其他用户使用。 父主题: 核心概念
  • 从AI Gallery订阅的Workflow如何使用 登录AI Gallery的Workflow案例库 从AI Gallery的Workflow资产页面,选择并订阅一个Workflow,勾选“我已阅读 《数据安全与隐私风险承担条款》 和 《华为云AI Gallery服务协议》”后,单击“继续订阅” 订阅完成后,单击“运行”后跳转到ModelArts控制台界面,选择资产版本、Workflow名称、云服务区域以及工作空间,单击“导入”,进入该Workflow的详情页面。 图2 从AI Gallery导入工作流 单击右上角的“配置”后进入配置页面,根据您所订阅的工作流,配置Workflow需要的部分输入项和参数,参考表1,参数配置完成后,单击右上角的“保存配置”。 保存成功后,单击右上角的“启动”,启动Workflow。 Workflow进入运行页面,等待Workflow运行。 每一个节点运行状况页面的“状态”为此节点的运行状态,运行成功会自动执行下一个节点的运行,直至所有节点运行成功,代表Workflow完成运行。 图3 完成运行
  • 请求示例 修改帐号的接口访问策略:允许访问的IP地址区间为“0.0.0.0-255.255.255.255”。 PUT https://iam.myhuaweicloud.com/v3.0/OS-SECURITYPOLICY/domains/{domain_id}/api-acl-policy { "api_acl_policy" : { "allow_ip_ranges" : [ { "ip_range" : "0.0.0.0-255.255.255.255", "description" : "1" }, { "ip_range" : "0.0.0.0-255.255.255.253", "description" : "12" } ], "allow_address_netmasks" : [ { "address_netmask" : "192.168.0.1/24", "description" : "3" }, { "address_netmask" : "192.168.0.2/23", "description" : "4" } ] } }
  • 响应示例 状态码为 200 时: 请求成功。 { "api_acl_policy" : { "allow_ip_ranges" : [ { "ip_range" : "0.0.0.0-255.255.255.255", "description" : "" }, { "ip_range" : "0.0.0.0-255.255.255.255", "description" : "" } ], "allow_address_netmasks" : [ { "address_netmask" : "192.168.0.1/24", "description" : "" }, { "address_netmask" : "192.168.0.1/24", "description" : "" } ] } }
  • 响应参数 表7 响应Body参数 参数 参数类型 描述 api_acl_policy object 接口访问控制策略。 表8 api_acl_policy 参数 参数类型 描述 allow_address_netmasks objects 允许访问的IP地址或网段。 allow_ip_ranges objects 允许访问的IP地址区间。 表9 allow_address_netmasks 参数 参数类型 描述 address_netmask String IP地址或网段,例如:192.168.0.1/24。 description String 描述信息。 表10 allow_ip_ranges 参数 参数类型 描述 description String 描述信息。 ip_range String IP地址区间,例如:0.0.0.0-255.255.255.255。
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 访问令牌,承载用户的身份、权限等信息。 token所需权限请参见授权项。 表3 请求Body参数 参数 是否必选 参数类型 描述 api_acl_policy 是 object 接口访问控制策略。 表4 api_acl_policy 参数 是否必选 参数类型 描述 allow_address_netmasks 否 Array of objects 允许访问的IP地址或网段。 allow_address_netmasks与allow_ip_ranges两个参数二选一即可。 allow_ip_ranges 否 Array of objects 允许访问的IP地址区间。 allow_address_netmasks与allow_ip_ranges两个参数二选一即可。 表5 allow_address_netmasks 参数 是否必选 参数类型 描述 address_netmask 是 String IP地址或网段,例如:192.168.0.1/24。 description 否 String 描述信息。 表6 allow_ip_ranges 参数 是否必选 参数类型 描述 description 否 String 描述信息。 ip_range 是 String IP地址区间,例如:0.0.0.0-255.255.255.255。
  • 响应示例 状态码为 200 时: 请求成功。 { "console_acl_policy" : { "allow_ip_ranges" : [ { "ip_range" : "0.0.0.0-255.255.255.255", "description" : "" }, { "ip_range" : "0.0.0.0-255.255.255.255", "description" : "" } ], "allow_address_netmasks" : [ { "address_netmask" : "192.168.0.1/24", "description" : "" }, { "address_netmask" : "192.168.0.1/24", "description" : "" } ] } }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 访问令牌,承载用户的身份、权限等信息。 token所需权限请参见授权项。 表3 请求Body参数 参数 是否必选 参数类型 描述 console_acl_policy 是 object 控制台访问控制策略。 表4 console_acl_policy 参数 是否必选 参数类型 描述 allow_address_netmasks 否 Array of objects 允许访问的IP地址或网段。allow_address_netmasks与 allow_ip_ranges两个参数二选一即可。 allow_ip_ranges 否 Array of objects 允许访问的IP地址区间。allow_address_netmasks与 allow_ip_ranges两个参数二选一即可。 表5 allow_address_netmasks 参数 是否必选 参数类型 描述 address_netmask 是 String IP地址或网段,例如:192.168.0.1/24。 description 否 String 描述信息。 表6 allow_ip_ranges 参数 是否必选 参数类型 描述 description 否 String 描述信息。 ip_range 是 String IP地址区间,例如:0.0.0.0-255.255.255.255。
  • 请求示例 修改帐号的控制台访问策略:允许访问的IP地址区间为“0.0.0.0-255.255.255.255”。 PUT https://iam.myhuaweicloud.com/v3.0/OS-SECURITYPOLICY/domains/{domain_id}/console-acl-policy { "console_acl_policy" : { "allow_ip_ranges" : [ { "ip_range" : "0.0.0.0-255.255.255.255", "description" : "1" }, { "ip_range" : "0.0.0.0-255.255.255.253", "description" : "12" } ], "allow_address_netmasks" : [ { "address_netmask" : "192.168.0.1/24", "description" : "3" }, { "address_netmask" : "192.168.0.2/23", "description" : "4" } ] } }
  • 响应参数 表7 响应Body参数 参数 参数类型 描述 console_acl_policy object Console访问控制策略。 表8 console_acl_policy 参数 参数类型 描述 allow_address_netmasks Array of objects 允许访问的IP地址或网段。 allow_ip_ranges Array of objects 允许访问的IP地址区间。 表9 allow_address_netmasks 参数 参数类型 描述 address_netmask String IP地址或网段,例如:192.168.0.1/24。 description String 描述信息。 表10 allow_ip_ranges 参数 参数类型 描述 description String 描述信息。 ip_range String IP地址区间,例如:0.0.0.0-255.255.255.255。
  • 请求示例 创建一个托管物理连接,设置带宽为10,VLAN为441。 POST https://{dc_endpoint}/v3/6fbe9263116a4b68818cf1edce16bc4f/dcaas/hosted-connects { "hosted_connect" : { "name" : "client-dc-faf1", "description" : "", "resource_tenant_id" : "0605768a3300d5762f82c01180692873", "hosting_id" : "2cfb53be-b05f-40d5-a2f8-3a59ac383836", "vlan" : 441, "bandwidth" : 10 } }
  • 响应示例 状态码: 201 CREATED { "hosted_connect" : { "id" : "0278b472-ffa5-4eb3-8c0d-979d479f8ef6", "name" : "client-dc-faf1", "description" : "", "tenant_id" : "0605768a3300d5762f82c01180692873", "hosting_id" : "2cfb53be-b05f-40d5-a2f8-3a59ac383836", "vlan" : 441, "bandwidth" : 10, "location" : "hangzhou", "peer_location" : "", "provider" : "client-dc-faf1%20\n\n", "provider_status" : "ACTIVE", "status" : "ACTIVE", "apply_time" : "2022-07-13T08:25:38.000Z", "admin_state_up" : true, "create_time" : "2022-07-13T08:25:38.000Z" }, "request_id" : "a59a3776faa1d055f8124dc7b0977a90" }
  • 响应参数 状态码: 201 表5 响应Body参数 参数 参数类型 描述 request_id String 操作请求ID hosted_connect HostedDirectConnect object 托管专线对象信息 表6 HostedDirectConnect 参数 参数类型 描述 id String 托管专线ID 最小长度:36 最大长度:36 tenant_id String 实例所属项目ID name String 物理专线名称 最小长度:0 最大长度:64 description String 物理专线的描述信息 最小长度:0 最大长度:128 bandwidth Integer 物理专线接入带宽 单位:Mbps 最小值:2 最大值:400000 location String 专线的接入位置信息 最小长度:0 最大长度:255 peer_location String 物理专线对端所在的物理位置,省/市/街道或IDC名称。 最小长度:0 最大长度:255 hosting_id String hosted物理专线对应的hosting物理专线的ID provider String 专线线路的提供商 admin_state_up Boolean 管理状态:true或false 缺省值:true vlan Integer hosted物理专线预分配的vlan。 最小值:0 最大值:3999 status String 资源状态,合法值是:ACTIVE,DOWN,BUILD,ERROR,PENDING_DELETE,DELETED,APPLY,DENY,PENDING_PAY,PAID,PENDING_SURVEY 枚举值: BUILD:申请专线正在施工建设中 PAID:已支付 APPLY:申请开通 PENDING_SURVEY:待工勘 ACTIVE:专线已经开通完成且线路处于正常状态 DOWN:专线对应的端口处于down的状态,可能存在线路故障等异常。 ERROR:专线配置异常,请联系客服解决相关问题 PENDING_DELETE:正在删除 DELETED:已删除 DENY:客户需求无法满足,拒绝工勘。 PENDING_PAY:待支付 apply_time String 物理专线申请时间 create_time String 物理专线创建时间 provider_status String 物理专线的运营商操作状态,合法值是:ACTIVE, DOWN 枚举值: ACTIVE DOWN
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 获取Token,请参考《统一身份认证服务API参考》的“获取用户Token”章节。请求响应成功后在响应消息头中包含的“X-Subject-Token”的值即为Token值。 最小长度:0 最大长度:10240 表3 请求Body参数 参数 是否必选 参数类型 描述 hosted_connect 是 CreateHostedDirectConnect object 创建托管专线参数对象 表4 CreateHostedDirectConnect 参数 是否必选 参数类型 描述 name 否 String 托管物理专线的名称 最小长度:0 最大长度:64 description 否 String 托管专线的描述信息 最小长度:0 最大长度:128 bandwidth 是 Integer 指定托管专线接入带宽 单位:Mbps 最小值:2 最大值:400000 hosting_id 是 String hosted物理专线对应的hosting物理专线的ID vlan 是 Integer 指定托管(hosted)专线预分配的vlan 最小值:0 最大值:3999 resource_tenant_id 是 String 为其他租户创建托管专线,指定对应的租户ID 最小长度:0 最大长度:32 peer_location 否 String 物理专线对端所在的物理位置,省/市/街道或IDC名称。 最小长度:0 最大长度:255
  • 响应示例 状态码: 200 OK { "request_id" : "a59a3776faa1d055f8124dc7b0977a90", "hosted_connects" : [ { "id" : "0278b472-ffa5-4eb3-8c0d-979d479f8ef6", "name" : "client-dc-faf1", "description" : "", "tenant_id" : "0605768a3300d5762f82c01180692873", "hosting_id" : "2cfb53be-b05f-40d5-a2f8-3a59ac383836", "vlan" : 441, "bandwidth" : 10, "location" : "hangzhou", "peer_location" : "", "provider" : "client-dc-faf1%20\n\n", "provider_status" : "ACTIVE", "status" : "ACTIVE", "apply_time" : "2022-07-13T08:25:38.000Z", "admin_state_up" : true, "create_time" : "2022-07-13T08:25:38.000Z" } ] }
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 request_id String 本次操作的请求ID hosted_connects Array of HostedDirectConnect objects 托管专线对象信息 page_info PageInfo object 分页查询页的信息 表5 HostedDirectConnect 参数 参数类型 描述 id String 托管专线ID 最小长度:36 最大长度:36 tenant_id String 实例所属项目ID name String 物理专线名称 最小长度:0 最大长度:64 description String 物理专线的描述信息 最小长度:0 最大长度:128 bandwidth Integer 物理专线接入带宽 单位:Mbps 最小值:2 最大值:400000 location String 专线的接入位置信息 最小长度:0 最大长度:255 peer_location String 物理专线对端所在的物理位置,省/市/街道或IDC名称。 最小长度:0 最大长度:255 hosting_id String hosted物理专线对应的hosting物理专线的ID provider String 专线线路的提供商 admin_state_up Boolean 管理状态:true或false 缺省值:true vlan Integer hosted物理专线预分配的vlan。 最小值:0 最大值:3999 status String 资源状态,合法值是:ACTIVE,DOWN,BUILD,ERROR,PENDING_DELETE,DELETED,APPLY,DENY,PENDING_PAY,PAID,PENDING_SURVEY 枚举值: BUILD:申请专线正在施工建设中 PAID:已支付 APPLY:申请开通 PENDING_SURVEY:待工勘 ACTIVE:专线已经开通完成且线路处于正常状态 DOWN:专线对应的端口处于down的状态,可能存在线路故障等异常。 ERROR:专线配置异常,请联系客服解决相关问题 PENDING_DELETE:正在删除 DELETED:已删除 DENY:客户需求无法满足,拒绝工勘。 PENDING_PAY:待支付 apply_time String 物理专线申请时间 create_time String 物理专线创建时间 provider_status String 物理专线的运营商操作状态,合法值是:ACTIVE, DOWN 枚举值: ACTIVE DOWN 表6 PageInfo 参数 参数类型 描述 previous_marker String 上一页的marker,值为资源的uuid 最小长度:0 最大长度:36 current_count Integer 当前列表中资源数量 最小值:0 最大值:2000 next_marker String 下一页的marker,值为资源的uuid,为空时表示最后一页 最小长度:0 最大长度:36
  • URI GET /v3/{project_id}/dcaas/hosted-connects 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 租户项目ID 表2 Query参数 参数 是否必选 参数类型 描述 limit 否 Integer 每页返回的个数。 取值范围:1~2000。 最小值:1 最大值:2000 缺省值:2000 marker 否 String 上一页最后一条资源记录的ID,为空时为查询第一页。 使用说明:必须与limit一起使用。 最小长度:0 最大长度:36 fields 否 Array 显示字段列表 数组长度:1 - 5 sort_dir 否 Array 返回结果按照升序(asc)或降序(desc)排列,默认为asc sort_key 否 String 排序字段 缺省值:id 最小长度:0 最大长度:36 hosting_id 否 Array 根椐运营专线ID过滤托管专线列表 数组长度:0 - 5 id 否 Array 根据资源ID过滤实例 数组长度:1 - 5 name 否 Array 根据名称过滤查询,可查询多个名称。 数组长度:1 - 5
  • 响应示例 状态码: 200 OK { "hosted_connect" : { "id" : "0278b472-ffa5-4eb3-8c0d-979d479f8ef6", "name" : "client-dc-faf1", "description" : "", "tenant_id" : "0605768a3300d5762f82c01180692873", "hosting_id" : "2cfb53be-b05f-40d5-a2f8-3a59ac383836", "vlan" : 441, "bandwidth" : 10, "location" : "hangzhou", "peer_location" : "", "provider" : "client-dc-faf1%20\n\n", "provider_status" : "ACTIVE", "status" : "ACTIVE", "apply_time" : "2022-07-13T08:25:38.000Z", "admin_state_up" : true, "create_time" : "2022-07-13T08:25:38.000Z" }, "request_id" : "a59a3776faa1d055f8124dc7b0977a90" }
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 request_id String 操作请求ID hosted_connect HostedDirectConnect object 托管专线对象信息 表5 HostedDirectConnect 参数 参数类型 描述 id String 托管专线ID 最小长度:36 最大长度:36 tenant_id String 实例所属项目ID name String 物理专线名称 最小长度:0 最大长度:64 description String 物理专线的描述信息 最小长度:0 最大长度:128 bandwidth Integer 物理专线接入带宽 单位:Mbps 最小值:2 最大值:400000 location String 专线的接入位置信息 最小长度:0 最大长度:255 peer_location String 物理专线对端所在的物理位置,省/市/街道或IDC名称。 最小长度:0 最大长度:255 hosting_id String hosted物理专线对应的hosting物理专线的ID provider String 专线线路的提供商 admin_state_up Boolean 管理状态:true或false 缺省值:true vlan Integer hosted物理专线预分配的vlan。 最小值:0 最大值:3999 status String 资源状态,合法值是:ACTIVE,DOWN,BUILD,ERROR,PENDING_DELETE,DELETED,APPLY,DENY,PENDING_PAY,PAID,PENDING_SURVEY 枚举值: BUILD:申请专线正在施工建设中 PAID:已支付 APPLY:申请开通 PENDING_SURVEY:待工勘 ACTIVE:专线已经开通完成且线路处于正常状态 DOWN:专线对应的端口处于down的状态,可能存在线路故障等异常。 ERROR:专线配置异常,请联系客服解决相关问题 PENDING_DELETE:正在删除 DELETED:已删除 DENY:客户需求无法满足,拒绝工勘。 PENDING_PAY:待支付 apply_time String 物理专线申请时间 create_time String 物理专线创建时间 provider_status String 物理专线的运营商操作状态,合法值是:ACTIVE, DOWN 枚举值: ACTIVE DOWN
  • URI GET /v3/{project_id}/dcaas/hosted-connects/{hosted_connect_id} 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 租户项目ID hosted_connect_id 是 String 托管专线连接ID 最小长度:36 最大长度:36 表2 Query参数 参数 是否必选 参数类型 描述 limit 否 Integer 每页返回的个数。 取值范围:1~2000。 最小值:1 最大值:2000 缺省值:2000 marker 否 String 上一页最后一条资源记录的ID,为空时为查询第一页。 使用说明:必须与limit一起使用。 最小长度:0 最大长度:36 fields 否 Array 显示字段列表 数组长度:1 - 5 sort_dir 否 Array 返回结果按照升序(asc)或降序(desc)排列,默认为asc sort_key 否 String 排序字段 缺省值:id 最小长度:0 最大长度:36 hosting_id 否 Array 根椐运营专线ID过滤托管专线列表 数组长度:0 - 5
  • 响应示例 状态码: 200 OK { "hosted_connect" : { "id" : "0278b472-ffa5-4eb3-8c0d-979d479f8ef6", "name" : "client-dc-faf1", "description" : "", "tenant_id" : "0605768a3300d5762f82c01180692873", "hosting_id" : "2cfb53be-b05f-40d5-a2f8-3a59ac383836", "vlan" : 441, "bandwidth" : 10, "location" : "hangzhou", "peer_location" : "", "provider" : "client-dc-faf1%20\n\n", "provider_status" : "ACTIVE", "status" : "ACTIVE", "apply_time" : "2022-07-13T08:25:38.000Z", "admin_state_up" : true, "create_time" : "2022-07-13T08:25:38.000Z" }, "request_id" : "a59a3776faa1d055f8124dc7b0977a90" }
  • 请求示例 更新托管专线连接的名称和描述信息 PUT https://{dc_endpoint}/v3/6fbe9263116a4b68818cf1edce16bc4f/dcaas/hosted-connects/0278b472-ffa5-4eb3-8c0d-979d479f8ef6 { "hosted_connect" : { "name" : "client-dc-faf1", "description" : "" } }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 获取Token,请参考《统一身份认证服务API参考》的“获取用户Token”章节。请求响应成功后在响应消息头中包含的“X-Subject-Token”的值即为Token值。 最小长度:0 最大长度:10240 表3 请求Body参数 参数 是否必选 参数类型 描述 hosted_connect 否 UpdateHostedDirectConnect object 更新托管专线对象 表4 UpdateHostedDirectConnect 参数 是否必选 参数类型 描述 name 否 String 物理专线的名称 最小长度:0 最大长度:64 description 否 String 物理专线的描述信息 最小长度:0 最大长度:128 bandwidth 否 Integer 指定托管专线接入带宽 单位:Mbps 最小值:2 最大值:400000 peer_location 否 String 物理专线对端所在的物理位置,省/市/街道或IDC名称 最小长度:0 最大长度:255
  • 响应参数 状态码: 200 表5 响应Body参数 参数 参数类型 描述 request_id String 操作请求ID hosted_connect HostedDirectConnect object 托管专线对象信息 表6 HostedDirectConnect 参数 参数类型 描述 id String 托管专线ID 最小长度:36 最大长度:36 tenant_id String 实例所属项目ID name String 物理专线名称 最小长度:0 最大长度:64 description String 物理专线的描述信息 最小长度:0 最大长度:128 bandwidth Integer 物理专线接入带宽 单位:Mbps 最小值:2 最大值:400000 location String 专线的接入位置信息 最小长度:0 最大长度:255 peer_location String 物理专线对端所在的物理位置,省/市/街道或IDC名称。 最小长度:0 最大长度:255 hosting_id String hosted物理专线对应的hosting物理专线的ID provider String 专线线路的提供商 admin_state_up Boolean 管理状态:true或false 缺省值:true vlan Integer hosted物理专线预分配的vlan。 最小值:0 最大值:3999 status String 资源状态,合法值是:ACTIVE,DOWN,BUILD,ERROR,PENDING_DELETE,DELETED,APPLY,DENY,PENDING_PAY,PAID,PENDING_SURVEY 枚举值: BUILD:申请专线正在施工建设中 PAID:已支付 APPLY:申请开通 PENDING_SURVEY:待工勘 ACTIVE:专线已经开通完成且线路处于正常状态 DOWN:专线对应的端口处于down的状态,可能存在线路故障等异常。 ERROR:专线配置异常,请联系客服解决相关问题 PENDING_DELETE:正在删除 DELETED:已删除 DENY:客户需求无法满足,拒绝工勘。 PENDING_PAY:待支付 apply_time String 物理专线申请时间 create_time String 物理专线创建时间 provider_status String 物理专线的运营商操作状态,合法值是:ACTIVE, DOWN 枚举值: ACTIVE DOWN
  • Flink原理 Stream & Transformation & Operator 用户实现的Flink程序是由Stream和Transformation这两个基本构建块组成。 Stream是一个中间结果数据,而Transformation是一个操作,它对一个或多个输入Stream进行计算处理,输出一个或多个结果Stream。 当一个Flink程序被执行的时候,它会被映射为Streaming Dataflow。一个Streaming Dataflow是由一组Stream和Transformation Operator组成,它类似于一个DAG图,在启动的时候从一个或多个Source Operator开始,结束于一个或多个Sink Operator。 图3为一个由Flink程序映射为Streaming Dataflow的示意图。 图3 Flink DataStream示例 图3中“FlinkKafkaConsumer”是一个Source Operator,Map、KeyBy、TimeWindow、Apply是Transformation Operator,RollingSink是一个Sink Operator。 Pipeline Dataflow 在Flink中,程序是并行和分布式的方式运行。一个Stream可以被分成多个Stream分区(Stream Partitions),一个Operator可以被分成多个Operator Subtask。 Flink内部有一个优化的功能,根据上下游算子的紧密程度来进行优化。 紧密度低的算子则不能进行优化,而是将每一个Operator Subtask放在不同的线程中独立执行。一个Operator的并行度,等于Operator Subtask的个数,一个Stream的并行度(分区总数)等于生成它的Operator的并行度,如图4所示。 图4 Operator 紧密度高的算子可以进行优化,优化后可以将多个Operator Subtask串起来组成一个Operator Chain,实际上就是一个执行链,每个执行链会在TaskManager上一个独立的线程中执行,如图5所示。 图5 Operator chain 图5中上半部分表示的是将Source和Map两个紧密度高的算子优化后串成一个Operator Chain,实际上一个Operator Chain就是一个大的Operator的概念。图中的Operator Chain表示一个Operator,KeyBy表示一个Operator,Sink表示一个Operator,它们通过Stream连接,而每个Operator在运行时对应一个Task,也就是说图中的上半部分有3个Operator对应的是3个Task。 图5中下半部分是上半部分的一个并行版本,对每一个Task都并行化为多个Subtask,这里只是演示了2个并行度,Sink算子是1个并行度。
  • Flink关键特性 流式处理 高吞吐、高性能、低时延的实时流处理引擎,能够提供毫秒级时延处理能力。 丰富的状态管理 流处理应用需要在一定时间内存储所接收到的事件或中间结果,以供后续某个时间点访问并进行后续处理。Flink提供了丰富的状态管理相关的特性,包括: 多种基础状态类型:Flink提供了多种不同数据结构的状态支持,如ValueState、ListState、MapState等。用户可以基于业务模型选择最高效、合适状态类型。 丰富的State Backend:State Backend负责管理应用程序的状态,并根据需要进行Checkpoint。Flink提供了不同State Backend,State可以存储在内存上或RocksDB等上,并支持异步以及增量的Checkpoint机制。 精确一次语义:Flink的Checkpoint和故障恢复能力保证了任务在故障发生前后的应用状态一致性,为某些特定的存储支持了事务型输出的功能,即使在发生故障的情况下,也能够保证精确一次的输出。 丰富的时间语义 时间是流处理应用的重要组成部分,对于实时流处理应用来说,基于时间语义的窗口聚合、检测、匹配等运算是很常见的。Flink提供了丰富的时间语义。 Event-time:使用事件本身自带的时间戳进行计算,使乱序到达或延迟到达的事件处理变得更加简单。 Watermark:Flink引入Watermark概念,用以衡量事件时间的发展。Watermark也为平衡处理时延和数据完整性提供了灵活的保障。当处理带有Watermark的事件流时,在计算完成之后仍然有相关数据到达时,Flink提供了多种处理选项,如将数据重定向(side output)或更新之前完成的计算结果。 Processing-time和Ingestion-time。 高度灵活的流式窗口:Flink能够支持时间窗口、计数窗口、会话窗口,以及数据驱动的自定义窗口,可以通过灵活的触发条件定制,实现复杂的流式计算模式。 容错机制 分布式系统,单个Task或节点的崩溃或故障,往往会导致整个任务的失败。Flink提供了任务级别的容错机制,保证任务在异常发生时不会丢失用户数据,并且能够自动恢复。 Checkpoint:Flink基于Checkpoint实现容错,用户可以自定义对整个任务的Checkpoint策略,当任务出现失败时,可以将任务恢复到最近一次Checkpoint的状态,从数据源重发快照之后的数据。 Savepoint:一个Savepoint就是应用状态的一致性快照,Savepoint与Checkpoint机制相似,但Savepoint需要手动触发,Savepoint保证了任务在升级或迁移时,不丢失当前流应用的状态信息,便于任何时间点的任务暂停和恢复。 Flink SQL Table API和SQL借助了Apache Calcite来进行查询的解析,校验以及优化,可以与DataStream和DataSet API无缝集成,并支持用户自定义的标量函数,聚合函数以及表值函数。简化数据分析、ETL等应用的定义。下面代码实例展示了如何使用Flink SQL语句定义一个会话点击量的计数应用。 SELECT userId, COUNT(*) FROM clicks GROUP BY SESSION(clicktime, INTERVAL '30' MINUTE), userId 有关Flink SQL的更多信息,请参见:https://ci.apache.org/projects/flink/flink-docs-master/dev/table/sqlClient.html。 CEP in SQL Flink允许用户在SQL中表示CEP(Complex Event Processing)查询结果以用于模式匹配,并在Flink上对事件流进行评估。 CEP SQL通过MATCH_RECOGNIZE的SQL语法实现。MATCH_RECOGNIZE子句自Oracle Database 12c起由Oracle SQL支持,用于在SQL中表示事件模式匹配。CEP SQL使用举例如下: SELECT T.aid, T.bid, T.cid FROM MyTable MATCH_RECOGNIZE ( PARTITION BY userid ORDER BY proctime MEASURES A.id AS aid, B.id AS bid, C.id AS cid PATTERN (A B C) DEFINE A AS name = 'a', B AS name = 'b', C AS name = 'c' ) AS T
  • Flink结构 Flink结构如图2所示。 图2 Flink结构 Flink整个系统包含三个部分: Client Flink Client主要给用户提供向Flink系统提交用户任务(流式作业)的能力。 TaskManager Flink系统的业务执行节点,执行具体的用户任务。TaskManager可以有多个,各个TaskManager都平等。 JobManager Flink系统的管理节点,管理所有的TaskManager,并决策用户任务在哪些TaskManager执行。JobManager在HA模式下可以有多个,但只有一个主JobManager。 如果您想了解更多关于Flink架构的信息,请参考链接:https://ci.apache.org/projects/flink/flink-docs-master/docs/concepts/flink-architecture/。
共100000条