全部产品
Search
文档中心

对象存储 OSS:PutDataPipelineConfiguration

更新时间:Jul 08, 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 时,可能在同一批请求中只有部分数据写入成功,写入不具备原子性。