调用UpdateTable更新MaxCompute表。

调试

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

请求参数

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

要执行的操作。

Columns.N.ColumnName String abc

字段的名称。

Columns.N.ColumnType String string

字段的类型,请参见MaxCompute支持的字段类型。

RegionId String cn-shanghai

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

TableName String abc

MaxCompute表名称。

Columns.N.ColumnNameCn String 中文

字段的中文名称。

Columns.N.SeqNumber Integer 1

字段的序号。如果字段为分区字段,则不支持配置Columns.N.SeqNumber。

Columns.N.Length Integer 10

字段的长度。

Columns.N.IsPartitionCol Boolean 0

是否为分区字段,包括0(否)和1(是)。

Columns.N.Comment String 备注

字段的备注。

IsView Integer 0

是否为视图,包括0(否)和1(是)。该字段已废弃,请勿使用。

Visibility Integer 1

表的可见性,包括0(对所有成员不可见)、1(对所有成员可见)和2(对工作空间成员可见)。

LifeCycle Integer 10

表的生命周期,单位为天。生命周期为空时,表示永久存储。

CategoryId Long 101

关联的类目ID。

LogicalLevelId Long 101

逻辑层级ID。

PhysicsLevelId Long 101

物理层级ID。

ExternalTableType String 1

外表的类型,包括0(OSS)、1(TableStore)、2(Volume)和3(MySQL)。该字段已废弃,请勿使用。

Location String location

外表的存储地址。该字段已废弃,请勿使用。

ProjectId Long 101

DataWorks工作空间的ID。您可以登录DataWorks控制台获取工作空间ID。

Endpoint String odps://

MaxCompute Endpoint。不填时,默认取项目对应的Endpoint。

EnvType Integer 1

DataWorks工作空间的环境,包括0(开发环境)和1(生产环境)。

Themes.N.ThemeId Long 101

关联的主题ID。

Themes.N.ThemeLevel Integer 101

主题ID对应的层级。

AppGuid String odps.test

MaxCompute项目的唯一标识,格式为odps.{projectName}。

CreateIfNotExists Boolean true

表是否存在:

  • true:是,表存在。
  • false:否,表不存在。

该字段已废弃,请勿使用。

HasPart Integer 0

需要更新的MaxCompute表是否为分区表,包括0(否)和1(是)。该字段已废弃,请勿使用。

目前代码会根据Column.N.isPartitionCol参数判断MaxCompute表是否为分区表,当Column.N.isPartition参数取值为1时,则认为MaxCompute表为分区表。

Comment String 备注

备注信息。

返回数据

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

请求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=UpdateTable
&Columns.1.ColumnName=abc
&Columns.1.ColumnType=string
&RegionId=cn-shanghai
&TableName=abc
&<公共请求参数>

正常返回示例

XML格式

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

JSON格式

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

错误码

HttpCode 错误码 错误信息 描述
500 InternalError.System An internal system error occurred. Try again later. 系统内部错误,请稍后再试。
500 InternalError.UserId.Missing An internal system error occurred. Try again later. 系统内部错误,请稍后再试。
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. 您的请求过于频繁,请尝试放缓请求速度。
403 Forbidden.Access Access is forbidden. Please first activate DataWorks Enterprise Edition or Flagship Edition. 您被限制访问,请开通DataWorks企业版或旗舰版。

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