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