全部產品
Search
文件中心

Object Storage Service:PutDataPipelineConfiguration

更新時間:Jul 09, 2026

調用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)

請求參數

請求中的 dataPipelineNamerole 通過查詢參數傳入,其餘配置通過請求體(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 時,可能在同一批請求中只有部分資料寫入成功,寫入不具備原子性。