func()

in datahub/implement.go [762:793]


func (datahub *DataHub) CreateConnectorWithPara(projectName, topicName string, para *CreateConnectorParameter) (*CreateConnectorResult, error) {
	if !util.CheckProjectName(projectName) {
		return nil, NewInvalidParameterErrorWithMessage(projectNameInvalid)
	}
	if !util.CheckTopicName(topicName) {
		return nil, NewInvalidParameterErrorWithMessage(topicNameInvalid)
	}
	if para == nil {
		return nil, NewInvalidParameterErrorWithMessage(parameterNull)
	}
	if !validateConnectorType(para.ConnectorType) {
		return nil, NewInvalidParameterErrorWithMessage(parameterTypeInvalid)
	}

	path := fmt.Sprintf(connectorPath, projectName, topicName, para.ConnectorType.String())
	reqPara := &RequestParameter{
		Header: map[string]string{httpHeaderContentType: httpJsonContent},
	}
	ccr := &CreateConnectorRequest{
		Action:        "create",
		Type:          para.ConnectorType,
		SinkStartTime: para.SinkStartTime,
		ColumnFields:  para.ColumnFields,
		ColumnNameMap: para.ColumnNameMap,
		Config:        para.Config,
	}
	respBody, commonResp, err := datahub.Client.Post(path, ccr, reqPara)
	if err != nil {
		return nil, err
	}
	return NewCreateConnectorResult(respBody, commonResp)
}