调用UpdateTable更新MaxCompute表。

调试

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

请求参数

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

系统规定参数。取值:UpdateTable

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。

TableName String abc

MaxCompute表名称。

Endpoint String odps://

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

EnvType Integer 1

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

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 备注

备注信息。

Schema String default

表Schema信息。在ODPS,当您启动了三层模型时需要填写Schema信息。

Columns.N.ColumnNameCn String 中文

字段的中文名称。

Columns.N.ColumnName String abc

字段的名称。

Columns.N.Comment String 备注

字段的备注。

Columns.N.ColumnType String string

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

Columns.N.SeqNumber Integer 1

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

Columns.N.Length Integer 10

字段的长度。

Columns.N.IsPartitionCol Boolean 0

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

Themes.N.ThemeId Long 101

关联的主题ID。

Themes.N.ThemeLevel Integer 101

主题ID对应的层级。

返回数据

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

请求ID。

TaskInfo Object

请求任务的信息。

请求任务提交成功后,会被分为多个子任务有序执行。当前子任务执行成功后,才会继续执行下一个子任务,所有子任务执行完毕,该请求任务结束。如下情况,请求任务会终止,您需要根据错误码信息解决问题后重新发起请求任务:

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

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

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

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

TaskId String abc

当前执行的子任务ID。

Content String success

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

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

示例

请求示例

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

正常返回示例

XML格式

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

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

JSON格式

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

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

错误码

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. 系统内部错误,请稍后再试。

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