public void fromJsonObject()

in src/main/java/com/aliyun/openservices/log/common/EtlJob.java [152:196]


    public void fromJsonObject(JSONObject etljobJson) throws LogException {
        try {
            JSONObject sourceConfigJson = etljobJson.getJSONObject(Consts.ETL_JOB_SOURCE_CONFIG);
            EtlSourceConfig sourceConfig = new EtlSourceConfig(sourceConfigJson.getString(Consts.ETL_JOB_LOG_LOGSTORE_NAME));
            setSourceConfig(sourceConfig);

            JSONObject triggerConfigJson = etljobJson.getJSONObject(Consts.ETL_JOB_TRIGGER_CONFIG);
            EtlTriggerConfig triggerConfig = new EtlTriggerConfig(triggerConfigJson.getString(Consts.ETL_JOB_TRIGGER_ROLEARN),
                    triggerConfigJson.getIntValue(Consts.ETL_JOB_TRIGGER_INTERVAL), triggerConfigJson.getIntValue(Consts.ETL_JOB_TRIGGER_MAX_RETRY_TIME));
            if (triggerConfigJson.containsKey(Consts.ETL_JOB_TRIGGER_STARTING_POSITION)) {
                triggerConfig.setStartingPosition(triggerConfigJson.getString(Consts.ETL_JOB_TRIGGER_STARTING_POSITION));
            }
            if (triggerConfigJson.containsKey(Consts.ETL_JOB_TRIGGER_STARTING_UNIXTIME)) {
                triggerConfig.setStartingPosition(triggerConfigJson.getString(Consts.ETL_JOB_TRIGGER_STARTING_UNIXTIME));
            }
            setTriggerConfig(triggerConfig);

            JSONObject functionConfigJson = etljobJson.getJSONObject(Consts.ETL_JOB_FUNCTION_CONFIG);
            String functionProvider = functionConfigJson.getString(Consts.ETL_JOB_FUNCTION_PROVIDER);
            if (functionProvider.equals(Consts.FUNCTION_PROVIDER_FC)) {
                EtlFunctionFcConfig functionConfig = new EtlFunctionFcConfig(functionProvider, functionConfigJson.getString(Consts.ETL_JOB_FC_ENDPOINT),
                        functionConfigJson.getString(Consts.ETL_JOB_FC_ACCOUNT_ID), functionConfigJson.getString(Consts.ETL_JOB_FC_REGION_NAME),
                        functionConfigJson.getString(Consts.ETL_JOB_FC_SERVICE_NAME), functionConfigJson.getString(Consts.ETL_JOB_FC_FUNCTION_NAME));
                if (functionConfigJson.containsKey(Consts.ETL_JOB_TRIGGER_ROLEARN)) {
                    functionConfig.setRoleArn(functionConfigJson.getString(Consts.ETL_JOB_TRIGGER_ROLEARN));
                }
                setFunctionConfig(functionConfig);
            } else {
                EtlFunctionConfig functionConfig = new EtlFunctionConfig(functionProvider);
                setFunctionConfig(functionConfig);
            }

            JSONObject logConfigJson = etljobJson.getJSONObject(Consts.ETL_JOB_LOG_CONFIG);
            EtlLogConfig logConfig = new EtlLogConfig(logConfigJson.getString(Consts.ETL_JOB_LOG_ENDPOINT),
                    logConfigJson.getString(Consts.ETL_JOB_LOG_PROJECT_NAME), logConfigJson.getString(Consts.ETL_JOB_LOG_LOGSTORE_NAME));
            setLogConfig(logConfig);

            setFunctionParameter(etljobJson.getJSONObject(Consts.ETL_JOB_FUNCTION_PARAMETER).toString());
            setJobName(etljobJson.getString(Consts.ETL_JOB_NAME));
            setEnable(etljobJson.getBoolean(Consts.ETL_ENABLE));

        } catch (JSONException e) {
            throw new LogException("ParseEtlJobFail", e.getMessage(), e, "");
        }
    }