Operasi PutDataPipelineConfiguration digunakan untuk membuat aturan pipa data (DataPipeline). Setelah aturan dibuat, OSS secara otomatis memanggil Alibaba Cloud Model Studio untuk melakukan vektorisasi data mentah di bucket sumber dan menuliskan data vektor yang dihasilkan ke indeks tertentu dalam bucket vektor.
Fitur ini saat ini hanya tersedia bagi pengguna yang masuk daftar putih. Untuk menggunakannya, hubungi technical support guna mengajukan permohonan.
Catatan penggunaan
Satu Akun Alibaba Cloud (UID) dapat membuat hingga 1.000 aturan pipa data dalam satu wilayah.
Nama DataPipeline harus unik dalam akun dan wilayah yang sama.
Aturan tidak dapat diubah setelah dibuat. Untuk menyesuaikan konfigurasi, hapus aturan tersebut lalu buat aturan baru.
Bucket standar sumber dan bucket vektor tujuan harus berada di wilayah yang sama. Pipa data tidak mendukung operasi lintas wilayah (cross-region).
Saat ini, satu aturan hanya mendukung penulisan ke satu indeks vektor saja (VectorIndexNames bertipe list, disediakan untuk dukungan multi-indeks di masa depan). Jika indeks tujuan penuh, aturan akan dijeda secara otomatis (Paused).
Pemanggilan vektorisasi menggunakan layanan Alibaba Cloud Model Studio milik Anda sendiri. Biaya penyematan (embedding) dikenakan oleh Model Studio.
Jika Anda menggunakan RAM user (bukan Akun Alibaba Cloud) untuk mengoperasikan AI VibeFlow, Anda harus menyelesaikan konfigurasi izin berikut terlebih dahulu.
Sintaksis permintaan
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>Use a Model Studio multimodal model to vectorize business data</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>Header permintaan
Operasi ini hanya menggunakan header permintaan umum. Untuk informasi selengkapnya, lihat Common Request Headers.
Parameter permintaan
Dalam permintaan, dataPipelineName dan role dikirim sebagai parameter kueri, sedangkan konfigurasi lainnya dikirim dalam badan permintaan (XML).
Name | Type | Required | Description | Example |
DataPipelineName | string | Ya | Nama aturan. Panjangnya maksimal 64 karakter dan dapat berisi huruf besar/kecil, angka, serta karakter khusus (- _). Nama harus unik dalam satu akun dan wilayah. | my-data-pipeline |
role | string | Ya | Role yang digunakan untuk membuat pipa data. Role tersebut harus memiliki izin yang diperlukan atas bucket sumber, bucket vektor tujuan, dan bucket output error opsional. | acs:ram::<AccountId>:role/my-data-pipeline-role |
DataPipelineDescription | string | Tidak | Deskripsi aturan. Panjangnya maksimal 200 karakter。 | Image vectorization task for the business department |
Sources | container | Ya | Informasi sumber data. Saat ini hanya mendukung satu Source. | - |
InputBucket | string | Ya | Nama bucket standar yang menyimpan data mentah. Node induk: Source. | mybucket |
InputDataScope | string | Ya | Mode pemrosesan. Nilai yang valid: Historical (hanya data yang sudah ada), Incremental (hanya data inkremental), dan All (data yang sudah ada dan inkremental). Node induk: Source. | All |
IgnoreDelete | bool | Tidak | Menentukan apakah vektor yang telah ditulis dipertahankan ketika objek dihapus. true (default): Vektor tidak dihapus. false: Vektor terkait dihapus saat objek dihapus. Node induk: Source. | true |
FilterConfiguration | container | Tidak | Aturan filter objek. Jika tidak diatur, semua file dalam bucket akan divectorisasi. Node induk: Source. | - |
PrefixSet | []string | Tidak | Kumpulan awalan objek. Hanya objek yang sesuai dengan awalan yang diproses. Panjang maksimum satu awalan adalah 1.023 karakter. Maksimal 1. Node induk: FilterConfiguration. | ["source/images/"] |
ObjectMediaTypes | []string | Tidak | Jenis objek yang diproses. Maksimal 3 jenis didukung. Nilai yang valid: text (.txt .log .md .csv .json .xml .yaml .yml), image, dan video (ekstensi nama file harus memenuhi persyaratan model Model Studio). Node induk: FilterConfiguration. | ["text", "image"] |
DataPipelineEmbeddingConfiguration | container | Ya | Konfigurasi vektorisasi. | - |
EmbeddingProvider | string | Ya | Penyedia vektorisasi. Saat ini hanya bailian yang didukung. Node induk: DataPipelineEmbeddingConfiguration. | bailian |
ApiKey | string | Ya | Kunci API Alibaba Cloud Model Studio. Diawali dengan sk-, panjangnya 35 hingga 128 karakter, dan hanya berisi huruf serta angka kecuali awalannya. Node induk: DataPipelineEmbeddingConfiguration. | sk-xxxx |
Model | string | Ya | Nama model vektor Model Studio. Node induk: DataPipelineEmbeddingConfiguration. | qwen2.5-vl-embedding |
FPS | float | Tidak | Laju frame saat Model Studio mengekstraksi frame dari video selama vektorisasi video. Nilai yang valid: (0,1]. Nilai default: 1,0. Node induk: DataPipelineEmbeddingConfiguration. | 1 |
Destination | container | Ya | Konfigurasi output hasil. | - |
VectorBucketName | string | Ya | Nama bucket vektor yang menyimpan data vektor. Node induk: Destination. | my-vector-bucket |
VectorIndexNames | []string | Ya | Daftar nama indeks vektor tempat data vektor disimpan. Saat ini hanya satu indeks yang didukung. Node induk: Destination. | ["my-index"] |
VectorKeyPrefix | string | Tidak | Metode penamaan kunci vektor tujuan. Jika kosong, kunci vektor sama dengan kunci objek. Jika tidak kosong, awalan ditambahkan sebelum kunci objek. Node induk: Destination. | - |
ObjectTagToMetadata | []string | Tidak | Tag objek yang ditulis sebagai metadata vektor. Node induk: Destination. | ["tag1", "tag2"] |
UsermetaToMetadata | []string | Tidak | Metadata pengguna yang ditulis sebagai metadata vektor. Node induk: Destination. | ["x-oss-meta-key1"] |
DataPipelineError | container | Ya | Konfigurasi penanganan kesalahan konversi. Catatan: Kesalahan pembatasan kecepatan (throttling) atau kesalahan 5xx akan dicoba ulang tanpa batas, dengan interval percobaan ulang minimum 1 detik dan maksimum 30 menit. | - |
ErrorMode | string | Ya | Mode penanganan ketika vektorisasi objek gagal. Nilai yang valid: ignore, ignoreAndRecord (abaikan kegagalan dan catat informasi kegagalan di bawah ErrorPrefix dalam ErrorBucket), dan abort (berhenti saat terjadi kesalahan). Node induk: DataPipelineError. | ignoreAndRecord |
ErrorBucket | string | Tidak | Bucket output kesalahan. Parameter ini wajib jika ErrorMode=ignoreAndRecord, dan tidak boleh sama dengan bucket Sumber. Node induk: DataPipelineError. | my-error-bucket |
ErrorPrefix | string | Tidak | Awalan output kesalahan. Parameter ini wajib jika ErrorMode=ignoreAndRecord. Jika konversi objek dengan kunci path/a.jpg gagal, informasi kesalahan (termasuk ErrorCode, ErrorMessage, dan RequestId) ditulis ke ErrorPrefix/<DataPipelineName>/path/a.jpg-<timestamp>.log dalam ErrorBucket. Node induk: DataPipelineError. | error-output/ |
Header respons
Operasi ini hanya menggunakan header respons umum. Untuk informasi selengkapnya, lihat Common Response Headers.
Contoh
Permintaan contoh:
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>Respons contoh:
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
Untuk contoh SDK operasi pipa data (DataPipeline) dalam berbagai bahasa, lihat Create a data pipeline (Java SDK V2) dan Create a data pipeline (Go SDK V2).
Alat baris perintah ossutil
Untuk perintah ossutil yang sesuai dengan operasi ini, lihat Create a data pipeline.
Kode kesalahan
Kode kesalahan | Kode status HTTP | Deskripsi |
InvalidArgument | 400 | Parameter DataPipelineConfiguration yang diberikan dalam permintaan tidak valid. Misalnya, model tidak mendukung dimensi indeks, model tidak mendukung ObjectMediaTypes, atau wilayah input dan output tidak konsisten. |
DataPipelineConfigurationExceedLimit | 400 | Jumlah pipa data yang dibuat telah mencapai batas maksimum. Satu pengguna dapat membuat hingga 1.000 aturan dalam satu wilayah. |
DataPipelineNameAlreadyExist | 409 | DataPipelineConfiguration yang ditentukan sudah ada dan tidak dapat dibuat lagi. |
AccessDenied | 403 | Tidak ada informasi otentikasi pengguna yang disediakan dalam permintaan, atau Anda tidak memiliki izin untuk melakukan operasi tersebut. |
QpsLimitExceeded | 429 | Pembatasan kecepatan QPS (laju permintaan dibatasi). Saat kode status HTTP adalah 5xx, hanya sebagian data dalam batch permintaan yang sama yang mungkin berhasil ditulis. Penulisan tidak bersifat atomik. |