openanalytics-open-20200928/main.tea (1,036 lines of code) (raw):
/**
*
*/
import Util;
import OpenApi;
import OpenApiUtil;
import EndpointUtil;
extends OpenApi;
init(config: OpenApi.Config){
super(config);
@endpointRule = 'central';
@endpointMap = {
cn-beijing = 'openanalytics.cn-beijing.aliyuncs.com',
cn-zhangjiakou = 'openanalytics.cn-zhangjiakou.aliyuncs.com',
cn-hangzhou = 'openanalytics.cn-hangzhou.aliyuncs.com',
cn-shanghai = 'openanalytics.cn-shanghai.aliyuncs.com',
cn-shenzhen = 'openanalytics.cn-shenzhen.aliyuncs.com',
cn-hongkong = 'openanalytics.cn-hongkong.aliyuncs.com',
ap-southeast-1 = 'openanalytics.ap-southeast-1.aliyuncs.com',
ap-southeast-2 = 'datalakeanalytics.ap-southeast-2.aliyuncs.com',
ap-southeast-3 = 'openanalytics.ap-southeast-3.aliyuncs.com',
ap-northeast-1 = 'datalakeanalytics.ap-northeast-1.aliyuncs.com',
eu-west-1 = 'openanalytics.eu-west-1.aliyuncs.com',
us-west-1 = 'openanalytics.us-west-1.aliyuncs.com',
us-east-1 = 'datalakeanalytics.us-east-1.aliyuncs.com',
eu-central-1 = 'datalakeanalytics.eu-central-1.aliyuncs.com',
ap-south-1 = 'openanalytics.ap-south-1.aliyuncs.com',
ap-northeast-2-pop = 'openanalytics.ap-northeast-1.aliyuncs.com',
ap-southeast-5 = 'openanalytics.ap-southeast-5.aliyuncs.com',
cn-beijing-finance-1 = 'openanalytics.aliyuncs.com',
cn-beijing-finance-pop = 'openanalytics.aliyuncs.com',
cn-beijing-gov-1 = 'openanalytics.aliyuncs.com',
cn-beijing-nu16-b01 = 'openanalytics.aliyuncs.com',
cn-chengdu = 'openanalytics.aliyuncs.com',
cn-edge-1 = 'openanalytics.aliyuncs.com',
cn-fujian = 'openanalytics.aliyuncs.com',
cn-haidian-cm12-c01 = 'openanalytics.aliyuncs.com',
cn-hangzhou-bj-b01 = 'openanalytics.aliyuncs.com',
cn-hangzhou-finance = 'openanalytics.aliyuncs.com',
cn-hangzhou-internal-prod-1 = 'openanalytics.aliyuncs.com',
cn-hangzhou-internal-test-1 = 'openanalytics.aliyuncs.com',
cn-hangzhou-internal-test-2 = 'openanalytics.aliyuncs.com',
cn-hangzhou-internal-test-3 = 'openanalytics.aliyuncs.com',
cn-hangzhou-test-306 = 'openanalytics.aliyuncs.com',
cn-hongkong-finance-pop = 'openanalytics.aliyuncs.com',
cn-huhehaote = 'openanalytics.cn-huhehaote.aliyuncs.com',
cn-north-2-gov-1 = 'openanalytics.aliyuncs.com',
cn-qingdao = 'openanalytics.cn-qingdao.aliyuncs.com',
cn-qingdao-nebula = 'openanalytics.aliyuncs.com',
cn-shanghai-et15-b01 = 'openanalytics.aliyuncs.com',
cn-shanghai-et2-b01 = 'openanalytics.aliyuncs.com',
cn-shanghai-finance-1 = 'openanalytics.aliyuncs.com',
cn-shanghai-inner = 'openanalytics.aliyuncs.com',
cn-shanghai-internal-test-1 = 'openanalytics.aliyuncs.com',
cn-shenzhen-finance-1 = 'openanalytics.aliyuncs.com',
cn-shenzhen-inner = 'openanalytics.aliyuncs.com',
cn-shenzhen-st4-d01 = 'openanalytics.aliyuncs.com',
cn-shenzhen-su18-b01 = 'openanalytics.aliyuncs.com',
cn-wuhan = 'openanalytics.aliyuncs.com',
cn-yushanfang = 'openanalytics.aliyuncs.com',
cn-zhangbei-na61-b01 = 'openanalytics.aliyuncs.com',
cn-zhangjiakou-na62-a01 = 'openanalytics.aliyuncs.com',
cn-zhengzhou-nebula-1 = 'openanalytics.aliyuncs.com',
eu-west-1-oxs = 'openanalytics.ap-northeast-1.aliyuncs.com',
me-east-1 = 'openanalytics.me-east-1.aliyuncs.com',
rus-west-1-pop = 'openanalytics.ap-northeast-1.aliyuncs.com',
};
checkConfig(config);
@endpoint = getEndpoint('openanalytics-open', @regionId, @endpointRule, @network, @suffix, @endpointMap, @endpoint);
}
function getEndpoint(productId: string, regionId: string, endpointRule: string, network: string, suffix: string, endpointMap: map[string]string, endpoint: string) throws: string{
if (!Util.empty(endpoint)) {
return endpoint;
}
if (!Util.isUnset(endpointMap) && !Util.empty(endpointMap[regionId])) {
return endpointMap[regionId];
}
return EndpointUtil.getEndpointRules(productId, regionId, endpointRule, network, suffix);
}
model AddPartitionsRequest {
partition?: [
{
dbName?: string(name='DbName', description='数据库名称'),
parameters?: map[string]string(name='Parameters', description='分区属性'),
storageDescriptor?: {
col?: [
{
comment?: string(name='Comment', description='列注释'),
name?: string(name='Name', description='列名'),
type?: string(name='Type', description='列类型'),
}
](name='Col', description='表的列信息'),
inputFormat?: string(name='InputFormat', description='表的 inputFormat'),
location?: string(name='Location', description='表路径'),
outputFormat?: string(name='OutputFormat', description='表的 outputFormat'),
parameters?: map[string]string(name='Parameters', description='StorageDescriptor 的属性'),
serDeInfo?: {
name?: string(name='Name', description='SerDe 的名字'),
parameters?: map[string]string(name='Parameters', description='SerDe 的'),
serializationLib?: string(name='SerializationLib', description='SerDe 的 serializationLib 信息'),
}(name='SerDeInfo', description='表的 serDeInfo'),
}(name='StorageDescriptor', description='分区的 StorageDescriptor '),
tableName?: string(name='TableName', description='表名'),
values?: [ string ](name='Values', description='需要添加的分区'),
}
](name='Partition', description='添加的分区'),
}
model AddPartitionsShrinkRequest {
partitionShrink?: string(name='Partition', description='添加的分区'),
}
model AddPartitionsResponseBody = {
code?: string(name='Code', description='如果后端处理出现错误,则表示错误的类型'),
data?: long(name='Data', description='成功添加的分区个数'),
message?: string(name='Message', description='如果后端处理出现错误,则表示错误的信息'),
requestId?: string(name='RequestId', description='请求的 ID'),
success?: boolean(name='Success', description='标识本次请求是否成功'),
}
model AddPartitionsResponse = {
headers: map[string]string(name='headers'),
body: AddPartitionsResponseBody(name='body'),
}
async function addPartitionsWithOptions(tmpReq: AddPartitionsRequest, runtime: Util.RuntimeOptions): AddPartitionsResponse {
Util.validateModel(tmpReq);
var request = new AddPartitionsShrinkRequest{};
OpenApiUtil.convert(tmpReq, request);
if (!Util.isUnset(tmpReq.partition)) {
request.partitionShrink = OpenApiUtil.arrayToStringWithSpecifiedStyle(tmpReq.partition, 'Partition', 'json');
}
var query = {};
query["Partition"] = request.partitionShrink;
var req = new OpenApi.OpenApiRequest{
query = OpenApiUtil.query(query),
body = Util.toMap(request),
};
var params = new OpenApi.Params{
action = 'AddPartitions',
version = '2020-09-28',
protocol = 'HTTPS',
pathname = '/',
method = 'POST',
authType = 'AK',
style = 'RPC',
reqBodyType = 'json',
bodyType = 'json',
};
return callApi(params, req, runtime);
}
async function addPartitions(request: AddPartitionsRequest): AddPartitionsResponse {
var runtime = new Util.RuntimeOptions{};
return addPartitionsWithOptions(request, runtime);
}
model AlterDatabaseRequest {
name?: string(name='Name', description='修改数据库的新名称'),
description?: string(name='Description', description='数据库描述'),
locationUri?: string(name='LocationUri', description='数据库的'),
oldDbName?: string(name='OldDbName', description='修改数据库的旧名称'),
parameters?: map[string]string(name='Parameters', description='数据库的'),
}
model AlterDatabaseShrinkRequest {
name?: string(name='Name', description='修改数据库的新名称'),
description?: string(name='Description', description='数据库描述'),
locationUri?: string(name='LocationUri', description='数据库的'),
oldDbName?: string(name='OldDbName', description='修改数据库的旧名称'),
parametersShrink?: string(name='Parameters', description='数据库的'),
}
model AlterDatabaseResponseBody = {
code?: string(name='Code', description='如果后端处理出现错误,则表示错误的类型'),
data?: string(name='Data', description='null'),
message?: string(name='Message', description='如果后端处理出现错误,则表示错误的信息'),
requestId?: string(name='RequestId', description='请求的 ID'),
success?: boolean(name='Success', description='标识本次请求是否成功'),
}
model AlterDatabaseResponse = {
headers: map[string]string(name='headers'),
body: AlterDatabaseResponseBody(name='body'),
}
async function alterDatabaseWithOptions(tmpReq: AlterDatabaseRequest, runtime: Util.RuntimeOptions): AlterDatabaseResponse {
Util.validateModel(tmpReq);
var request = new AlterDatabaseShrinkRequest{};
OpenApiUtil.convert(tmpReq, request);
if (!Util.isUnset(tmpReq.parameters)) {
request.parametersShrink = OpenApiUtil.arrayToStringWithSpecifiedStyle(tmpReq.parameters, 'Parameters', 'json');
}
var query = {};
query["Name"] = request.name;
query["Description"] = request.description;
query["LocationUri"] = request.locationUri;
query["OldDbName"] = request.oldDbName;
query["Parameters"] = request.parametersShrink;
var req = new OpenApi.OpenApiRequest{
query = OpenApiUtil.query(query),
body = Util.toMap(request),
};
var params = new OpenApi.Params{
action = 'AlterDatabase',
version = '2020-09-28',
protocol = 'HTTPS',
pathname = '/',
method = 'POST',
authType = 'AK',
style = 'RPC',
reqBodyType = 'json',
bodyType = 'json',
};
return callApi(params, req, runtime);
}
async function alterDatabase(request: AlterDatabaseRequest): AlterDatabaseResponse {
var runtime = new Util.RuntimeOptions{};
return alterDatabaseWithOptions(request, runtime);
}
model AlterTableRequest {
oldDbName?: string(name='OldDbName', description='旧数据库名称'),
oldTableName?: string(name='OldTableName', description='旧表名'),
newDbName?: string(name='NewDbName', description='新的数据库名'),
newTableName?: string(name='NewTableName', description='新表名'),
parameters?: map[string]string(name='Parameters', description='表的新参数'),
col?: [
{
comment?: string(name='Comment', description='列注释'),
name?: string(name='Name', description='列名称'),
type?: string(name='Type', description='列类型'),
}
](name='Col', description='表的列信息'),
}
model AlterTableShrinkRequest {
oldDbName?: string(name='OldDbName', description='旧数据库名称'),
oldTableName?: string(name='OldTableName', description='旧表名'),
newDbName?: string(name='NewDbName', description='新的数据库名'),
newTableName?: string(name='NewTableName', description='新表名'),
parametersShrink?: string(name='Parameters', description='表的新参数'),
colShrink?: string(name='Col', description='表的列信息'),
}
model AlterTableResponseBody = {
code?: string(name='Code', description='如果后端处理出现错误,则表示错误的类型'),
data?: boolean(name='Data', description='修改表是否成功'),
message?: string(name='Message', description='如果后端处理出现错误,则表示错误的信息'),
requestId?: string(name='RequestId', description='请求的 ID'),
success?: boolean(name='Success', description='标识本次请求是否成功'),
}
model AlterTableResponse = {
headers: map[string]string(name='headers'),
body: AlterTableResponseBody(name='body'),
}
async function alterTableWithOptions(tmpReq: AlterTableRequest, runtime: Util.RuntimeOptions): AlterTableResponse {
Util.validateModel(tmpReq);
var request = new AlterTableShrinkRequest{};
OpenApiUtil.convert(tmpReq, request);
if (!Util.isUnset(tmpReq.parameters)) {
request.parametersShrink = OpenApiUtil.arrayToStringWithSpecifiedStyle(tmpReq.parameters, 'Parameters', 'json');
}
if (!Util.isUnset(tmpReq.col)) {
request.colShrink = OpenApiUtil.arrayToStringWithSpecifiedStyle(tmpReq.col, 'Col', 'json');
}
var query = {};
query["OldDbName"] = request.oldDbName;
query["OldTableName"] = request.oldTableName;
query["NewDbName"] = request.newDbName;
query["NewTableName"] = request.newTableName;
query["Parameters"] = request.parametersShrink;
query["Col"] = request.colShrink;
var req = new OpenApi.OpenApiRequest{
query = OpenApiUtil.query(query),
body = Util.toMap(request),
};
var params = new OpenApi.Params{
action = 'AlterTable',
version = '2020-09-28',
protocol = 'HTTPS',
pathname = '/',
method = 'POST',
authType = 'AK',
style = 'RPC',
reqBodyType = 'json',
bodyType = 'json',
};
return callApi(params, req, runtime);
}
async function alterTable(request: AlterTableRequest): AlterTableResponse {
var runtime = new Util.RuntimeOptions{};
return alterTableWithOptions(request, runtime);
}
model CreateDatabaseRequest {
name?: string(name='Name', description='创建数据库的名字'),
description?: string(name='Description', description='数据库描述'),
locationUri?: string(name='LocationUri', description='数据库的 location'),
parameters?: map[string]string(name='Parameters', description='数据库属性'),
}
model CreateDatabaseShrinkRequest {
name?: string(name='Name', description='创建数据库的名字'),
description?: string(name='Description', description='数据库描述'),
locationUri?: string(name='LocationUri', description='数据库的 location'),
parametersShrink?: string(name='Parameters', description='数据库属性'),
}
model CreateDatabaseResponseBody = {
code?: string(name='Code', description='如果后端处理出现错误,则表示错误的类型'),
data?: long(name='Data', description='成功创建库的库ID'),
message?: string(name='Message', description='如果后端处理出现错误,则表示错误的信息'),
requestId?: string(name='RequestId', description='请求的 ID'),
success?: boolean(name='Success', description='标识本次请求是否成功'),
}
model CreateDatabaseResponse = {
headers: map[string]string(name='headers'),
body: CreateDatabaseResponseBody(name='body'),
}
async function createDatabaseWithOptions(tmpReq: CreateDatabaseRequest, runtime: Util.RuntimeOptions): CreateDatabaseResponse {
Util.validateModel(tmpReq);
var request = new CreateDatabaseShrinkRequest{};
OpenApiUtil.convert(tmpReq, request);
if (!Util.isUnset(tmpReq.parameters)) {
request.parametersShrink = OpenApiUtil.arrayToStringWithSpecifiedStyle(tmpReq.parameters, 'Parameters', 'json');
}
var query = {};
query["Name"] = request.name;
query["Description"] = request.description;
query["LocationUri"] = request.locationUri;
query["Parameters"] = request.parametersShrink;
var req = new OpenApi.OpenApiRequest{
query = OpenApiUtil.query(query),
body = Util.toMap(request),
};
var params = new OpenApi.Params{
action = 'CreateDatabase',
version = '2020-09-28',
protocol = 'HTTPS',
pathname = '/',
method = 'POST',
authType = 'AK',
style = 'RPC',
reqBodyType = 'json',
bodyType = 'json',
};
return callApi(params, req, runtime);
}
async function createDatabase(request: CreateDatabaseRequest): CreateDatabaseResponse {
var runtime = new Util.RuntimeOptions{};
return createDatabaseWithOptions(request, runtime);
}
model CreateTableRequest {
dbName?: string(name='DbName', description='创建表所在数据库的名称'),
tableName?: string(name='TableName', description='创建表的名称'),
partitionKeys?: [
{
comment?: string(name='Comment', description='分区字段的注释'),
name?: string(name='Name', description='分区字段的列名'),
type?: string(name='Type', description='分区字段的类型'),
}
](name='PartitionKeys', description='分区字段,可选'),
parameters?: map[string]string(name='Parameters', description='表属性'),
storageDescriptor?: {
cols?: [
{
comment?: string(name='Comment', description='列注释'),
name?: string(name='Name', description='列名'),
type?: string(name='Type', description='列类型'),
}
](name='Cols', description='表的列信息'),
inputFormat?: string(name='InputFormat', description='表的 inputFormat'),
location?: string(name='Location', description='表路径'),
outputFormat?: string(name='OutputFormat', description='表的 outputFormat'),
parameters?: map[string]string(name='Parameters', description='StorageDescriptor 的属性'),
serDeInfo?: {
name?: string(name='Name', description='SerDe 的名字'),
parameters?: map[string]string(name='Parameters', description='SerDe 的属性'),
serializationLib?: string(name='SerializationLib', description='SerDe 的 serializationLib 信息'),
}(name='SerDeInfo', description='表的 serDeInfo'),
}(name='StorageDescriptor', description='storageDescriptorModel'),
viewOriginalText?: string(name='ViewOriginalText', description='视图的原始 SQL'),
viewExpandedText?: string(name='ViewExpandedText', description='视图的展开 SQL'),
tableType?: string(name='TableType', description='表的类型'),
}
model CreateTableShrinkRequest {
dbName?: string(name='DbName', description='创建表所在数据库的名称'),
tableName?: string(name='TableName', description='创建表的名称'),
partitionKeysShrink?: string(name='PartitionKeys', description='分区字段,可选'),
parametersShrink?: string(name='Parameters', description='表属性'),
storageDescriptorShrink?: string(name='StorageDescriptor', description='storageDescriptorModel'),
viewOriginalText?: string(name='ViewOriginalText', description='视图的原始 SQL'),
viewExpandedText?: string(name='ViewExpandedText', description='视图的展开 SQL'),
tableType?: string(name='TableType', description='表的类型'),
}
model CreateTableResponseBody = {
code?: string(name='Code', description='如果后端处理出现错误,则表示错误的类型'),
data?: long(name='Data', description='创建成功的表 ID'),
message?: string(name='Message', description='如果后端处理出现错误,则表示错误的信息'),
requestId?: string(name='RequestId', description='请求的 ID'),
success?: boolean(name='Success', description='标识本次请求是否成功'),
}
model CreateTableResponse = {
headers: map[string]string(name='headers'),
body: CreateTableResponseBody(name='body'),
}
async function createTableWithOptions(tmpReq: CreateTableRequest, runtime: Util.RuntimeOptions): CreateTableResponse {
Util.validateModel(tmpReq);
var request = new CreateTableShrinkRequest{};
OpenApiUtil.convert(tmpReq, request);
if (!Util.isUnset(tmpReq.partitionKeys)) {
request.partitionKeysShrink = OpenApiUtil.arrayToStringWithSpecifiedStyle(tmpReq.partitionKeys, 'PartitionKeys', 'json');
}
if (!Util.isUnset(tmpReq.parameters)) {
request.parametersShrink = OpenApiUtil.arrayToStringWithSpecifiedStyle(tmpReq.parameters, 'Parameters', 'json');
}
if (!Util.isUnset(tmpReq.storageDescriptor)) {
request.storageDescriptorShrink = OpenApiUtil.arrayToStringWithSpecifiedStyle(tmpReq.storageDescriptor, 'StorageDescriptor', 'json');
}
var query = {};
query["DbName"] = request.dbName;
query["TableName"] = request.tableName;
query["PartitionKeys"] = request.partitionKeysShrink;
query["Parameters"] = request.parametersShrink;
query["StorageDescriptor"] = request.storageDescriptorShrink;
query["ViewOriginalText"] = request.viewOriginalText;
query["ViewExpandedText"] = request.viewExpandedText;
query["TableType"] = request.tableType;
var req = new OpenApi.OpenApiRequest{
query = OpenApiUtil.query(query),
body = Util.toMap(request),
};
var params = new OpenApi.Params{
action = 'CreateTable',
version = '2020-09-28',
protocol = 'HTTPS',
pathname = '/',
method = 'POST',
authType = 'AK',
style = 'RPC',
reqBodyType = 'json',
bodyType = 'json',
};
return callApi(params, req, runtime);
}
async function createTable(request: CreateTableRequest): CreateTableResponse {
var runtime = new Util.RuntimeOptions{};
return createTableWithOptions(request, runtime);
}
model DropDatabaseRequest {
name?: string(name='Name', description='需要删除的数据库名称'),
cascade?: boolean(name='Cascade', description='如果设置为ture,那么数据库里面有表会先把表删除,再删除数据库;如果设置为false,那么数据库里面有表则不能删除数据库。'),
}
model DropDatabaseResponseBody = {
code?: string(name='Code', description='如果后端处理出现错误,则表示错误的类型'),
data?: string(name='Data', description='null'),
message?: string(name='Message', description='如果后端处理出现错误,则表示错误的信息'),
requestId?: string(name='RequestId', description='请求的 ID'),
success?: boolean(name='Success', description='标识本次请求是否成功'),
}
model DropDatabaseResponse = {
headers: map[string]string(name='headers'),
body: DropDatabaseResponseBody(name='body'),
}
async function dropDatabaseWithOptions(request: DropDatabaseRequest, runtime: Util.RuntimeOptions): DropDatabaseResponse {
Util.validateModel(request);
var query = {};
query["Name"] = request.name;
query["Cascade"] = request.cascade;
var req = new OpenApi.OpenApiRequest{
query = OpenApiUtil.query(query),
body = Util.toMap(request),
};
var params = new OpenApi.Params{
action = 'DropDatabase',
version = '2020-09-28',
protocol = 'HTTPS',
pathname = '/',
method = 'POST',
authType = 'AK',
style = 'RPC',
reqBodyType = 'json',
bodyType = 'json',
};
return callApi(params, req, runtime);
}
async function dropDatabase(request: DropDatabaseRequest): DropDatabaseResponse {
var runtime = new Util.RuntimeOptions{};
return dropDatabaseWithOptions(request, runtime);
}
model DropPartitionRequest {
dbName?: string(name='DbName', description='数据库名称'),
tableName?: string(name='TableName', description='表名'),
partValues?: [ string ](name='PartValues', description='需要删除的分区'),
}
model DropPartitionShrinkRequest {
dbName?: string(name='DbName', description='数据库名称'),
tableName?: string(name='TableName', description='表名'),
partValuesShrink?: string(name='PartValues', description='需要删除的分区'),
}
model DropPartitionResponseBody = {
code?: string(name='Code', description='如果后端处理出现错误,则表示错误的类型'),
data?: boolean(name='Data', description='删除分区是否成功'),
message?: string(name='Message', description='如果后端处理出现错误,则表示错误的信息'),
requestId?: string(name='RequestId', description='请求的 ID'),
success?: boolean(name='Success', description='标识本次请求是否成功'),
}
model DropPartitionResponse = {
headers: map[string]string(name='headers'),
body: DropPartitionResponseBody(name='body'),
}
async function dropPartitionWithOptions(tmpReq: DropPartitionRequest, runtime: Util.RuntimeOptions): DropPartitionResponse {
Util.validateModel(tmpReq);
var request = new DropPartitionShrinkRequest{};
OpenApiUtil.convert(tmpReq, request);
if (!Util.isUnset(tmpReq.partValues)) {
request.partValuesShrink = OpenApiUtil.arrayToStringWithSpecifiedStyle(tmpReq.partValues, 'PartValues', 'json');
}
var query = {};
query["DbName"] = request.dbName;
query["TableName"] = request.tableName;
query["PartValues"] = request.partValuesShrink;
var req = new OpenApi.OpenApiRequest{
query = OpenApiUtil.query(query),
body = Util.toMap(request),
};
var params = new OpenApi.Params{
action = 'DropPartition',
version = '2020-09-28',
protocol = 'HTTPS',
pathname = '/',
method = 'POST',
authType = 'AK',
style = 'RPC',
reqBodyType = 'json',
bodyType = 'json',
};
return callApi(params, req, runtime);
}
async function dropPartition(request: DropPartitionRequest): DropPartitionResponse {
var runtime = new Util.RuntimeOptions{};
return dropPartitionWithOptions(request, runtime);
}
model DropTableRequest {
dbName?: string(name='DbName', description='数据库名称'),
tableName?: string(name='TableName', description='表名称'),
}
model DropTableResponseBody = {
code?: string(name='Code', description='如果后端处理出现错误,则表示错误的类型'),
data?: boolean(name='Data', description='标记表是否删除成功'),
message?: string(name='Message', description='如果后端处理出现错误,则表示错误的信息'),
requestId?: string(name='RequestId', description='请求的 ID'),
success?: boolean(name='Success', description='标识本次请求是否成功'),
}
model DropTableResponse = {
headers: map[string]string(name='headers'),
body: DropTableResponseBody(name='body'),
}
async function dropTableWithOptions(request: DropTableRequest, runtime: Util.RuntimeOptions): DropTableResponse {
Util.validateModel(request);
var query = {};
query["DbName"] = request.dbName;
query["TableName"] = request.tableName;
var req = new OpenApi.OpenApiRequest{
query = OpenApiUtil.query(query),
body = Util.toMap(request),
};
var params = new OpenApi.Params{
action = 'DropTable',
version = '2020-09-28',
protocol = 'HTTPS',
pathname = '/',
method = 'POST',
authType = 'AK',
style = 'RPC',
reqBodyType = 'json',
bodyType = 'json',
};
return callApi(params, req, runtime);
}
async function dropTable(request: DropTableRequest): DropTableResponse {
var runtime = new Util.RuntimeOptions{};
return dropTableWithOptions(request, runtime);
}
model GetAllDatabasesResponseBody = {
code?: string(name='Code', description='如果后端处理出现错误,则表示错误的类型'),
data?: [ string ](name='Data', description='返回的数据库列表'),
message?: string(name='Message', description='如果后端处理出现错误,则表示错误的信息'),
requestId?: string(name='RequestId', description='请求的 ID'),
success?: boolean(name='Success', description='标识本次请求是否成功'),
}
model GetAllDatabasesResponse = {
headers: map[string]string(name='headers'),
body: GetAllDatabasesResponseBody(name='body'),
}
async function getAllDatabasesWithOptions(runtime: Util.RuntimeOptions): GetAllDatabasesResponse {
var req = new OpenApi.OpenApiRequest{};
var params = new OpenApi.Params{
action = 'GetAllDatabases',
version = '2020-09-28',
protocol = 'HTTPS',
pathname = '/',
method = 'POST',
authType = 'AK',
style = 'RPC',
reqBodyType = 'json',
bodyType = 'json',
};
return callApi(params, req, runtime);
}
async function getAllDatabases(): GetAllDatabasesResponse {
var runtime = new Util.RuntimeOptions{};
return getAllDatabasesWithOptions(runtime);
}
model GetAllTablesRequest {
dbName?: string(name='DbName', description='数据库名称'),
}
model GetAllTablesResponseBody = {
code?: string(name='Code', description='如果后端处理出现错误,则表示错误的类型'),
data?: [ string ](name='Data', description='请求数据库低下的所有表'),
message?: string(name='Message', description='如果后端处理出现错误,则表示错误的信息'),
requestId?: string(name='RequestId', description='请求的 ID'),
success?: boolean(name='Success', description='标识本次请求是否成功'),
}
model GetAllTablesResponse = {
headers: map[string]string(name='headers'),
body: GetAllTablesResponseBody(name='body'),
}
async function getAllTablesWithOptions(request: GetAllTablesRequest, runtime: Util.RuntimeOptions): GetAllTablesResponse {
Util.validateModel(request);
var query = {};
query["DbName"] = request.dbName;
var req = new OpenApi.OpenApiRequest{
query = OpenApiUtil.query(query),
body = Util.toMap(request),
};
var params = new OpenApi.Params{
action = 'GetAllTables',
version = '2020-09-28',
protocol = 'HTTPS',
pathname = '/',
method = 'POST',
authType = 'AK',
style = 'RPC',
reqBodyType = 'json',
bodyType = 'json',
};
return callApi(params, req, runtime);
}
async function getAllTables(request: GetAllTablesRequest): GetAllTablesResponse {
var runtime = new Util.RuntimeOptions{};
return getAllTablesWithOptions(request, runtime);
}
model GetDatabaseRequest {
name?: string(name='Name', description='数据库名称'),
}
model GetDatabaseResponseBody = {
code?: string(name='Code', description='如果后端处理出现错误,则表示错误的类型'),
databaseModel?: {
description?: string(name='Description', description='数据库描述'),
locationUri?: string(name='LocationUri', description='数据库地址'),
name?: string(name='Name', description='数据库名称'),
ownerName?: string(name='OwnerName', description='数据库所属 DLA userName'),
parameters?: map[string]string(name='Parameters', description='数据库参数'),
tenantId?: string(name='TenantId', description='数据库所属的阿里云UID'),
}(name='DatabaseModel', description='返回的数据库结构'),
message?: string(name='Message', description='如果后端处理出现错误,则表示错误的信息'),
requestId?: string(name='RequestId', description='请求的 ID'),
success?: boolean(name='Success', description='标识本次请求是否成功'),
}
model GetDatabaseResponse = {
headers: map[string]string(name='headers'),
body: GetDatabaseResponseBody(name='body'),
}
async function getDatabaseWithOptions(request: GetDatabaseRequest, runtime: Util.RuntimeOptions): GetDatabaseResponse {
Util.validateModel(request);
var query = {};
query["Name"] = request.name;
var req = new OpenApi.OpenApiRequest{
query = OpenApiUtil.query(query),
body = Util.toMap(request),
};
var params = new OpenApi.Params{
action = 'GetDatabase',
version = '2020-09-28',
protocol = 'HTTPS',
pathname = '/',
method = 'POST',
authType = 'AK',
style = 'RPC',
reqBodyType = 'json',
bodyType = 'json',
};
return callApi(params, req, runtime);
}
async function getDatabase(request: GetDatabaseRequest): GetDatabaseResponse {
var runtime = new Util.RuntimeOptions{};
return getDatabaseWithOptions(request, runtime);
}
model GetPartitionRequest {
dbName?: string(name='DbName', description='数据库名称'),
tableName?: string(name='TableName', description='表名'),
values?: [ string ](name='Values', description='分区'),
}
model GetPartitionShrinkRequest {
dbName?: string(name='DbName', description='数据库名称'),
tableName?: string(name='TableName', description='表名'),
valuesShrink?: string(name='Values', description='分区'),
}
model GetPartitionResponseBody = {
code?: string(name='Code', description='如果后端处理出现错误,则表示错误的类型'),
message?: string(name='Message', description='如果后端处理出现错误,则表示错误的信息'),
partitionModel?: {
createTime?: long(name='CreateTime', description='分区创建时间'),
dbName?: string(name='DbName', description='数据库名称'),
parameters?: map[string]string(name='Parameters', description='分区参数'),
storageDescriptorModel?: {
cols?: [
{
comment?: string(name='Comment', description='列注释'),
name?: string(name='Name', description='列名'),
type?: string(name='Type', description='列类型'),
}
](name='Cols', description='表的列信息'),
inputFormat?: string(name='InputFormat', description='表的InputFormat'),
location?: string(name='Location', description='表的路径'),
outputFormat?: string(name='OutputFormat', description='表的OutputFormat'),
parameters?: map[string]string(name='Parameters', description='表的属性'),
serDeInfoModel?: {
name?: string(name='Name', description='SerDe 的名称'),
parameters?: map[string]string(name='Parameters', description='SerDe 的属性'),
serializationLib?: string(name='SerializationLib', description='SerDe 的 serializationLib'),
}(name='SerDeInfoModel', description='表的 SerDe 信息'),
}(name='StorageDescriptorModel', description='分区 SD'),
tableName?: string(name='TableName', description='表名'),
values?: [ string ](name='Values', description='分区信息'),
}(name='PartitionModel', description='获取到的分区'),
requestId?: string(name='RequestId', description='请求的 ID'),
success?: boolean(name='Success', description='标识本次请求是否成功'),
}
model GetPartitionResponse = {
headers: map[string]string(name='headers'),
body: GetPartitionResponseBody(name='body'),
}
async function getPartitionWithOptions(tmpReq: GetPartitionRequest, runtime: Util.RuntimeOptions): GetPartitionResponse {
Util.validateModel(tmpReq);
var request = new GetPartitionShrinkRequest{};
OpenApiUtil.convert(tmpReq, request);
if (!Util.isUnset(tmpReq.values)) {
request.valuesShrink = OpenApiUtil.arrayToStringWithSpecifiedStyle(tmpReq.values, 'Values', 'json');
}
var query = {};
query["DbName"] = request.dbName;
query["TableName"] = request.tableName;
query["Values"] = request.valuesShrink;
var req = new OpenApi.OpenApiRequest{
query = OpenApiUtil.query(query),
body = Util.toMap(request),
};
var params = new OpenApi.Params{
action = 'GetPartition',
version = '2020-09-28',
protocol = 'HTTPS',
pathname = '/',
method = 'POST',
authType = 'AK',
style = 'RPC',
reqBodyType = 'json',
bodyType = 'json',
};
return callApi(params, req, runtime);
}
async function getPartition(request: GetPartitionRequest): GetPartitionResponse {
var runtime = new Util.RuntimeOptions{};
return getPartitionWithOptions(request, runtime);
}
model GetPartitionsRequest {
dbName?: string(name='DbName', description='数据库名'),
tableName?: string(name='TableName', description='表名'),
maxParts?: int32(name='MaxParts', description='获取多少分区'),
}
model GetPartitionsResponseBody = {
code?: string(name='Code', description='如果后端处理出现错误,则表示错误的类型'),
message?: string(name='Message', description='如果后端处理出现错误,则表示错误的信息'),
partitions?: [
{
createTime?: long(name='CreateTime', description='分区创建时间'),
dbName?: string(name='DbName', description='数据库名'),
parameters?: map[string]string(name='Parameters', description='分区属性'),
storageDescriptorModel?: {
cols?: [
{
comment?: string(name='Comment', description='列注释'),
name?: string(name='Name', description='列名'),
type?: string(name='Type', description='列类型'),
}
](name='Cols', description='表的列'),
inputFormat?: string(name='InputFormat', description='表的InputFormat'),
location?: string(name='Location', description='表的路径'),
outputFormat?: string(name='OutputFormat', description='表的OutputFormat'),
parameters?: map[string]string(name='Parameters', description='表属性'),
serDeInfoModel?: {
name?: string(name='Name', description='SerDe名称'),
parameters?: map[string]string(name='Parameters', description='SerDe属性'),
serializationLib?: string(name='SerializationLib', description='SerDe的serializationLib'),
}(name='SerDeInfoModel', description='表的 SerDe 信息'),
}(name='StorageDescriptorModel', description='分区的 SD 信息'),
tableName?: string(name='TableName', description='表名'),
values?: [ string ](name='Values', description='分区的值'),
}
](name='Partitions', description='获取的分区'),
requestId?: string(name='RequestId', description='请求的 ID'),
success?: boolean(name='Success', description='标识本次请求是否成功'),
}
model GetPartitionsResponse = {
headers: map[string]string(name='headers'),
body: GetPartitionsResponseBody(name='body'),
}
async function getPartitionsWithOptions(request: GetPartitionsRequest, runtime: Util.RuntimeOptions): GetPartitionsResponse {
Util.validateModel(request);
var query = {};
query["DbName"] = request.dbName;
query["TableName"] = request.tableName;
query["MaxParts"] = request.maxParts;
var req = new OpenApi.OpenApiRequest{
query = OpenApiUtil.query(query),
body = Util.toMap(request),
};
var params = new OpenApi.Params{
action = 'GetPartitions',
version = '2020-09-28',
protocol = 'HTTPS',
pathname = '/',
method = 'POST',
authType = 'AK',
style = 'RPC',
reqBodyType = 'json',
bodyType = 'json',
};
return callApi(params, req, runtime);
}
async function getPartitions(request: GetPartitionsRequest): GetPartitionsResponse {
var runtime = new Util.RuntimeOptions{};
return getPartitionsWithOptions(request, runtime);
}
model GetTableRequest {
dbName?: string(name='DbName', description='数据库名称'),
tableName?: string(name='TableName', description='表名称'),
}
model GetTableResponseBody = {
code?: string(name='Code', description='如果后端处理出现错误,则表示错误的类型'),
message?: string(name='Message', description='如果后端处理出现错误,则表示错误的信息'),
requestId?: string(name='RequestId', description='请求的 ID'),
success?: boolean(name='Success', description='标识本次请求是否成功'),
table?: {
createTime?: long(name='CreateTime', description='表的创建时间'),
dbName?: string(name='DbName', description='数据库名称'),
lastAccessTime?: long(name='LastAccessTime', description='最后一次访问时间'),
owner?: string(name='Owner', description='表的所属用户'),
parameters?: map[string]string(name='Parameters', description='表属性'),
partitionKeys?: [
{
comment?: string(name='Comment', description='分区注释'),
name?: string(name='Name', description='分区名称'),
type?: string(name='Type', description='分区类型'),
}
](name='PartitionKeys', description='分区信息'),
storageDescriptor?: {
cols?: [
{
comment?: string(name='Comment', description='列注释'),
name?: string(name='Name', description='列名称'),
type?: string(name='Type', description='列类型'),
}
](name='Cols', description='表的列信息'),
inputFormat?: string(name='InputFormat', description='表的 inputFormat'),
location?: string(name='Location', description='表路径'),
outputFormat?: string(name='OutputFormat', description='表的 outputFormat'),
parameters?: map[string]any(name='Parameters', description='SD 的属性'),
serDeInfo?: {
name?: string(name='Name', description='SerDe 的名称'),
parameters?: map[string]string(name='Parameters', description='SerDe 的属性'),
serializationLib?: string(name='SerializationLib', description='SerDe 的 serializationLib'),
}(name='SerDeInfo', description='表的 SerDe 信息'),
}(name='StorageDescriptor', description='表的 sd 信息'),
tableName?: string(name='TableName', description='表的名称'),
tableType?: string(name='TableType', description='表的类型'),
viewExpandedText?: string(name='ViewExpandedText', description='如果表是视图,则存储扩展视图SQL'),
viewOriginalText?: string(name='ViewOriginalText', description='如果表是视图,则存储原生视图SQL'),
}(name='Table', description='获取的表信息'),
}
model GetTableResponse = {
headers: map[string]string(name='headers'),
body: GetTableResponseBody(name='body'),
}
async function getTableWithOptions(request: GetTableRequest, runtime: Util.RuntimeOptions): GetTableResponse {
Util.validateModel(request);
var query = {};
query["DbName"] = request.dbName;
query["TableName"] = request.tableName;
var req = new OpenApi.OpenApiRequest{
query = OpenApiUtil.query(query),
body = Util.toMap(request),
};
var params = new OpenApi.Params{
action = 'GetTable',
version = '2020-09-28',
protocol = 'HTTPS',
pathname = '/',
method = 'POST',
authType = 'AK',
style = 'RPC',
reqBodyType = 'json',
bodyType = 'json',
};
return callApi(params, req, runtime);
}
async function getTable(request: GetTableRequest): GetTableResponse {
var runtime = new Util.RuntimeOptions{};
return getTableWithOptions(request, runtime);
}
model GrantPrivilegesRequest {
privilegeBag?: {
hiveObjectPrivilege?: [
{
hiveObjectRef?: {
dbName?: string(name='DbName', description='数据库名称'),
hiveObjectType?: string(name='HiveObjectType', description='授权粒度'),
tableName?: string(name='TableName', description='表名'),
}(name='HiveObjectRef', description='HiveObjectRef'),
principalName?: string(name='PrincipalName', description='给谁授权'),
principalType?: string(name='PrincipalType', description='授权类型,只能为 USER'),
privilegeGrantInfo?: {
grantOption?: boolean(name='GrantOption', description='权限是否可以传递'),
grantor?: string(name='Grantor', description='授权者'),
principalType?: string(name='PrincipalType', description='授权者的类型,只能为 USER'),
privilege?: string(name='Privilege', description='权限'),
}(name='PrivilegeGrantInfo', description='授权者的信息'),
}
](name='HiveObjectPrivilege', description='权限信息'),
}(name='PrivilegeBag', description='权限信息'),
}
model GrantPrivilegesShrinkRequest {
privilegeBagShrink?: string(name='PrivilegeBag', description='权限信息'),
}
model GrantPrivilegesResponseBody = {
code?: string(name='Code', description='如果后端处理出现错误,则表示错误的类型'),
data?: boolean(name='Data', description='授权是否成功'),
message?: string(name='Message', description='如果后端处理出现错误,则表示错误的信息'),
requestId?: string(name='RequestId', description='请求的 ID'),
success?: boolean(name='Success', description='标识本次请求是否成功'),
}
model GrantPrivilegesResponse = {
headers: map[string]string(name='headers'),
body: GrantPrivilegesResponseBody(name='body'),
}
async function grantPrivilegesWithOptions(tmpReq: GrantPrivilegesRequest, runtime: Util.RuntimeOptions): GrantPrivilegesResponse {
Util.validateModel(tmpReq);
var request = new GrantPrivilegesShrinkRequest{};
OpenApiUtil.convert(tmpReq, request);
if (!Util.isUnset(tmpReq.privilegeBag)) {
request.privilegeBagShrink = OpenApiUtil.arrayToStringWithSpecifiedStyle(tmpReq.privilegeBag, 'PrivilegeBag', 'json');
}
var query = {};
query["PrivilegeBag"] = request.privilegeBagShrink;
var req = new OpenApi.OpenApiRequest{
query = OpenApiUtil.query(query),
body = Util.toMap(request),
};
var params = new OpenApi.Params{
action = 'GrantPrivileges',
version = '2020-09-28',
protocol = 'HTTPS',
pathname = '/',
method = 'POST',
authType = 'AK',
style = 'RPC',
reqBodyType = 'json',
bodyType = 'json',
};
return callApi(params, req, runtime);
}
async function grantPrivileges(request: GrantPrivilegesRequest): GrantPrivilegesResponse {
var runtime = new Util.RuntimeOptions{};
return grantPrivilegesWithOptions(request, runtime);
}
model RevokePrivilegesRequest {
privilegeBag?: {
hiveObjectPrivilege?: [
{
hiveObjectRef?: {
dbName?: string(name='DbName', description='数据库名称'),
hiveObjectType?: string(name='HiveObjectType', description='授权粒度'),
tableName?: string(name='TableName', description='表名'),
}(name='HiveObjectRef', description='HiveObjectRef'),
principalName?: string(name='PrincipalName', description='给谁授权'),
principalType?: string(name='PrincipalType', description='授权类型,只能为 USER'),
privilegeGrantInfo?: {
grantOption?: boolean(name='GrantOption', description='权限是否可以传递'),
grantor?: string(name='Grantor', description='授权者'),
principalType?: string(name='PrincipalType', description='授权者的类型,只能为 USER'),
privilege?: string(name='Privilege', description='权限'),
}(name='PrivilegeGrantInfo', description='授权者的信息'),
}
](name='HiveObjectPrivilege', description='权限信息'),
}(name='PrivilegeBag', description='权限信息'),
}
model RevokePrivilegesShrinkRequest {
privilegeBagShrink?: string(name='PrivilegeBag', description='权限信息'),
}
model RevokePrivilegesResponseBody = {
code?: string(name='Code', description='如果后端处理出现错误,则表示错误的类型'),
data?: boolean(name='Data', description='取消权限是否成功'),
message?: string(name='Message', description='如果后端处理出现错误,则表示错误的信息'),
requestId?: string(name='RequestId', description='请求的 ID'),
success?: boolean(name='Success', description='标识本次请求是否成功'),
}
model RevokePrivilegesResponse = {
headers: map[string]string(name='headers'),
body: RevokePrivilegesResponseBody(name='body'),
}
async function revokePrivilegesWithOptions(tmpReq: RevokePrivilegesRequest, runtime: Util.RuntimeOptions): RevokePrivilegesResponse {
Util.validateModel(tmpReq);
var request = new RevokePrivilegesShrinkRequest{};
OpenApiUtil.convert(tmpReq, request);
if (!Util.isUnset(tmpReq.privilegeBag)) {
request.privilegeBagShrink = OpenApiUtil.arrayToStringWithSpecifiedStyle(tmpReq.privilegeBag, 'PrivilegeBag', 'json');
}
var query = {};
query["PrivilegeBag"] = request.privilegeBagShrink;
var req = new OpenApi.OpenApiRequest{
query = OpenApiUtil.query(query),
body = Util.toMap(request),
};
var params = new OpenApi.Params{
action = 'RevokePrivileges',
version = '2020-09-28',
protocol = 'HTTPS',
pathname = '/',
method = 'POST',
authType = 'AK',
style = 'RPC',
reqBodyType = 'json',
bodyType = 'json',
};
return callApi(params, req, runtime);
}
async function revokePrivileges(request: RevokePrivilegesRequest): RevokePrivilegesResponse {
var runtime = new Util.RuntimeOptions{};
return revokePrivilegesWithOptions(request, runtime);
}