调用CreateTable创建一个MaxCompute表或视图。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

请求参数

名称 类型 是否必选 示例值 描述
Action String CreateTable

要执行的操作。

Columns.N.ColumnName String columnName1

字段的名称。

Columns.N.ColumnType String string

字段的类型。

HasPart Integer 0

创建的MaxCompute表是否为分区表:

  • 1为分区表。
  • 0为非分区表。
RegionId String cn-shanghai

地域信息,通常为服务所在的地域。例如,华东2(上海)为cn-shanghai,华北3(张家口)为cn-zhangjiakou。您无需填写RegionId,会根据调用的Endpoint自动解析。

TableName String tableName1

表的名称。

Columns.N.ColumnNameCn String 中文名

字段的中文名称。

Columns.N.SeqNumber Integer 1

字段的序列号。您可以指定字段在表中的排序,默认按照创建请求的顺序排序。

Columns.N.Length Integer 10

字段的长度。

Columns.N.IsPartitionCol Integer 0

当前字段是否为分区字段:

  • 1为分区字段。
  • 0为非分区字段。
Columns.N.IsPrimaryKey Integer 0

当前字段是否为主键:

  • 1为主键。
  • 0为非主键。
Columns.N.IsNullable Integer 1

是否允许当前字段为空:

  • 1为允许。
  • 0为不允许。
Columns.N.Comment String 备注

字段的备注。

IsView Integer 0

指定创建视图或创建表:

  • 0为创建表。
  • 1为创建视图。
Visibility Integer 1

表或工作空间是否可见:

  • 0为表和工作空间均不可见。
  • 1为表和工作空间均可见。
  • 2为仅工作空间可见。
LifeCycle Integer 10

表的生命周期。默认取值为空,表示永久存储。

CategoryId Long 101

关联类目的ID。您可以通过GetMetaCategory接口查询可以关联的类目ID。

LogicalLevelId Long 101

逻辑层级ID。

PhysicsLevelId Long 101

物理层级ID。

ExternalTableType String 0

外部表的存储类型。取值如下:

  • 0表示OSS。
  • 1表示TableStore。
  • 2表示Volume。
  • 3表示MySQL。
Location String location

外部表的存储地址。

ProjectId Long 23

DataWorks工作空间的ID。

Endpoint String odps://abc

MaxCompute的Endpoint。

EnvType Integer 1

DataWorks工作空间的环境。取值如下:

  • 0表示开发环境。
  • 1表示生产环境。
Themes.N.ThemeId Long 101

主题ID。

Themes.N.ThemeLevel Integer 101

主题ID对应的主题层级。您可以通过ListTableTheme接口查询主题层级。

AppGuid String odps.test

MaxCompute项目的ID,格式为odps.{projectName}。

Comment String 备注

备注信息。

返回数据

名称 类型 示例值 描述
RequestId String abcdef

请求ID。

TaskInfo Struct

请求任务的信息。

请求任务提交成功后,会被分为多个子任务有序执行。当前子任务执行成功后,才会继续执行下一个子任务,所有子任务执行完毕,该请求任务结束。

如下情况,请求任务会终止,您需要根据错误码信息解决问题后重新发起请求任务:

  • 请求任务提交失败。
  • 请求任务提交成功后,任意子任务执行失败。
Content String success

当前子任务的执行状态详细信息。具体如下:

  • 执行成功,则显示success。
  • 执行失败则显示对应的报错详情。
NextTaskId String abc1

即将执行的子任务ID。如果该字段为空,则表示所有子任务均已结束。您可以使用获取到的ID,从GetDDLJobStatus接口查询对应子任务的状态。

Status String success

当前执行的子任务的状态信息。取值如下:

  • operating表示子任务正在执行中。
  • success表示子任务执行成功。
  • failure表示子任务执行失败。详细的报错信息请参见Content参数。
TaskId String abc

当前执行的子任务ID。

示例

请求示例

http(s)://[Endpoint]/?Action=CreateTable
&Columns.1.ColumnName=columnName1
&Columns.1.ColumnType=string
&HasPart=0
&RegionId=cn-shanghai
&TableName=tableName1
&<公共请求参数>

正常返回示例

XML 格式

<TaskInfo>
    <Status>success</Status>
    <TaskId>abc</TaskId>
    <Content>success</Content>
    <NextTaskId>abc1</NextTaskId>
</TaskInfo>
<RequestId>abcdef</RequestId>

JSON 格式

{
    "TaskInfo": {
        "Status": "success",
        "TaskId": "abc",
        "Content": "success",
        "NextTaskId": "abc1"
    },
    "RequestId": "abcdef"
}

错误码

HttpCode 错误码 错误信息 描述
500 InternalError.System An internal system error occurred. Try again later. 系统内部错误,请稍后再试。
500 InternalError.UserId.Missing An internal system error occurred. Try again later. 系统内部错误,请稍后再试。
403 ResourceNotAuthorized.Api You are not authorized to access the resources. 您无法访问未取得授权的资源。
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. 您的请求过于频繁,请尝试放缓请求速度。

访问错误中心查看更多错误码。