Todos os produtos
Search
Central de documentação

:CreateDataSource

Última atualização: Jun 27, 2026

Adiciona uma fonte de dados ao DataWorks.

Depuração

O OpenAPI Explorer calcula automaticamente o valor da assinatura. Para sua conveniência, recomendamos chamar esta operação no OpenAPI Explorer. O OpenAPI Explorer gera dinamicamente o código de exemplo da operação para diferentes SDKs.

Parâmetros da solicitação

Parâmetro Tipo Obrigatório Exemplo Descrição
Action String Sim CreateDataSource

A operação a ser executada. Defina o valor como CreateDataSource.

ProjectId Long Sim 1

ID do workspace do DataWorks ao qual a fonte de dados pertence. Chame a operação ListProjects para obter esse ID.

Name String Sim abc

Nome da fonte de dados.

Description String Não abc

Descrição da fonte de dados.

DataSourceType String Sim rds

Tipo da fonte de dados. Valores válidos:

  • odps
  • mysql
  • rds
  • oss
  • sqlserver
  • polardb
  • oracle
  • mongodb
  • emr
  • postgresql
  • analyticdb_for_mysql
  • hybriddb_for_postgresql
  • holo
SubType String Não mysql

Subtipo da fonte de dados.

  • Este parâmetro só tem efeito se DataSourceType estiver definido como rds.
  • Se DataSourceType for rds, defina este parâmetro como mysql, sqlserver ou postgresql.
EnvType Integer Sim 1

Ambiente de uso da fonte de dados. Valores válidos: 0 e 1. O valor 0 indica o ambiente de desenvolvimento; o valor 1, o ambiente de produção.

Content String Sim {"database":"dbname","instanceName":"instancename","password":"password","rdsOwnerId":"123","username":"username"}

Detalhes da fonte de dados. Exemplos para algumas fontes comuns:

  • odps

{
  "accessId": "xssssss",
  "accessKey": "xsaxsaxsa",
  "authType": 2,
  "endpoint": "http://service.odps.aliyun.com/api",
  "project": "xsaxsax",
  "tag": "public"
}
  • mysql

{
  "database": "xsaxsa",
  "instanceName": "rm-xsaxsa",
  "password": "xsaxsa",
  "rdsOwnerId": "xasxsa",
  "regionId": "cn-shanghai",
  "tag": "rds",
  "username": "xsaxsa"
}
  • rds

{
  "configType": 1,
  "tag": "rds",
  "database": "xsaxsa",
  "username": "xsaxsa",
  "password": "xssaxsa$32050",
  "instanceName": "rm-xsaxs",
  "rdsOwnerId": "11111111"
}
  • oss

{
  "accessId": "sssssxx",
  "accessKey": "xsaxaxsaxs",
  "bucket": "xsa-xs-xs",
  "endpoint": "http://oss-cn-shanghai.aliyuncs.com",
  "tag": "public"
}
  • sqlserver

{
  "jdbcUrl": "jdbc:sqlserver://xsaxsa-xsaxsa.database.xxx.cn:123;DatabaseName=xsxs-xsxs",
  "password": "sdasda$fs",
  "tag": "public",
  "username": "sxaxacdacdd"
}
  • polardb

{
  "clusterId": "pc-sdadsadsa",
  "database": "dsadsadsa",
  "ownerId": "121212122",
  "password": "sdasdafssa",
  "region": "cn-shanghai",
  "tag": "polardb",
  "username": "asdadsads"
}
  • redis

{    
"password": "xxxxxx",   
 "address":"[{\"host\":\"xxxxxxx.redis.rds.aliyuncs.com\",\"port\":6379}]",    
"tag": "public"
}
  • oracle

{
  "jdbcUrl": "jdbc:oracle:saaa:@xxxxx:1521:PROD",
  "password": "sxasaxsa",
  "tag": "public",
  "username": "sasfadfa"
}
  • mongodb

{
  "address": "[\"xsaxxsa.mongodb.rds.aliyuncs.com:3717\"]",
  "database": "admin",
  "password": "sadsda@",
  "tag": "public",
  "username": "dsadsadas"
}
  • emr

{
  "accessId": "xsaxsa",
  "emrClusterId": "C-dsads",
  "emrResourceQueueName": "default",
  "emrEndpoint": "emr.aliyuncs.com",
  "accessKey": "dsadsad",
  "emrUserId": "224833315798889783",
  "name": "sasdsadsa",
  "emrAccessMode": "simple",
  "region": "cn-shanghai",
  "authType": "2",
  "emrProjectId": "FP-sdadsad"
}
  • postgresql

{
  "jdbcUrl": "jdbc:postgresql://xxxx:1921/ssss",
  "password": "sdadsads",
  "tag": "public",
  "username": "sdsasda"
}
  • analyticdb_for_mysql

{
  "instanceId": "am-sadsada",
  "database": "xsxsx",
  "username": "xsxsa",
  "password": "asdadsa",
  "connectionString": "am-xssxsxs.ads.aliyuncs.com:3306"
}
  • hybriddb_for_postgresql

{
  "connectionString": "gp-xsaxsaxa-master.gpdbmaster.rds.aliyuncs.com",
  "database": "xsaxsaxas",
  "password": "xsaxsaxsa@11",
  "instanceId": "gp-xsaxsaxsa",
  "port": "541132",
  "ownerId": "xsaxsaxsas",
  "username": "sadsad"
}
  • holo

{
  "accessId": "xsaxsaxs",
  "accessKey": "xsaxsaxsa",
  "database": "xsaxsaxsa",
  "instanceId": "xsaxa",
  "tag": "aliyun"
}
  • kafka

{
  "instanceId": "xsax-cn-xsaxsa",
  "regionId": "cn-shanghai",
  "tag": "aliyun",
  "ownerId": "1212121212112"
}

Parâmetros de resposta

Parâmetro

Tipo

Exemplo

Descrição

HttpStatusCode

String

200

Código de status HTTP.

Data

Long

123

ID da fonte de dados.

RequestId

String

0bc141151593763****

ID da solicitação.

Success

Boolean

true

Indica se a solicitação foi bem-sucedida.

Exemplos

Exemplos de solicitações

http(s)://[Endpoint]/?Action=CreateDataSource
&ProjectId=1
&Name=abc
&Description=abc
&DataSourceType=rds
&SubType=mysql
&EnvType=1
&Content={"database":"dbname","instanceName":"instancename","password":"password","rdsOwnerId":"123","username":"username"}
&Common request parameters

Exemplos de respostas de sucesso

Formato XML

HTTP/1.1 200 OK
Content-Type:application/xml

<CreateDataSourceResponse>
    <HttpStatusCode>200</HttpStatusCode>
    <Data>123</Data>
    <RequestId>0bc141151593763****</RequestId>
    <Success>true</Success>
</CreateDataSourceResponse>

Formato JSON

HTTP/1.1 200 OK
Content-Type:application/json

{
  "HttpStatusCode" : "200",
  "Data" : 123,
  "RequestId" : "0bc141151593763****",
  "Success" : true
}

Códigos de erro

Código de status HTTP

Código de erro

Mensagem de erro

Descrição

400

Invalid.Tenant.ConnectionNotExists

The connection does not exist.

A fonte de dados especificada não existe.

400

Invalid.Tenant.ProjectNotExists

The project does not exist.

O workspace especificado não existe.

400

Invalid.Tenant.UserNotInProject

The user is not in the project.

O usuário não foi adicionado ao workspace.

400

ConnectionAlreadyExist

The connection with envType %s and name %s already exists.

A string de conexão já existe.

400

DataSource.CheckRamRoleFailure

Failed to check the RAM role. AccountId %s. roleArn %s.

Falha ao verificar as permissões na fonte de dados.

400

DataSource.ConnectionStrProperty.PatternNotMatch

The pattern value %s is invalid. The correct pattern is %s.

As propriedades da string de conexão da fonte de dados não correspondem às regras especificadas.

400

Invalid.DataSource.DataSourceTypeNotSupport

The dataSourceType %s and subType %s are not supported.

O tipo de fonte de dados não é compatível.

400

MissingParam.ConnectionStr.Property

You must specify property %s required by the data source connection string.

As propriedades obrigatórias da string de conexão da fonte de dados não foram especificadas.

400

Invalid.DataSource.DataSourceTypeNotExist

The data source type %s does not exist.

O tipo de fonte de dados especificado não existe.

403

Invalid.Tenant.UserIsNotProjectOwnerOrAdmin

The user is not a project administrator or owner.

O usuário não é proprietário nem administrador do workspace.

403

Invalid.Tenant.UserNotInTenant

The user is not in tenant.

O usuário não pertence ao tenant.

Para obter uma lista de códigos de erro, consulte Códigos de erro do serviço.