調用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/xmlSDK
資料管道(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 時,可能在同一批請求中只有部分資料寫入成功,寫入不具備原子性。 |