华为云用户手册

  • 查询表的分区信息(包含分区的创建和修改时间) DLI 提供查询表分区信息的接口。您可以使用该接口查询数据库下表的分区信息(包括分区的创建和修改时间)。示例代码如下: 1 2 3 4 5 6 7 8 9 10 11 private static void showPartitionsInfo(DLIClient client) throws DLIException { String databaseName = "databasename"; String tableName = "tablename"; //调用DLIClient对象的showPartitions方法查询数据库下表的分区信息(包括分区的创建和修改时间) PartitionResult partitionResult = client.showPartitions(databaseName, tableName); PartitionListInfo partitonInfos = partitionResult.getPartitions(); //获取分区的创建和修改时间 Long createTime = partitonInfos.getPartitionInfos().get(0).getCreateTime().longValue(); Long lastAccessTime = partitonInfos.getPartitionInfos().get(0).getLastAccessTime().longValue(); System.out.println("createTime:"+createTime+"\nlastAccessTime:"+lastAccessTime); }
  • 查询所有队列 DLI提供查询队列列表接口,您可以使用该接口并选择相应的队列来执行作业。示例代码如下: 1 2 3 4 5 6 7 8 9 def list_all_queues(dli_client): try: queues = dli_client.list_queues() except DliException as e: print(e) return for queue in queues: print(queue.name) 完整样例代码和依赖包说明请参考:Python SDK概述。
  • 样例代码 用户可以使用OBS授权操作的接口,将OBS桶的操作权限授权给DLI, 用于保存用户作业的数据和作业的运行日志等。 示例代码如下: 1 2 3 4 5 6 7 private static void authorizeBucket(DLIClient client) throws DLIException { String bucketName ="obs_name"; ObsBuckets obsBuckets = new ObsBuckets(); obsBuckets.addObsBucketsItem(bucketName); GlobalResponse res = client.authorizeBucket(obsBuckets); System.out.println(res); }
  • 提交批处理作业 DLI提供执行批处理作业的接口。您可以使用该接口执行批处理作业。示例代码如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 def submit_spark_batch_job(dli_client, batch_queue_name, batch_job_info): try: batch_job = dli_client.submit_spark_batch_job(batch_queue_name, batch_job_info) except DliException as e: print(e) return print(batch_job.job_id) while True: time.sleep(3) job_status = batch_job.get_job_status() print('Job status: {0}'.format(job_status)) if job_status == 'dead' or job_status == 'success': break logs = batch_job.get_driver_log(500) for log_line in logs: print(log_line)
  • 删除批处理作业 DLI提供删除批处理作业的接口。您可以使用该接口删除批处理作业。示例代码如下: def del_spark_batch(dli_client, batch_id): try: resp = dli_client.del_spark_batch_job(batch_id) print(resp.msg) except DliException as e: print(e) return
  • 取消批处理作业 DLI提供取消批处理作业的接口。您可以使用该接口取消批处理作业。若作业已经执行结束或失败则无法取消。示例代码如下: 1 2 3 4 5 6 7 def del_spark_batch(dli_client, batch_id): try: resp = dli_client.del_spark_batch_job(batch_id) print(resp.msg) except DliException as e: print(e) return
  • 查询作业APIG网关服务访问地址 DLI提供查询Flink作业APIG访问地址的接口。您可以使用该接口查询作业APIG网关服务访问地址。示例代码如下: 1 2 3 4 5 private static void getFlinkApigSinks(DLIClient client) throws DLIException { Long jobId = 59L;//作业1ID FlinkJobApigSinksResponse result = client.getFlinkApigSinks(jobId); System.out.println(result); }
  • 查询作业详情 DLI提供查询Flink作业详情的接口。您可以使用该接口查询作业的详情。示例代码如下: 1 2 3 4 5 private static void getFlinkJobDetail(DLIClient client) throws DLIException { Long jobId = 203L;//作业ID GetFlinkJobDetailResponse result = client.getFlinkJobDetail(jobId); System.out.println(result); }
  • 查询作业执行计划图 DLI提供查询Flink作业执行计划图的接口。您可以使用该接口查询作业的执行计划图。示例代码如下: 1 2 3 4 5 private static void getFlinkJobExecuteGraph(DLIClient client) throws DLIException { Long jobId = 203L;//作业ID FlinkJobExecutePlanResponse result = client.getFlinkJobExecuteGraph(jobId); System.out.println(result); }
  • 更新自定义作业 DLI提供更新Flink自定义作业的接口。您可以使用该接口更新已经创建的自定义作业,目前仅支持Jar格式和运行在独享队列中。示例代码如下: 1 2 3 4 5 6 private static void updateFlinkJob(DLIClient client) throws DLIException { UpdateFlinkJarJobRequest body = new UpdateFlinkJarJobRequest(); body.name("update-job"); JobUpdateResponse result = client.updateFlinkJarJob(body,202L); System.out.println(result); }
  • 新建自定义作业 DLI提供新建Flink自定义作业的接口。您可以使用该接口创建一个用户自定义作业,目前支持jar格式,运行在独享队列中。示例代码如下: 1 2 3 4 5 6 7 8 9 10 private static void createFlinkJob(DLIClient client) throws DLIException { CreateFlinkJarJobRequest body = new CreateFlinkJarJobRequest(); body.name("jar-job"); body.cuNumber(2); body.managerCuNumber(1); body.parallelNumber(1); body.entrypoint("dli/WindowJoin.jar"); JobStatusResponse result = client.createFlinkJarJob(body); System.out.println(result); }
  • 更新SQL作业 DLI提供更新Flink SQL作业接口。您可以使用该接口更新Flink SQL作业,示例代码如下: 1 2 3 4 5 6 private static void updateSQLJob(DLIClient client) throws DLIException { UpdateFlinkSqlJobRequest body = new UpdateFlinkSqlJobRequest(); body.name("update-job"); JobUpdateResponse result = client.updateFlinkSqlJob(body,203L); System.out.println(result); }
  • 新建SQL作业 DLI提供新建Flink SQL作业的接口。您可以使用该接口新建Flink SQL作业并提交到DLI,示例代码如下: 1 2 3 4 5 6 7 8 9 10 private static void createSQLJob(DLIClient client) throws DLIException { SubmitFlinkSqlJobRequest body = new SubmitFlinkSqlJobRequest(); body.name("job-name"); body.runMode(SubmitFlinkSqlJobRequest.RunModeEnum.SHARED_CLUSTER); body.checkpointEnabled(false); body.checkpointMode(1); body.jobType(SubmitFlinkSqlJobRequest.JobTypeEnum.JOB); JobStatusResponse result = client.submitFlinkSqlJob(body); System.out.println(result); }
  • 查询作业列表 DLI提供查询Flink作业列表的接口。您可以使用该接口查询作业列表。作业列表查询支持以下参数: name,status,show_detail,cursor,next,limit,order。本示例排序方式选择降序desc,将会列出作业id小于cursor的作业列表信息。示例代码如下: 1 2 3 4 private static void QueryFlinkJobListResponse(DLIClient client) throws DLIException { QueryFlinkJobListResponse result = client.getFlinkJobs(null, "job_init", null, true, 0L, 10, null, null,null,null,null); System.out.println(result); }
  • 删除队列 DLI提供删除队列的接口,您可以使用该接口删除队列。示例代码如下: 1 2 3 4 5 6 7 private static void deleteQueue(DLIClient client) throws DLIException { //调用DLIClient对象的getQueue("queueName")方法获取queueName这个队列 String qName = "queueName"; Queue queue = client.getQueue(qName); //使用deleteQueue()方法删除queueName队列 queue.deleteQueue(); }
  • 获取默认队列 DLI提供查询默认队列的接口,您可以使用默认队列提交作业。示例代码如下: 1 2 3 4 5 private static void getDefaultQueue(DLIClient client) throws DLIException{ //调用DLIClient对象的getDefaultQueue方法查询默认队列 Queue queue = client.getDefaultQueue(); System.out.println("defaultQueue is:"+ queue.getQueueName()); } 默认队列允许所有用户使用,DLI会限制用户使用默认队列的次数。
  • 创建队列 DLI提供创建队列的接口,您可以使用该接口创建队列。示例代码如下: 1 2 3 4 5 6 7 8 9 private static void createQueue(DLIClient client) throws DLIException { //通过调用DLIClient对象的createQueue方法创建队列 String qName = "queueName"; int cu = 16; ChargingMode mode = ChargingMode.CHARGING_MODE_CU; String description = "test for sdk"; Queue queue = client.createQueue(qName, cu, mode, description); System.out.println("---------- createQueue success ---------"); }
  • 删除数据库 DLI提供删除数据库的接口。您可以使用该接口删除数据库。示例代码如下: 1 2 3 4 5 6 7 8 //调用Database对象的deleteDatabase接口删除数据库, //其中Database对象通过调用对象DLIClient的getDatabase(String databaseName)接口获得. private static void deletedatabase(Database database) throws DLIException { String dbName = "databasename"; database=client.getDatabase(dbName); database.deleteDatabase(); System.out.println("delete db " + dbName); } 含表的数据库不能直接删除,请先删除数据库的表再删除数据库。 数据库删除后,将不可恢复,请谨慎操作。
  • 创建数据库 DLI提供创建数据库的接口。您可以使用该接口创建数据库,示例代码如下: 1 2 3 4 5 6 7 private static Database createDatabase(DLIClient client) throws DLIException { //通过调用DLIClient对象的createDatabase方法创建数据库 String dbName = "databasename"; Database database = client.createDatabase(dbName); System.out.println("create database:" + database); return database; } “default”为内置数据库,不能创建名为“default”的数据库。
  • 查询所有资源包 DLI提供查询资源列表接口,您可以使用该接口并选择相应的资源来执行作业。示例代码如下: 1 2 3 4 5 6 7 8 9 10 11 private static void listAllResources(DLIClient client) throws DLIException { System.out.println("list all resources..."); // 通过调用DLIClient对象的listAllResources方法查询队列资源列表 Resources resources = client.listAllResources(); for (PackageResource packageResource : resources.getPackageResources()) { System.out.println("Package resource name:" + packageResource.getResourceName()); } for (ModuleResource moduleResource : resources.getModuleResources()) { System.out.println("Module resource name:" + moduleResource.getModuleName()); } }
  • 删除资源包 您可以使用该接口删除已上传的资源包,示例代码如下: private static void deleteResource(DLIClient client) throws DLIException { String resourceName = "xxxxx"; //group:资源包不在分组内,可不传入该参数 String group= "xxxxxx"; // 调用DLIClient对象的deleteResource方法删除资源 client.deleteResource(resourceName,group); System.out.println("---------- deleteResource success ---------"); }
  • 查询指定资源包 您可以使用该接口查询指定的资源包信息,示例代码如下: private static void getResource(DLIClient client) throws DLIException { String resourceName = "xxxxx"; //group:资源包不在分组内,可不传入该参数 String group= "xxxxxx"; // 调用DLIClient对象的getResource方法查询指定资源包 PackageResource packageResource=client.getResource(resourceName,group); System.out.println(packageResource); }
  • 调用API获取项目ID 项目ID可通过调用查询项目列表API获取。 获取项目ID的接口为“GET https://{Endpoint}/v4/projects/”,其中{Endpoint}为需求管理的终端节点,可以从地区和终端节点获取。接口的认证鉴权请参见认证鉴权。 响应示例如下,其中projects下的“project_id”即为项目ID。 { "projects" : [ { "project_num_id" : 3183801, "project_id" : "41bd3eab86544863b8fc92ffcd35e3c8", "project_name" : "demo_project", "description" : "demo", "created_time" : 1576114296000, "updated_time" : 1576114296000, "project_type" : "xboard", "creator" : { "user_num_id" : 4097, "user_id" : "c4bd39f0573a436589714bedbcca8536", "user_name" : "modile_user", "domain_id" : "2489d8cbba804db8bcd35384685ff3ac", "domain_name" : "modile_user", "nick_name" : "Tom.M.Riddle" } } ], "total" : 10 }
  • 操作步骤 去掉模板中的Region属性 检查模板中的所有resources,去掉region属性,如下图所示。在创建华为云资源的时候,如果不指定Region,将会使用provider级别的Region,更新信息可参考huaweicloud provider的文档; 去掉provider.tf中的Region,最终providers.tf的配置如下: ① // Configure the HuaweiCloud Provider ② provider "huaweicloud" {} 动态获取当前Console所在region 华为云的云服务大多是Region级的服务,在创建各种云服务的时候,可能会需要用到Region的地方,此时可以动态的获取Region,如下所示,后续所有需要用到Region的地方可直接引用local.region。 // 查询可用区 data "huaweicloud_availability_zones" "az" {} locals { // 获取当前Console所在的Region region = data.huaweicloud_availability_zones.az.region }
  • 操作方法 上传备份文件到相关区域的OBS,如下图所示。OBS桶的创建和对象上传可以参考《创建桶》和《上传对象》; 购买相关版本的RDS for sqlserver数据库,用于手工恢复数据,如下图所示。RDS for sqlserver的购买可以参考《RDS for SQL Server快速入门》; DRS控制台,创建备份迁移任务,如下图所示,详细可参考《创建RDS备份迁移任务》; 创建备份迁移任务,选择备份文件所在的OBS桶和具体的备份文件,然后点击“下一步”,如下图所示; 选择目标RDS实例,如下图所示,然后点击“下一步”; 确认迁移任务相关配置,如果没有问题,点击“启动任务”,即可开始迁移; 当任务状态为“成功”的时候,则代表迁移完成,如下图所示。迁移完成以后,需要登录数据库,验证迁移的数据是否完整。 使用DAS导出sql格式的数据,详细可参考《数据导出》。 登录恢复成功后的数据库,如下图所示: 点击“导出”,如下图所示: 单击“导出数据库”,如下图所示: 新建导出任务,如下图所示: 配置完以后,点击“确定”。如下图所示,当任务的状态为“已完成”的时候,则代表导出完成,可以单击“下载”,获取相应的sql文件。
  • 如何申请网络研讨会测试资源? 前提条件 您需要先 注册华为账号 并开通华为云、注册华为云会议账号。若无相关账号,请先注册华为账号和华为云会议账号。 使用华为云账号登录华为云会议控制台,绑定华为云会议账号。 申请步骤 使用华为云账号登录华为云会议控制台。 单击左侧菜单栏中的“POC测试申请”。 图1 POC测试申请 在POC测试申请界面,单击“POC测试申请”按钮。 图2 打开POC测试申请页面 选择“产品POC测试”,将相关信息填入申请表单,请在“使用场景”中填写“申请网络研讨会测试资源”,单击“确认”。运营人员完成审批后,您将收到短信提醒。 图3 填写申请信息 网络研讨会测试资源申请成功后,具体使用操作请参考分配网络研讨会资源。 父主题: 资源订购
  • 导入 导入EXCEL 单击逻辑实体列表上方“导入”中的“导入EXCE”。在“导入表”对话框中,选择“导入配置”页签,单击“下载关系建模导入模板”。 图17 导入EXCEL 下载关系建模导入模板后,编辑完成后保存至本地。 选择是否更新已有数据。 如果系统中已有的编码和模板中的编码相同,系统则认为是数据重复。 不更新:当数据重复时,不会替换系统中原有的数据。 更新:当数据重复时 系统中的原有数据为草稿状态,则会覆盖生成新的草稿数据。 系统中的原有数据为发布状态,则会生成下展数据。 单击“添加文件”,选择编辑完成的导入模板。 单击“上传文件”,上传完成后,自动跳转到“上次导入”页签,查看已导入的数据。 单击“关闭”。 导入LDM 导入LDM模型时,请先选择一个主题。不选择则无法导入。 当前仅支持导入逻辑模型。 请准备好需要导入的.ldm格式的逻辑模型。该逻辑模型是从第三方系统Power Designer导出来的。 导入的LDM模型支持的版本:16.x 单击逻辑实体列表上方“导入”中的“导入LDM”。在“导入表”对话框中,选择“导入配置”页签。 图18 导入LDM 选择是否更新已有数据。 不更新:当数据重复时,不会替换系统中原有的数据。 更新:当数据重复时 系统中的原有数据为草稿状态,则会覆盖生成新的草稿数据。 系统中的原有数据为发布状态,则会生成下展数据。 单击“添加文件”,选择提前准备好的.ldm格式的逻辑模型。 单击“上传文件”,上传完成后,自动跳转到“上次导入”页签,查看已导入的数据。 单击“关闭”。
  • SDK列表 表1提供了各个云服务支持的SDK列表,您可以在GitHub仓库查看SDK更新历史、获取安装包以及查看指导文档。 表1 SDK列表 编程语言 Github地址 参考文档 视频指导 Java huaweicloud-sdk-java-v3 Java SDK使用指导 Java SDK视频指导 Python huaweicloud-sdk-python-v3 Python SDK使用指导 Python SDK视频指导 PHP huaweicloud-sdk-php-v3 PHP SDK使用指导 PHP SDK视频指导 Go huaweicloud-sdk-go-v3 Go SDK使用指导 Go SDK视频指导 Node.js huaweicloud-sdk-nodejs-v3 Node.js SDK使用指导 Node.js SDK视频指导 .NET huaweicloud-sdk-net-v3 .NET SDK使用指导 .NET SDK视频指导
  • 修改告警规则 登录 GaussDB (DWS) 管理控制台。 在左侧导航栏,单击“告警管理”,切换至“告警”页签。 单击左上角的“告警规则管理”按钮,进入告警规则页面。 在指定告警规则名称所在行操作列,单击“修改”按钮进入修改告警规则页面。 用户只能修改部分默认规则的选项(规则绑定集群、告警策略的触发阈值、数据抓取区间和告警抑制条件),可修改自定义规则的全部选项。 表1 告警规则参数 名称 说明 样例值 告警规则名称 规则名称长度为6到64个字符,且只能是首位非数字的中文、英文、数字、斜线组合。 - 规则描述 自定义描述,不超过490个字符。 - 规则绑定集群 可在该下拉框中选择当前租户下的集群作为告警模块的监控集群。 所有集群 策略触发关系 策略触发关系包括: 相互独立:各个告警策略之间互相独立触发。 按优先级:各个告警策略之间按照排列的先后顺序触发,当高优先级策略触发后低优先级策略就不会再做判断。 相互独立 告警策略 告警策略包括: 指标名称:GaussDB(DWS) 数据仓库 的监控指标,告警引擎用来做阈值判断的数据源。 告警对象(自定义告警规则参数):选择的当前集群中包含的数据库,及其已选择的数据库中所包含的SCHEMA。 触发条件:定义对监控指标做阈值判断的计算规则。目前主要使用一段时间内的平均值来降低告警震荡的几率。 抑制条件:在指定的时间段内,抑制同类型告警的反复触发和消除。 告警级别:告警的严重程度,包含紧急、重要、次要和提示。 - 确认无误后,单击“确认”。
  • 告警参数 参数名称 参数含义 告警源 产生告警的系统名称,告警的详细分类。 集群名称 产生告警的集群。 定位信息 产生告警的集群ID,集群名称。 附加信息 CloudService表示产生告警的云服务,依次为服务名,资源标识,资源名称,数据库名称,连接后端的用户名称,查询Id;first_alarm_time表示告警的首次出现时间;查询语句则表示引发此告警的查询语句,最后附带由此查询语句引发的下盘量。示例:CloudService=DWS,resourceId:xxxx-xxxx-xxxx-xxxx,resourceIdName:test_dws,db_name:test_db,user_name:test_user,query_id:756942385413326696,first_alarm_time:2022-12-30:12:42:77:查询语句(ID=756942385413326696) select num,value,cnt,rk,cnt/sumcnt as ratio,sum(ratio) over (over by rk) as cumuratio from ......;触发结果集下盘,且下盘量为15GB。 告警时间 告警的产生时间。 状态 告警当前的活动状态。 关于附加信息中下盘量,可连接数据库执行SELECT * FROM GS_WLM_SESSION_STATIS TICS 查看该视图中的max_spill_size字段。
共100000条