调用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 |
表是否存在:
该字段已废弃,请勿使用。 |
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 |
当前执行的子任务的状态信息。取值如下:
|
NextTaskId | String | abc1 |
即将执行的子任务ID。如果该字段为空,则表示所有子任务均已结束。您可以使用获取到的ID,从GetDDLJobStatus接口查询对应子任务的状态。 |
TaskId | String | abc |
当前执行的子任务ID。 |
Content | String | 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. | 系统内部错误,请稍后再试。 |
访问错误中心查看更多错误码。