调用PutDataPipelineConfiguration接口创建一条数据管道(DataPipeline)规则。规则创建后,OSS 自动调用您的阿里云百炼对源 Bucket 中的原始数据进行向量化,并将生成的向量数据写入向量 Bucket 的指定 Index。
注意事项
-
单个阿里云账号(UID)在单个地域最多可创建 1000 条数据管道规则。
-
DataPipelineName 在同一账号、同一地域下必须唯一。
-
规则创建后不支持修改。如需调整配置,请删除后重新创建。
-
源端通用 Bucket、目标向量 Bucket 必须位于同一地域,数据管道不具备跨地域能力。
-
单条规则当前仅支持写入一张向量 Index(VectorIndexNames 为列表类型,为后续多表能力预留)。当目标 Index 写满后,规则会自动暂停(Paused)。
-
向量化调用的是您自己的阿里云百炼服务,Embedding 费用由百炼收取。
-
使用 RAM 子账号(而非主账号)操作 AI VibeFlow 时,需要提前完成以下权限配置。
请求语法
POST /?dataPipeline&action=putDataPipelineConfiguration&dataPipelineName=my-data-pipeline&role=acs:ram::<AccountId>:role/my-data-pipeline-role HTTP/1.1
Host: oss-cn-hangzhou.aliyuncs.com
Date: GMT Date
Authorization: SignatureValue
Content-Type: application/xml
<?xml version="1.0" encoding="UTF-8" ?>
<DataPipelineConfiguration>
<DataPipelineDescription>使用百炼多模态模型为业务数据向量化</DataPipelineDescription>
<Sources>
<InputBucket>my-bucket</InputBucket>
<InputDataScope>All</InputDataScope>
<IgnoreDelete>true</IgnoreDelete>
<FilterConfiguration>
<PrefixSet>prefix1/</PrefixSet>
<PrefixSet>prefix2/prefix3/</PrefixSet>
<ObjectMediaTypes>text</ObjectMediaTypes>
<ObjectMediaTypes>image</ObjectMediaTypes>
<ObjectMediaTypes>video</ObjectMediaTypes>
</FilterConfiguration>
</Sources>
<DataPipelineEmbeddingConfiguration>
<EmbeddingProvider>bailian</EmbeddingProvider>
<ApiKey>sk-xxxx</ApiKey>
<Model>qwen2.5-vl-embedding</Model>
<FPS>1</FPS>
</DataPipelineEmbeddingConfiguration>
<Destination>
<VectorBucketName>my-vector-bucket</VectorBucketName>
<VectorIndexNames>my-index</VectorIndexNames>
<VectorKeyPrefix></VectorKeyPrefix>
<ObjectTagToMetadata>key1</ObjectTagToMetadata>
<ObjectTagToMetadata>key2</ObjectTagToMetadata>
<UsermetaToMetadata>x-oss-meta-key1</UsermetaToMetadata>
</Destination>
<DataPipelineError>
<ErrorMode>ignoreAndRecord</ErrorMode>
<ErrorBucket>my-error-bucket</ErrorBucket>
<ErrorPrefix>error-output/</ErrorPrefix>
</DataPipelineError>
</DataPipelineConfiguration>
请求头
此接口仅涉及公共请求头。更多信息,请参见公共请求头(Common Request Headers)。
请求参数
请求中的 dataPipelineName 与 role 通过查询参数传入,其余配置通过请求体(XML)传入。
|
名称 |
类型 |
是否必选 |
描述 |
示例值 |
|
DataPipelineName |
string |
是 |
规则名称。最多 64 个字符,支持大小写英文、数字、特殊字符(- _);一个账号在一个地域下创建的 Name 不可重复。 |
my-data-pipeline |
|
role |
string |
是 |
创建数据管道时所使用的角色,需具备源 Bucket、目标向量 Bucket 及可选错误输出 Bucket 的相关权限。 |
acs:ram::<AccountId>:role/my-data-pipeline-role |
|
DataPipelineDescription |
string |
否 |
规则描述。最多 200 个字符。 |
业务部门图片数据向量任务 |
|
Sources |
容器 |
是 |
数据源信息。当前仅支持一个 Source。 |
- |
|
InputBucket |
string |
是 |
存储原始数据的通用 Bucket 名称。父节点:Source。 |
mybucket |
|
InputDataScope |
string |
是 |
处理模式。取值:Historical(仅存量)、Incremental(仅增量)、All(存量+增量)。父节点:Source。 |
All |
|
IgnoreDelete |
bool |
否 |
删除 Object 时是否保留已写入的向量。true(默认):不删除向量;false:删除 Object 时同步删除对应向量。父节点:Source。 |
true |
|
FilterConfiguration |
容器 |
否 |
Object 筛选规则。不设置则对 Bucket 所有文件进行向量化。父节点:Source。 |
- |
|
PrefixSet |
[]string |
否 |
Object 前缀集,只有匹配该 Prefix 的 Object 才会被处理。单个最大长度 1023 字符,最多 1 个。父节点:FilterConfiguration。 |
["source/images/"] |
|
ObjectMediaTypes |
[]string |
否 |
要处理的 Object 类型,最多 3 个。可选:text(.txt .log .md .csv .json .xml .yaml .yml)、image、video(后缀需符合百炼模型要求)。父节点:FilterConfiguration。 |
["text", "image"] |
|
DataPipelineEmbeddingConfiguration |
容器 |
是 |
向量化配置。 |
- |
|
EmbeddingProvider |
string |
是 |
向量化来源,当前仅支持 bailian。父节点:DataPipelineEmbeddingConfiguration。 |
bailian |
|
ApiKey |
string |
是 |
阿里云百炼的 API Key。以 sk- 为前缀,长度 35~128,除前缀外仅含字母和数字。父节点:DataPipelineEmbeddingConfiguration。 |
sk-xxxx |
|
Model |
string |
是 |
百炼向量模型名称。父节点:DataPipelineEmbeddingConfiguration。 |
qwen2.5-vl-embedding |
|
FPS |
float |
否 |
视频向量化时百炼抽取视频的帧率,取值范围 (0,1],默认 1.0。父节点:DataPipelineEmbeddingConfiguration。 |
1 |
|
Destination |
容器 |
是 |
结果输出配置。 |
- |
|
VectorBucketName |
string |
是 |
存储向量数据的向量 Bucket 名称。父节点:Destination。 |
my-vector-bucket |
|
VectorIndexNames |
[]string |
是 |
存储向量数据的向量 Index 名称列表,当前仅支持一个。父节点:Destination。 |
["my-index"] |
|
VectorKeyPrefix |
string |
否 |
目标 vector key 命名方式。为空表示 vector key 与 object key 一致;非空时在 object key 前加该前缀。父节点:Destination。 |
- |
|
ObjectTagToMetadata |
[]string |
否 |
将哪些 Object Tag 作为写入向量的元数据。父节点:Destination。 |
["tag1", "tag2"] |
|
UsermetaToMetadata |
[]string |
否 |
将哪些 user meta 作为写入向量的元数据。父节点:Destination。 |
["x-oss-meta-key1"] |
|
DataPipelineError |
容器 |
是 |
转换错误处理配置。说明:限流错误或 5xx 会无限重试,最短重试间隔 1s,最长 30m。 |
- |
|
ErrorMode |
string |
是 |
Object 向量化失败的处理模式。取值:ignore(忽略)、ignoreAndRecord(忽略并记录失败信息到 ErrorBucket 的 ErrorPrefix 下)、abort(遇错即停)。父节点:DataPipelineError。 |
ignoreAndRecord |
|
ErrorBucket |
string |
否 |
错误输出 Bucket。ErrorMode=ignoreAndRecord 时必填,且不能与 Source Bucket 相同。父节点:DataPipelineError。 |
my-error-bucket |
|
ErrorPrefix |
string |
否 |
错误输出前缀。ErrorMode=ignoreAndRecord 时必填。若 object key = path/a.jpg 转换失败,将在 ErrorBucket 的 ErrorPrefix/<DataPipelineName>/path/a.jpg-<timestamp>.log 写入错误信息(含 ErrorCode、ErrorMessage、RequestId)。父节点:DataPipelineError。 |
error-output/ |
响应头
此接口仅涉及公共响应头。更多信息,请参见公共响应头(Common Response Headers)。
示例
请求示例:
POST /?dataPipeline&action=putDataPipelineConfiguration&dataPipelineName=my-data-pipeline&role=acs:ram::<AccountId>:role/my-data-pipeline-role HTTP/1.1
Host: oss-cn-hangzhou.aliyuncs.com
Date: Thu, 11 Dec 2025 13:08:38 GMT
Authorization: OSS4-HMAC-SHA256 Credential=LTAI********/20251211/cn-hangzhou/oss/aliyun_v4_request,Signature=********
Content-Type: application/xml
<?xml version="1.0" encoding="UTF-8" ?>
<DataPipelineConfiguration>
<Sources>
<InputBucket>my-bucket</InputBucket>
<InputDataScope>All</InputDataScope>
</Sources>
<DataPipelineEmbeddingConfiguration>
<EmbeddingProvider>bailian</EmbeddingProvider>
<ApiKey>sk-xxxx</ApiKey>
<Model>qwen2.5-vl-embedding</Model>
</DataPipelineEmbeddingConfiguration>
<Destination>
<VectorBucketName>my-vector-bucket</VectorBucketName>
<VectorIndexNames>my-index</VectorIndexNames>
</Destination>
<DataPipelineError>
<ErrorMode>ignore</ErrorMode>
</DataPipelineError>
</DataPipelineConfiguration>
返回示例:
HTTP/1.1 200 OK
x-oss-request-id: E71AFFDC-25BA-5C4C-AA5D-311029******
Date: Thu, 11 Dec 2025 13:08:38 GMT
Content-Type: application/xml
SDK
数据管道(DataPipeline)操作的各语言 SDK 示例,请参见创建数据管道(Java SDK V2)、创建数据管道(Go SDK V2)相关文档。
命令行工具ossutil
本接口对应的 ossutil 命令,请参见创建数据管道。
错误码
|
错误码 |
HTTP状态码 |
描述 |
|
InvalidArgument |
400 |
请求提供的 DataPipelineConfiguration 参数不合法。例如:模型不支持 Index 的维度、模型不支持 ObjectMediaTypes、输入输出地域不一致。 |
|
DataPipelineConfigurationExceedLimit |
400 |
创建的数据管道数量达到上限。单个用户在一个地域最多创建 1000 个规则。 |
|
DataPipelineNameAlreadyExist |
409 |
指定的 DataPipelineConfiguration 已存在,无法重复创建。 |
|
AccessDenied |
403 |
发起请求时未传入用户验证信息,或没有操作权限。 |
|
QpsLimitExceeded |
429 |
QPS 限流(请求速率受限)。当 HTTP 状态码为 5xx 时,可能在同一批请求中只有部分数据写入成功,写入不具备原子性。 |