调用CreateTable创建一个MaxCompute的表或视图。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
请求参数
名称 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
Action | String | 是 | CreateTable |
系统规定参数。取值:CreateTable。 |
IsView | Integer | 否 | 0 |
指定创建视图或创建表:
|
Visibility | Integer | 否 | 1 |
表或工作空间是否可见:
|
LifeCycle | Integer | 否 | 10 |
表的生命周期,单位为天。默认取值为空,表示永久存储。 |
CategoryId | Long | 否 | 101 |
关联类目的ID。您可以通过GetMetaCategory接口查询可以关联的类目ID。 |
LogicalLevelId | Long | 否 | 101 |
逻辑层级ID。 |
PhysicsLevelId | Long | 否 | 101 |
物理层级ID。 |
ExternalTableType | String | 否 | 0 |
外部表的存储类型。取值如下:
|
Location | String | 否 | location |
外部表的存储地址。 |
ProjectId | Long | 否 | 23 |
DataWorks工作空间的ID。 |
TableName | String | 是 | tableName1 |
表的名称。 |
Endpoint | String | 否 | odps://abc |
MaxCompute的Endpoint。 |
EnvType | Integer | 否 | 1 |
DataWorks工作空间的环境。取值如下:
|
AppGuid | String | 否 | odps.test |
MaxCompute项目的ID,格式为odps.{projectName}。 |
Comment | String | 否 | 备注 |
备注信息。 |
HasPart | Integer | 否 | 0 |
创建的MaxCompute表是否为分区表,包括1(是)和0(否)。该字段已废弃,请勿使用。 目前代码会根据Column.N.isPartitionCol参数判断MaxCompute表是否为分区表,当Column.N.isPartitionCol参数取值为true时,则认为MaxCompute表为分区表。 |
ClientToken | String | 否 | 保留字段 |
保留字段。 |
Schema | String | 否 | default |
表Schema信息。在ODPS,当您启动了三层模型时需要填写Schema信息。 |
Columns.N.ColumnNameCn | String | 否 | 中文名 |
字段的中文名称。 |
Columns.N.ColumnName | String | 是 | columnName1 |
字段的名称。 CreateTable API当前最多支持配置1000个字段。 |
Columns.N.Comment | String | 否 | 备注 |
字段的备注信息。 |
Columns.N.ColumnType | String | 是 | string |
字段的类型。 |
Columns.N.SeqNumber | Integer | 否 | 1 |
字段的序列号。您可以指定字段在表中的排序,默认按照创建请求的顺序排序。 如果字段为分区字段,则不支持配置Columns.N.SeqNumber。 |
Columns.N.Length | Integer | 否 | 10 |
字段的长度,详情请参见:数据类型版本。 |
Columns.N.IsPartitionCol | Boolean | 否 | true |
当前字段是否为分区字段。 |
Themes.N.ThemeId | Long | 否 | 101 |
主题ID。 |
Themes.N.ThemeLevel | Integer | 否 | 101 |
主题ID对应的主题层级。 |
返回数据
名称 | 类型 | 示例值 | 描述 |
---|---|---|---|
RequestId | String | abcdef |
请求ID。 |
TaskInfo | Object |
请求任务的信息。 请求任务提交成功后,会被分为多个子任务有序执行。当前子任务执行成功后,才会继续执行下一个子任务,所有子任务执行完毕,该请求任务结束。 如下情况,请求任务会终止,您需要根据错误码信息解决问题后重新发起请求任务:
|
|
Status | String | success |
当前执行的子任务的状态信息。取值如下:
|
NextTaskId | String | abc1 |
即将执行的子任务ID。如果该字段为空,则表示所有子任务均已结束。您可以使用获取到的ID,从GetDDLJobStatus接口查询对应子任务的状态。 |
TaskId | String | abc |
当前执行的子任务ID。 |
Content | String | success |
当前子任务的执行状态详细信息。具体如下:
|
示例
请求示例
http(s)://[Endpoint]/?Action=CreateTable
&Columns.1.ColumnName=columnName1
&Columns.1.ColumnType=string
&RegionId=cn-shanghai
&TableName=tableName1
&<公共请求参数>
正常返回示例
XML
格式
HTTP/1.1 200 OK
Content-Type:application/xml
<CreateTableResponse>
<TaskInfo>
<Status>success</Status>
<TaskId>abc</TaskId>
<Content>success</Content>
<NextTaskId>abc1</NextTaskId>
</TaskInfo>
<RequestId>abcdef</RequestId>
</CreateTableResponse>
JSON
格式
HTTP/1.1 200 OK
Content-Type:application/json
{
"TaskInfo" : {
"Status" : "success",
"TaskId" : "abc",
"Content" : "success",
"NextTaskId" : "abc1"
},
"RequestId" : "abcdef"
}
错误码
HttpCode | 错误码 | 错误信息 | 描述 |
---|---|---|---|
403 | Forbidden.Access | Access is forbidden. Please first activate DataWorks Enterprise Edition or Flagship Edition. | 您被限制访问,请开通DataWorks企业版或旗舰版。 |
429 | Throttling.Api | The request for this resource has exceeded your available limit. | 对该资源的请求已超过您的可用上限。 |
429 | Throttling.Api.Risk | The request for this resource has exceeded your daily available limit. | 对该资源的请求已超过您的每日可用上限。 |
429 | Throttling.System | The DataWorks system is busy. Try again later. | DataWorks系统繁忙,请稍后再试。 |
429 | Throttling.User | Your request is too frequent. Try again later. | 您的请求过于频繁,请尝试放缓请求速度。 |
500 | InternalError.System | An internal system error occurred. Try again later. | 系统内部错误,请稍后再试。 |
500 | InternalError.UserId.Missing | An internal system error occurred. Try again later. | 系统内部错误,请稍后再试。 |
访问错误中心查看更多错误码。