云服务器内容精选

  • 多对一同步 实时同步过程中,可以使用对象名映射功能修改库、schema、表名称,实现多对一的同步。 以库级多对一为例,schema、表级多对一场景可参考如下步骤: 在“设定同步”页面,同步对象右侧已选对象框中,选择需要进行多对一同步的数据库,分别单击“编辑”按钮。 在“编辑库名”的弹出框中,统一填写新的数据库名,修改后的名称即为保存在目标数据库中的库名。 例如,将源库中的库test_16和库auto_nprocess_001,修改为同样的库test_16_new。 图6 修改结果 库名修改成功后,您会看到修改前的库名和修改后的新数据库名,至此,表示已完成多对一库映射的配置。 配置完成后,等待任务启动并完成同步后,即可实现库test_16、库auto_nprocess_001到库test_16_new的同步。
  • 对象名修改 实时同步过程中,如果待同步的库、schema、表对象在源数据库和目标数据库中存储名称不同,可以使用实时同步提供的映射功能进行映射。例如:将源数据库中的A库同步到目标数据库,变成目标数据库中的B库,此时就可以使用库映射功能来实现。 在“设定同步”页面,同步对象右侧已选对象框中,选择需要进行映射的数据库,单击“编辑”按钮。 图1 库映射 修改名称。 在弹出的编辑框中,填写新的数据对象名称,修改后的名称即为保存在目标数据库中的名称。 图2 修改库名 图3 修改schema名 图4 修改表名 查看修改结果。 修改成功后,您会看到修改前和修改后的名称,至此,表示完成对象名映射的配置。 图5 查看修改结果
  • MongoDB数据库操作 在MongoDB数据库迁移过程中,常见的迁移用户一般分为两类:可迁移的用户和不可迁移的用户。 您可以根据业务需求选择“迁移”或者“不迁移”这些用户,当您选择迁移数据库用户时,需要按照如下操作步骤进行数据库用户及角色的处理。 迁移用户模块主要由账号名称、账号角色两部分构成。 对于可支持迁移的用户或者角色,您可以根据业务需求选择需要迁移的账号及角色。 如果所选迁移的账号依赖于某些角色,需要同时迁移该账号和所依赖的角色,否则会导致迁移失败。 图6 选择迁移用户 对于不支持迁移的用户或者角色,在备注列的查看详情中会提示具体的原因,您需要单击对应用户备注列的“查看”,确认详情后才可进行下一步操作。如果存在多个需要查看备注详情的用户,您也可以单击“确认所有备注”按钮,一键查看备注信息。 图7 查看备注信息
  • MySQL数据库操作 在MySQL迁移过程中,常见的迁移用户一般分为三类:可完整迁移的用户、需要降权的用户和不可迁移的用户。 可完整迁移的用户:可完整迁移的用户指满足目标数据库权限要求的用户,该类用户在进行迁移时不需要做任何处理,系统默认会将对应的数据库用户权限迁移至目标数据库。 需要降权处理的用户:需要降权的用户指具有不满足目标数据库权限要求的部分高权限的用户,比如具有:super、file、shutdown等高权限的用户。该类用户在进行迁移时需要进行降权处理,否则会导致迁移失败。 对于该类账号不支持的高权限,将会由DRS自动进行降权处理,您可以通过单击备注列的“查看”按钮查看具体的降权处理信息,依据该信息,可以帮助您评估降权是否对其业务程序造成相关影响。 不可迁移的用户:不可迁移的用户指由于某些原因,DRS不支持该类数据库用户的迁移。该类账号将在目标数据库中缺失,请先确保业务不受该类账号影响。同时,任务启动后,所有针对该类账号进行的权限密码操作,将会导致增量迁移失败。 您可以根据业务需求选择“迁移”或者“不迁移”这些用户,当您选择“迁移”数据库用户时,可以选择部分迁移,也可以选择全部迁移。可按照如下操作步骤进行数据库用户、权限和密码的处理,此处以勾选所有可以迁移的数据库用户为例。 迁移用户模块主要由账号名称、账号权限和账号密码三部分构成。 一般账号名称的组成格式为:'账号名'+@+'host',其中host表示具体允许访问源端数据库的目标库IP地址,您可以根据具体的业务场景选择是否需要修改账号的host地址,对目标库IP进行重规划。 host地址可在如下图所示的输入框中进行修改即可。源库为MySQL 8.0时,不建议修改host地址。 图1 修改host地址 账号权限一般默认不可修改,对于支持迁移的账号(可完整迁移的用户和需要降权的用户),系统也将默认支持对应用户权限的迁移。 迁移成功后,存储在目标数据库中的对应用户(需要降权的用户)是经过降权处理的用户。 图2 账号权限 DRS支持数据库用户密码的迁移。 数据库用户密码的迁移可通过如下两种方式来处理。 由于DRS在迁移时不会分析您的密码数据和强度,源系统密码复杂度过弱则存在安全风险,为了确保迁移过程中数据的安全性,您可以根据业务需求,选择是否需要重新设置数据库用户密码,通过设置较高的密码复杂度来持续保护数据库。 方式一:密码迁移。 图3 密码迁移 您可以选择在迁移的过程中,直接迁移源数据库系统当前的密码,此时不需要通过勾选“重置密码”来设置新密码。数据库用户密码迁移至目标库后,您如果担心用户密码强度较弱,为了确保数据库的安全性,此时也可以选择在目标库端重新设置强度较高的源系统密码。 方式二:重置密码。 图4 重置密码 如上图所示,您可以通过勾选“重置密码”选择立即重新设置源系统密码后再继续进行用户密码迁移。 您可以选择某个指定支持迁移的用户,在“输入密码”列直接设置新密码或者选择所有支持迁移的用户,勾选右下角“统一输入密码”,批量将所选用户密码设置为相同的密码,以便快速完成迁移。使用批量方法设置的密码,待迁移成功后,可以在目标数据库端通过执行DDL语句,进行密码重置。 对于需要降权处理的用户和不支持迁移的用户,在备注列的查看详情中会提示具体的原因,您需要单击对应用户备注列的“查看”,确认详情后才可进行下一步操作。如果存在多个需要查看备注详情的用户,您也可以单击“确认所有备注”按钮,一键查看备注信息。 图5 查看备注信息 数据库用户已存在是不支持迁移到目标数据库的常见情形,此时您可以根据实际情况,决定是否需要删除目标端已存在的数据库用户,并单击“刷新”按钮,刷新当前数据库迁移用户的分类。 以上重新设置的密码强度必须满足目标数据库的密码复杂度要求。
  • 请求示例 { "page": { "count": 15, "start": 0 }, "siteName": "作业对象名", "siteCode": "作业对象", "siteType": "屋顶站", "addressIdList": [ 1349762, 13497681, 1349870 ], "startDate": "2022-01-18 00:00:00", "endDate": "2022-04-18 23:59:59" }
  • 响应示例 { "stateCode": "0", "errorMessage": null, "result": { "data": [ { "signSiteId": 9911276271, "customerName": null, "tenantId": 100846, "tenantName": null, "projectNo": "", "projectName": null, "signSiteCode": "作业对象编码", "signSiteName": "作业对象名称", "signSiteSource": "1", "signSiteType": "屋顶站", "longitude": "0**.**", "latitude": "0**.**", "country": "中国", "province": "XX省", "city": "XX市", "district": null, "town": null, "signSiteAddress": "******", "contactPerson": null, "contactNumber": null, "status": null, "deleteFlag": 0, "createdBy": 223394, "creationDate": "2022-04-18T05:27:45.000+00:00", "lastUpdatedBy": 223394, "lastUpdateDate": "2022-04-18T05:42:15.000+00:00", "appName": "basedata-server", "entityName": "taskObject", "creationTimestamp": 1650259665322, "lastUpdateTimestamp": 1650260534803, "countryId": 1349762, "provinceId": 1349768, "cityId": 1349870, "createName": "133XXXX1010", "lastUpdateName": "133XXXX1010", "udfExtend1": null, "udfExtend2": null, "udfExtend3": null, "udfExtend4": null, "udfExtend7": null, "udfExtend8": null, "udfExtend9": null, "udfExtend10": null, "secret": "0", "geoHash": "7zzzzzzz", "customerId": null, "supplierId": null, "supplierName": null, "ownerIds": "", "ownerNames": null, "ownerGroupId": null, "ownerGroupName": null, "orgId": 112645, "orgName": "133XXXX1010" } ], "pos": 0, "total_count": 1, "entityName": null, "totalCount": 1 } }
  • 请求参数 参数 类型 是否必填 描述 page. count Int 是 每页条数 page. start Int 是 起始条数 siteName String 否 作业对象名称(新增时必填) siteCode String 否 作业对象编码(新增时必填) siteType String 否 作业对象类型 addressIdList Array 否 行政区域 startDate data 否 开始时间 endDate data 否 结束时间 udfExtend[1-10] 除udfExtend5和 udfExtend6为date类型,其他为String类型 否 扩展字段1-10 ownerIds String 否 责任人ID,多个ID用英文逗号隔开
  • 响应参数 参数 类型 描述 status String 处理结果(0代表success) errorMessage String 错误消息 data Object 返回结果 data出参: 字段名 字段名称 示例 signSiteId 作业对象主键id 9911276271, customerName 客户名称 null, tenantId 租户id 100846, tenantName 租户名称 null, projectNo 项目编码 - projectName 项目名称 null, signSiteCode 作业对象编码 作业对象编码 signSiteName 作业对象名称 作业对象名称 signSiteSource 作业对象来源 1 signSiteType 作业对象类型 屋顶站 longitude 经度 0**.** latitude 纬度 0**.** country 国家 中国 province 省份 XX省 city 城市 XX市 district 区 null, town 镇 null, signSiteAddress 详细地址 ****** contactPerson 联系人 null, contactNumber 联系电话 null, status 状态(预留字段) null, deleteFlag 删除标识 0, createdBy 创建人id 223394, creationDate 创建时间 2022-04-18T05:27:45.000+00:00 lastUpdatedBy 最后更新人 223394, lastUpdateDate 最后更新时间 2022-04-18T05:42:15.000+00:00 appName 应用名称 basedata-server entityName 实体名称 taskObject creationTimestamp 创建时间对应的毫秒数 1650259665322, lastUpdateTimestamp 最后一次更新时间对应的毫秒数 1650260534803, countryId 国家id 1349762, provinceId 省份id 1349768, cityId 城市id 1349870, createName 创建人名称 133XXXX1010 lastUpdateName 更新人名称 133XXXX1010 udfExtend1 扩展字段 null, udfExtend2 扩展字段 null, udfExtend3 扩展字段 null, udfExtend4 扩展字段 null, udfExtend7 扩展字段 null, udfExtend8 扩展字段 null, udfExtend9 扩展字段 null, udfExtend10 扩展字段 null, secret 是否敏感 0 geoHash 经纬度对应geoHash 7zzzzzzz customerId 客户id null, supplierId 供应商id null, supplierName 供应商名称 null, ownerIds 责任人ID,多个用英文逗号隔开 ownerNames 责任人群组id null, ownerGroupId 责任人群组名称 null, ownerGroupName 责任人名称,多个用英文逗号隔开 null, orgId 所属行政组织 112645, orgName 行政组织名称 133XXXX1010"
  • 操作步骤 登录OBS Browser。 单击待上传文件或文件夹的桶。 单击“上传”,系统弹出“上传对象”对话框,如图1所示。 您可以选择文件上传,详见4;也可以选择文件夹上传,详见5。 图1 上传对象 单击“选择文件”,打开本地浏览框。选择待上传文件后,单击“打开”。 您最多可同时选择500个文件或文件夹进行上传。 如果待上传至OBS的文件存放在Microsoft OneDrive中,建议这些待上传文件的名称不要超过32位,以保证兼容性。 单击“选择文件夹”,选择文件夹后,单击“确定”。 指定对象的存储类别。如果不指定,默认与桶的存储类别一致。 增加上传:开启增量上传功能,上传同名对象时,对象会比较大小、内容、修改时间等对象属性,如果有变动,则上传覆盖桶内对象,如果一致,则跳过该上传任务不上传对象。关闭增量上传功能时,对象不做对比,强制上传覆盖桶内对象。 单击“确定”,上传文件或文件夹。
  • 表映射 实时同步过程中,如果待同步的表在源数据库和目标数据库中的名称不同,可以使用实时同步提供的表映射功能进行表名映射。例如:将源数据库中的A表同步到目标数据库,变成目标数据库中的B表,此时就可以使用表映射功能来实现。 在“设定同步”页面,同步对象右侧已选对象框中,选择需要进行映射的表,单击“编辑”按钮。 图7 表映射 修改表名。 在“编辑表名”的弹出框中,填写新的表名,修改后的名称即为保存在目标数据库中的表名。 图8 修改表名 查看修改结果。 表名修改成功后,您会看到修改前的表名和修改后的新表名,至此,表示完成表映射的配置。 图9 查看表名修改结果
  • 请求参数 表1 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 通过调用 IAM 服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 最小长度:32 最大长度:2097152 Content-Type 是 String Content-Type 缺省值:application/json;charset=utf8 最小长度:1 最大长度:255 表2 请求Body参数 参数 是否必选 参数类型 描述 id 是 String 防护ip的id 最小长度:32 最大长度:64 tag 是 String 本地标签 最小长度:0 最大长度:2147483647
  • 请求示例 { "longitude":"113.9866", "latitude": "22.6707", "distance":20000, "mode":"", "siteName":"", "groupIdList":[], "groupIncludeChild":"", "signSiteParentId":"", "orgId":null, "orgIncludeChild":"", "addressIds":"", "deviceId":"", "customerId":"", "supplierId":"", "page":{"count":15,"start":0} }
  • 响应示例 { "stateCode": "0", "errorMessage": null, "result": { "data": [ { "signSiteId": 99053449, "customerName": "客户名称", "tenantId": 51678, "tenantName": null, "projectNo": "166755315906451678;tstteste1107", "projectName": "数据飞升1;没有行政区域", "signSiteCode": "fsefwefwewew", "signSiteName": "测试test315", "signSiteSource": "1", "signSiteType": "屋顶站", "signSiteTypeCode": "3", "signSiteLevel": null, "signSiteParentId": null, "longitude": "113.986606", "latitude": "22.670707", "country": "中国", "province": null, "city": null, "signSiteAddress": "******", "deleteFlag": 0, "createdBy": 234159, "creationDate": "2022-11-04T06:30:09.000+00:00", "lastUpdatedBy": 234159, "lastUpdateDate": "2023-03-15T02:02:53.000+00:00", "creationTimestamp": 1667543409629, "lastUpdateTimestamp": 1678845772720, "appName": "basedata-server", "entityName": "taskObject", "countryId": 1024531, "provinceId": null, "cityId": null, "createName": "155xxxx5678", "lastUpdateName": "155xxxx5678", "udfExtend1": "test", "udfExtend2": "123", "udfExtend3": "3", "udfExtend4": "", "udfExtend5": null, "udfExtend6": "2023-03-29T16:00:00.000+00:00", "udfExtend7": "自定义扩展属性7", "udfExtend8": null, "udfExtend9": null, "udfExtend10": null, "secret": "0", "geoHash": "ws10cz4d", "customerId": 275298, "supplierId": 296511, "supplierName": "供应商名称", "ownerIds": "1208239", "ownerNames": "131xxxx9888", "ownerGroupId": null, "ownerGroupName": null, "orgId": 98995196, "regionPath": "1024531", "regionId": 1024531, "orgPath": "-1.98995162.98995194.98995196", "orgFlag": "0", "positionSystem": "GPS", "taskObjectGroupId": 6731, "mappingOrgId": null, "deviceId": null, "deviceTypeId": null, "coordinate": "12,123.24,2541", "groupName": "通用", "groupPath": "6731", "distance": 1, "childCount": 0, "regionPathName": "中国", "regionNamePathList": [ "中国" ], "regionName": "中国" } ], "totalCount": 1 } }
  • 请求参数 参数 类型 是否必填 描述 longitude string 是 经度 latitude string 是 纬度 distance integer 否 距离(米), 最多50000, 不存默认10000 siteName string 否 作业对象名称 groupIdList array[long] 否 作业对象分组id数组(最多支持200个id) groupIncludeChild boolean 否 是否包含下层分组的数据(为true时groupIdLis数组长度只能为1) signSiteParentId long 否 作业对象父节点id page.start integer 否 分页起点 page.count integer 否 一页显示数量 orgId array[long] 否 组织单元id数组(最多支持200个id) orgIncludeChild boolean 否 是否包含下层组织单元的数据(为true时orgId数组长度只能为1) addressIds string 否 行政区域id路径,用英文逗号路径隔开,例如: 1000,1001,1002 mode string 否 支持list和map,不传默认list,为map时排除超过distance的数据 deviceId string 否 设备id customerId long 否 客户id supplierId long 否 供应商id
  • 响应示例 { "status": "success", "msg": null, "data": [ { "appName": "basedata-server", "createdBy": 1, "creationDate": "2021-01-16T03:16:54.000+00:00", "deleteFlag": 0, "entityName": "indelligentGroup", "groupPath": null, "lastUpdateDate": "2021-01-16T03:16:54.000+00:00", "lastUpdatedBy": 1, "level": 1, "objectGroupId": 1, "objectGroupName": "通用", "objectGroupNameEnUs": "Universals", "sort": 1, "tenantId": 1 }, { "appName": null, "createdBy": -1, "creationDate": "2021-02-27T08:24:52.000+00:00", "deleteFlag": 0, "entityName": "intelligentGroup", "groupPath": null, "lastUpdateDate": "2021-02-27T08:24:52.000+00:00", "lastUpdatedBy": -1, "level": 1, "objectGroupId": 50313, "objectGroupName": "电力行业", "objectGroupNameEnUs": "ElectricPower", "sort": 2 }, { "appName": null, "createdBy": -1, "creationDate": "2023-02-09T03:44:17.000+00:00", "deleteFlag": 0, "entityName": "intelligentGroup", "groupPath": null, "lastUpdateDate": "2023-02-09T03:44:17.000+00:00", "lastUpdatedBy": -1, "level": 1, "objectGroupId": 51568, "objectGroupName": "个体消费者", "objectGroupNameEnUs": null, "sort": 3 } ], "success": true, "failed": false }