开发者社区 问答 正文

如何配置同步作业



描述


当调用购买同步作业接口购买完同步实例后,可以调用这个接口配置同步作业。只有当同步作业处于未配置状态时,才可以调用这个接口配置作业。

请求参数

参数名称数据类型是否必须参数说明
ActionString系统默认参数,这个接口的接口定义,取值为:ConfigureSynchronizationJob
SynchronizationJobIdString同步作业Id
SynchronizationJobNameString同步作业名称
SourceEndpoint.InstanceIdString同步源实例的实例ID
SourceEndpoint.OwnerIDString当同步源实例跟目标实例实例不属于同一个阿里云账号时,这个参数为源实例所属阿里云账号的UID
SourceEndpoint.RoleString当同步源实例跟目标实例实例不属于同一个阿里云账号时,这个参数为源实例所属账号对目标实例所属阿里云账号的授权角色,角色的相关权限及授权步骤 参考 跨账号迁移同步
DestinationEndpoint.InstanceIdString同步目标实例的实例ID,如果为ODPS、Datahub那么为对应的Project;如果为AnalyticDB,那么为对应的数据库名。
SynchronizationObjectsList同步对象,其中SynchronizationObject的定义参考SynchronizationObject参数定义
StructureInitializationBoolean同步之前是否进行结构对象初始化,取值包括:true: 表示进行结构对象初始化 false:表示不进行结果对象初始化默认取值为:true
DataInitializationBoolean同步之前是否进行全量数据初始化,取值包括:true: 表示进行全量数据初始化 false:表示不进行全量数据初始化默认取值为:true
PartitionKey.ModifyTime_YearBoolean当同步的目标实例为ODPS时,这个参数为ODPS中增量日志表的分区键定义,取值包括:true:表示增量日志表的一级分区为年分区false:表示增量日志表不支持年分区默认取值为:true
PartitionKey.ModifyTime_MonthBoolean当同步的目标实例为ODPS时,这个参数为ODPS中增量日志表的分区键定义,取值包括:true:表示增量日志表支持月分区false:表示增量日志表不支持月分区默认取值为:true
PartitionKey.ModifyTime_DayBoolean当同步的目标实例为ODPS时,这个参数为ODPS中增量日志表的分区键定义,取值包括:true:表示增量日志表支持天分区false:表示增量日志表不支持天分区默认取值为:true
PartitionKey.ModifyTime_HourBoolean当同步的目标实例为ODPS时,这个参数为ODPS中增量日志表的分区键定义,取值包括:true:表示增量日志表支持小时分区false:表示增量日志表不支持小时分区默认取值为:true
PartitionKey.ModifyTime_MinuteBoolean当同步的目标实例为ODPS时,这个参数为ODPS中增量日志表的分区键定义,取值包括:true:表示增量日志支持分钟分区false:表示增量日志表不支持分钟分区。对于分钟分区,15分钟一个分区


返回参数

参数名称数据类型参数说明
<公共返回参数>接口请求ID


示例


下面简单演示通过JAVA SDK 配置同步实例的示例: public void configureSyncJobRDS2RDS(String SyncJobId,DefaultAcsClient client) {
        ConfigureSynchronizationJobRequest request = new ConfigureSynchronizationJobRequest();
        request.setSynchronizationJobId(SyncJobId);
        request.setSynchronizationJobName("jiangliu_test_rds2rds_sync");
        request.setSourceEndpointInstanceId("rm-bp185gso372vbd1l8");
        request.setDestinationEndpointInstanceId("rm-bp1nx2h5fm3v6q26l");
        request.setStructureInitialization(true);
        request.setDataInitialization(true);
        String SyncObject="[{\"DBName\":\"jiangliutest\",\"NewDBName\":\"jiangliutest\","
                + "\"TableIncludes\":[{\"TableName\":\"t1\",\"NewTableName\":\"t1\"}]}]";
        request.setSynchronizationObjects(SyncObject);
        ConfigureSynchronizationJobResponse response = new ConfigureSynchronizationJobResponse();
        try {
            response = client.getAcsResponse(request);
            System.out.println("Configure Sync Job Succeed!");
        } catch (Exception e) {
            // TODO: handle exception
            System.out.println("Configure Sync Job Failed");
            System.out.println(e.toString());
        }
    }

展开
收起
云栖大讲堂 2017-10-31 16:29:17 1735 分享 版权
0 条回答
写回答
取消 提交回答