如果要表格存储数据表中的数据投递到OSS Bucket中存储,您可以使用CreateDeliveryTask接口创建一个投递任务。
请确认已安装支持数据湖投递功能的表格存储Go SDK。
前提条件
参数
参数 | 说明 |
TableName | 数据表名称。 |
TaskName | 投递任务名称。 名称只能包含英文小写字母(a~z)、数字和短横线(-),开头和结尾必须为英文小写字母或数字,且长度为3~16字符。 |
TaskConfig | 投递任务配置,包括如下选项:
|
TaskType | 投递任务的类型,包括如下选项:
|
示例
以下示例用于为数据表创建投递任务。
func CreateTaskSample(client *tablestore.TableStoreClient) {
createTask := &tablestore.CreateDeliveryTaskRequest{
TableName: "<TABLE_NAME>",
TaskName: "<TASK_NAME>",
TaskType: tablestore.BaseIncTask,
TaskConfig: &tablestore.OSSTaskConfig{
OssPrefix: "sample/year=$yyyy/month=$MM",
OssBucket: "datadeliverytest",
OssEndpoint: "oss-cn-hangzhou.aliyuncs.com",
OssRoleName: "acs:ram::17************45:role/aliyunserviceroleforotsdatadelivery",
Schema: []*tablestore.TaskSchema{
{
ColumnName: "PK1",
OssColumnName: "PK1",
Type: tablestore.ParquetInt64,
},
{
ColumnName: "PK2",
OssColumnName: "PK2",
Type: tablestore.ParquetUtf8,
},
{
ColumnName: "Col1",
OssColumnName: "Col1",
Type: tablestore.ParquetDouble,
},
},
},
}
createResp, err := client.CreateDeliveryTask(createTask)
if err != nil {
log.Fatal("create delivery task failed ", err)
}
fmt.Println("create delivery task success ", createResp.RequestId)
}