Package Download API
Deskripsi operasi
API ini sedang dalam pratinjau publik. Jika Anda memiliki pertanyaan, bergabunglah dengan grup DingTalk kami untuk memberikan masukan. Untuk nomor grup, lihat Hubungi kami.
API ini saat ini mendukung pengemasan tetapi belum mendukung kompresi. Fitur kompresi akan ditambahkan di kemudian hari.
-
Sebelum menggunakan API ini, pastikan Anda memahami metode penagihan dan harga Intelligent Media Management (IMM).
Penting Waktu penyelesaian tugas asinkron tidak dijamin. -
Batas jumlah file: Anda dapat mengemas hingga 80.000 file.
-
Batas ukuran file: Ukuran total semua file sebelum dikemas tidak boleh melebihi 200 GB.
-
Fitur ini mendukung file dengan kelas penyimpanan Standard di OSS. Untuk mengemas file dengan kelas penyimpanan lain, terlebih dahulu ubah kelas penyimpanannya.
-
Ini adalah API asinkron. Setelah tugas dimulai, informasinya disimpan selama 7 hari. Setelah 7 hari, informasi tersebut tidak dapat lagi diambil. Untuk melihat informasi tugas, panggil operasi GetTask atau ListTasks dengan
TaskIdyang dikembalikan. Anda juga dapat mengatur parameter Notification untuk menerima informasi tugas melalui pesan notifikasi asinkron.
Coba sekarang
Test
RAM authorization
|
Action |
Access level |
Resource type |
Condition key |
Dependent action |
|
imm:CreateFileCompressionTask |
create |
*Project
|
None | None |
Parameter permintaan
|
Parameter |
Type |
Required |
Description |
Example |
| ProjectName |
string |
Yes |
Nama proyek. Untuk informasi selengkapnya, lihat Buat proyek. |
test-project |
| Sources |
array<object> |
No |
Daftar file yang akan dikemas beserta aturan pengemasannya. Catatan
Tentukan salah satu dari parameter ini atau `SourceManifestURI`. Parameter `Sources` mendukung maksimal 100 aturan pengemasan. Peringatan Jika Anda memiliki lebih dari 100 aturan pengemasan, gunakan parameter `SourceManifestURI`. |
|
|
object |
No |
Alamat OSS file yang akan dikemas beserta aturan pengemasannya. |
||
| URI |
string |
No |
Alamat OSS direktori atau file yang akan dikemas. Alamat OSS harus dalam format `oss://${Bucket}/${Object}`. `${Bucket}` adalah nama bucket OSS yang berada di wilayah yang sama dengan proyek saat ini. `${Object}` dijelaskan sebagai berikut:
|
oss://test-bucket/test-object |
| Alias |
string |
No |
Menentukan path atau nama baru untuk file sumber di dalam file terkompresi output.
Catatan
|
/new-dir/ |
| Mode |
string |
No |
Mode pencocokan pola untuk aturan pengemasan. Nilai yang valid meliputi
Valid values:
|
fullname |
| CredentialConfig | CredentialConfig |
No |
Jika Anda tidak memiliki persyaratan khusus, biarkan parameter ini kosong. Konfigurasi otorisasi berantai. Parameter ini bersifat opsional. Untuk informasi selengkapnya, lihat Gunakan otorisasi berantai untuk mengakses sumber daya entitas lain. |
|
| SourceManifestURI |
string |
No |
Alamat tempat file manifes disimpan. File manifes menyimpan struktur `Sources` dalam format JSON di OSS. Ini cocok untuk skenario dengan banyak file yang perlu dikemas. Catatan
Tentukan salah satu dari parameter ini atau Peringatan Saat menyimpan konten ke OSS, tentukan alamat OSS file tersebut untuk parameter ini. Berikut contoh struktur file tersebut: |
oss://test-bucket/test-object.json |
| TargetURI |
string |
Yes |
Alamat OSS file output. File terkompresi diberi nama sesuai dengan nama file di path ini, misalnya Alamat OSS harus dalam format `oss://${Bucket}/${Object}`. `${Bucket}` adalah nama bucket OSS yang berada di wilayah yang sama dengan proyek saat ini. `${Object}` adalah path lengkap file tersebut, termasuk ekstensi nama filenya. |
oss://test-bucket/test-target-object.zip |
| CompressedFormat |
string |
No |
Format kompresi untuk pengemasan file. Catatan
Saat ini, hanya format zip yang didukung. |
zip |
| UserData |
string |
No |
Data pengguna kustom. Data ini dikembalikan dalam pesan notifikasi asinkron, yang membantu Anda mengaitkan notifikasi tersebut dengan sistem internal Anda. Panjang maksimumnya adalah 2.048 byte. |
test-data |
| Notification | Notification |
No |
Konfigurasi notifikasi pesan. Untuk informasi selengkapnya, lihat tipe data Notification. Mengenai format pesan notifikasi asinkron, lihat Format pesan notifikasi asinkron. Catatan
Callback API IMM saat ini tidak mendukung penentuan alamat webhook. Gunakan MNS sebagai gantinya. |
Contoh aturan pengemasan untuk skenario umum
Contoh berikut menunjukkan cara mengonfigurasi aturan pengemasan untuk skenario umum berdasarkan struktur file contoh:
(bucket)
├── test-dir1
│ ├── file1.txt
│ ├── file2.doc
│ ├── file3.png
│ └── my-file.json
└── test-dir2
├── AAA
│ └── file.txt
├── AAA
├── file6.doc
├── file7.doc
└── file8.doc
Mengemas direktori tertentu
Untuk mengemas semua file di direktori test-dir1 ke direktori bernama test-dir, gunakan aturan pengemasan berikut:
[
{
"URI" : "oss://bucket/test-dir1/",
"Alias" : "/test-dir/"
}
]
Struktur file terkompresi yang dihasilkan adalah sebagai berikut:
.
└── test-dir
├── file1.txt
├── file2.doc
├── file3.png
└── my-file.json
Mengemas file dengan awalan tertentu
Untuk mengemas semua file dengan awalan test-dir1/file ke direktori bernama test-dir, gunakan aturan pengemasan berikut:
[
{
"URI" : "oss://bucket/test-dir1/file",
"Alias" : "/test-dir/"
}
]
Struktur file terkompresi yang dihasilkan adalah sebagai berikut:
.
└── test-dir
├── file1.txt
├── file2.doc
└── file3.png
Perhatikan bahwa jika Anda menggunakan mode awalan untuk pengemasan dan awalan tersebut cocok dengan file maupun folder, keduanya akan dikemas ke dalam file terkompresi. Contohnya:
[
{
"URI" : "oss://bucket/test-dir2/AAA",
"Alias" : "/AAA/"
}
]
Struktur file terkompresi yang dihasilkan adalah sebagai berikut:
.
└── AAA
├── AAA
└── file.txt
Mengemas file tertentu
Jika Anda tidak ingin menggunakan mode awalan, atur parameter mode untuk mengemas hanya file tertentu:
[
{
"URI" : "oss://bucket/test-dir2/AAA",
"Alias" : "AAA",
"mode" : "fullname",
},
{
"URI" : "oss://bucket/test-dir1/",
"Alias" : "/test-dir1/",
"mode" : "fullname",
}
]
Struktur file terkompresi yang dihasilkan adalah sebagai berikut:
.
├── AAA
└── test-dir1
Elemen respons
|
Element |
Type |
Description |
Example |
|
object |
Struktur respons. |
||
| RequestId |
string |
ID permintaan. |
EC564A9A-BA5C-4499-A087-D9B9E76E***** |
| EventId |
string |
ID event. |
0ED-1Bz8z71k5TtsUejT4UJ16Es***** |
| TaskId |
string |
ID tugas. |
FileCompression-3579a380-6f7a-4a9d-b9d2-65996***** |
Contoh
Respons sukses
JSONformat
{
"RequestId": "EC564A9A-BA5C-4499-A087-D9B9E76E*****",
"EventId": "0ED-1Bz8z71k5TtsUejT4UJ16Es*****",
"TaskId": "FileCompression-3579a380-6f7a-4a9d-b9d2-65996*****"
}
Kode kesalahan
Lihat Error Codes untuk daftar lengkap.
Catatan rilis
Lihat Release Notes untuk daftar lengkap.