Operasi PutDataPipelineConfiguration digunakan untuk membuat aturan DataPipeline. Setelah aturan dibuat, OSS secara otomatis memanggil Alibaba Cloud Model Studio guna melakukan vektorisasi data mentah di bucket sumber dan menuliskan data vektor yang dihasilkan ke indeks tertentu di bucket vektor.
Catatan penggunaan
-
Satu Akun Alibaba Cloud (UID) dapat membuat hingga 1.000 aturan DataPipeline 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 yang baru.
-
Bucket sumber standar dan bucket vektor tujuan harus berada di wilayah yang sama. Data pipeline tidak mendukung operasi lintas wilayah (cross-region).
-
Saat ini, satu aturan hanya mendukung penulisan ke satu indeks vektor saja (VectorIndexNames bertipe list, dicadangkan untuk kemampuan multi-indeks di masa depan). Jika indeks tujuan penuh, aturan akan dijeda secara otomatis (Paused).
-
Vektorisasi menggunakan layanan Alibaba Cloud Model Studio milik Anda sendiri. Biaya penyematan (embedding) dikenakan oleh Model Studio.
-
Jika Anda menggunakan pengguna RAM (bukan Akun Alibaba Cloud) untuk mengoperasikan AI VibeFlow, Anda harus menyelesaikan konfigurasi izin berikut terlebih dahulu.
Sintaks 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 |
Yes |
Nama aturan. Panjangnya maksimal 64 karakter dan dapat berisi huruf besar dan kecil, angka, serta karakter khusus (- _). Nama harus unik dalam satu akun dan wilayah. |
my-data-pipeline |
|
role |
string |
Yes |
Role yang digunakan untuk membuat data pipeline. Role tersebut harus memiliki izin yang diperlukan pada bucket sumber, bucket vektor tujuan, dan bucket output error opsional. |
acs:ram::<AccountId>:role/my-data-pipeline-role |
|
DataPipelineDescription |
string |
No |
Deskripsi aturan. Panjangnya maksimal 200 karakter. |
Image vectorization task for the business department |
|
Sources |
container |
Yes |
Informasi sumber data. Saat ini hanya mendukung satu Source. |
- |
|
InputBucket |
string |
Yes |
Nama bucket standar yang menyimpan data mentah. Node induk: Source. |
mybucket |
|
InputDataScope |
string |
Yes |
Mode pemrosesan. Nilai yang valid: Historical (hanya data yang sudah ada), Incremental (hanya data inkremental), dan All (data yang sudah ada dan data inkremental). Node induk: Source. |
All |
|
IgnoreDelete |
bool |
No |
Menentukan apakah vektor yang telah ditulis dipertahankan ketika objek dihapus. true (default): Vektor tidak dihapus. false: Vektor yang sesuai dihapus saat objek dihapus. Node induk: Source. |
true |
|
FilterConfiguration |
container |
No |
Aturan filter objek. Jika tidak diatur, semua file dalam bucket akan divectorisasi. Node induk: Source. |
- |
|
PrefixSet |
[]string |
No |
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 |
No |
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 |
Yes |
Konfigurasi vektorisasi. |
- |
|
EmbeddingProvider |
string |
Yes |
Penyedia vektorisasi. Saat ini hanya bailian yang didukung. Node induk: DataPipelineEmbeddingConfiguration. |
bailian |
|
ApiKey |
string |
Yes |
Kunci API Alibaba Cloud Model Studio. Diawali dengan sk-, panjangnya 35 hingga 128 karakter, dan hanya berisi huruf dan angka selain awalan tersebut. Node induk: DataPipelineEmbeddingConfiguration. |
sk-xxxx |
|
Model |
string |
Yes |
Nama model vektor Model Studio. Node induk: DataPipelineEmbeddingConfiguration. |
qwen2.5-vl-embedding |
|
FPS |
float |
No |
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 |
Yes |
Konfigurasi output hasil. |
- |
|
VectorBucketName |
string |
Yes |
Nama bucket vektor yang menyimpan data vektor. Node induk: Destination. |
my-vector-bucket |
|
VectorIndexNames |
[]string |
Yes |
Daftar nama indeks vektor tempat data vektor disimpan. Saat ini hanya satu indeks yang didukung. Node induk: Destination. |
["my-index"] |
|
VectorKeyPrefix |
string |
No |
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 |
No |
Tag objek yang ditulis sebagai metadata vektor. Node induk: Destination. |
["tag1", "tag2"] |
|
UsermetaToMetadata |
[]string |
No |
Metadata pengguna yang ditulis sebagai metadata vektor. Node induk: Destination. |
["x-oss-meta-key1"] |
|
DataPipelineError |
container |
Yes |
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 |
Yes |
Mode penanganan ketika vektorisasi objek gagal. Nilai yang valid: ignore, ignoreAndRecord (mengabaikan kegagalan dan mencatat informasi kegagalan di bawah ErrorPrefix dalam ErrorBucket), dan abort (berhenti saat terjadi kesalahan). Node induk: DataPipelineError. |
ignoreAndRecord |
|
ErrorBucket |
string |
No |
Bucket output kesalahan. Parameter ini wajib saat ErrorMode=ignoreAndRecord, dan tidak boleh sama dengan bucket Sumber. Node induk: DataPipelineError. |
my-error-bucket |
|
ErrorPrefix |
string |
No |
Awalan output kesalahan. Parameter ini wajib saat 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 di 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/xml
SDK
Untuk contoh SDK operasi 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
|
Error code |
HTTP status code |
Description |
|
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 data pipeline 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 autentikasi 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. |