Topik ini menjelaskan cara menggunakan unggah SDK untuk Python guna mengunggah file media ke ApsaraVideo VOD.
Proses unggah
Unggah SDK untuk Python mengikuti proses umum dari SDK ApsaraVideo VOD. Untuk informasi lebih lanjut, lihat Proses Unggah. Berikut adalah deskripsi proses dasar menggunakan unggah SDK server untuk Python:
Lengkapi konfigurasi sesuai dengan bagian Prasyarat dalam topik ini.
Integrasikan unggah SDK untuk Python. Untuk detail lebih lanjut, lihat Integrasikan unggah SDK untuk Python.
Konfigurasikan informasi unggah untuk mengimplementasikan logika unggah.
Untuk informasi lebih lanjut tentang cara mengunggah file audio atau video, lihat Skenario 1: Unggah file audio dan video.
Untuk informasi lebih lanjut tentang cara mengunggah gambar, lihat Skenario 2: Unggah gambar.
Untuk informasi lebih lanjut tentang cara mengunggah aset media tambahan, lihat Skenario 3: Unggah aset media tambahan.
Tentukan
ApiRegiondiAliyunVodUploader.pyjika Anda ingin mengunggah file media ke wilayah selain China (Shanghai). Secara default, unggah SDK untuk Python mengunggah file media kecn-shanghai. Untuk informasi lebih lanjut tentang titik akhir yang didukung, lihat Titik Akhir.Berikut adalah contoh kode sampel yang menunjukkan cara menentukan wilayah
China (Beijing):self.setApiRegion('cn-beijing')
Prasyarat
ApsaraVideo VOD telah diaktifkan. Untuk informasi lebih lanjut, lihat Aktifkan ApsaraVideo VOD.
Pengaturan sistem yang diperlukan untuk unggah, termasuk jalur penyimpanan di wilayah tertentu dan pengaturan callback, telah dikonfigurasi. Untuk informasi lebih lanjut, lihat Kelola bucket penyimpanan dan Konfigurasikan callback.
Pengguna RAM telah dibuat dan digunakan untuk mengakses ApsaraVideo VOD. Untuk mencegah risiko keamanan yang disebabkan oleh kebocoran pasangan AccessKey akun Alibaba Cloud Anda, kami sarankan Anda membuat pengguna RAM dan memberikan izin yang diperlukan kepada pengguna RAM untuk mengakses ApsaraVideo VOD. Kemudian, Anda dapat menggunakan pasangan AccessKey dari pengguna RAM untuk mengakses ApsaraVideo VOD. Untuk informasi lebih lanjut, lihat Buat dan berikan izin kepada pengguna RAM.
Konfigurasikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_ID dan ALIBABA_CLOUD_ACCESS_KEY_SECRET. Untuk informasi lebih lanjut, lihat Konfigurasikan variabel lingkungan di Linux, macOS, dan Windows.
PentingPasangan AccessKey akun Alibaba Cloud memiliki izin pada semua Operasi API. Kami sarankan Anda menggunakan pasangan AccessKey dari pengguna RAM untuk memanggil Operasi API atau melakukan pemeliharaan rutin.
Kami sarankan Anda tidak mengkode keras ID AccessKey dan Rahasia AccessKey ke dalam kode proyek Anda. Jika tidak, pasangan AccessKey mungkin bocor dan keamanan semua sumber daya di akun Anda terganggu.
Opsional. Peran dibuat untuk pengguna RAM dan peran tersebut diberikan izin yang diperlukan untuk mengakses ApsaraVideo VOD jika Anda ingin mengakses ApsaraVideo VOD menggunakan Layanan Token Keamanan (STS). Untuk informasi lebih lanjut, lihat Dapatkan token STS.
CatatanUntuk informasi lebih lanjut tentang skenario di mana STS dapat digunakan, lihat Perbandingan antara kredensial dan STS.
Integrasikan unggah SDK untuk Python
Untuk informasi lebih lanjut tentang direktori unggah SDK untuk Python, lihat Direktori.
Berikut ini menjelaskan cara mengintegrasikan unggah SDK untuk Python sebagai pengguna non-root.
Jalankan perintah berikut untuk menginstal dependensi:
sudo pip install aliyun-python-sdk-core
sudo pip install aliyun-python-sdk-vod
sudo pip install oss2
CatatanJika Anda menggunakan Python 3.x, ganti sudo pip install aliyun-python-sdk-core dengan sudo pip install aliyun-python-sdk-core-v3. Jika Anda telah menginstal beberapa versi Python, Anda dapat menjalankan perintah pip3. Jika terjadi kesalahan saat Anda mengintegrasikan SDK, atasi kesalahan tersebut dengan mengikuti petunjuk yang diberikan di FAQ.
Unduh paket VodUploadSDK-Python_1.3.*.zip, yang berisi unggah SDK untuk Python dan kode sampel. Untuk informasi lebih lanjut, lihat Unggah SDK.
CatatanDalam topik ini, SDK V1.3.1 digunakan sebagai contoh. Anda dapat menggunakan versi lain berdasarkan kebutuhan bisnis Anda.
Ekstrak paket VodUploadSDK-Python_1.3.*.zip dan salin voduploadsdk dari direktori VodUploadSDK-Python_1.3.* ke direktori proyek lokal Anda atau ke direktori site-packages. Kami sarankan Anda menyalin voduploadsdk ke direktori proyek lokal Anda.
Perbarui unggah SDK untuk Python
Jika operasi baru atau fitur baru dari operasi yang ada tidak tersedia di SDK saat ini, perbarui SDK ke versi terbaru.
Jalankan perintah berikut untuk menginstal dependensi:
sudo pip install --upgrade aliyun-python-sdk-vod
sudo pip install --upgrade oss2
Unduh versi terbaru unggah SDK untuk Python untuk menimpa SDK yang ada. Untuk informasi lebih lanjut, lihat Ikhtisar dan unduhan SDK.
CatatanAnda dapat memperoleh nomor versi dan tanggal rilis SDK saat ini di baris pertama file ChangeLog.txt di direktori voduploadsdk.
Direktori
voduploadsdk
AliyunVodUtils.py
Direktori
Deskripsi
AliyunVodLog
Kelas log dari unggah SDK. Kelas ini diimplementasikan berdasarkan logging.
AliyunVodUtils
Kelas utilitas dari unggah SDK.
AliyunVodException
Kelas pengecualian dari unggah SDK. Penanganan pengecualian terpadu didukung. Anda hanya perlu mendeteksi pengecualian AliyunVodException untuk panggilan eksternal.
UploadVideoRequest.py
Direktori
Deskripsi
UploadVideoRequest
Kelas permintaan untuk unggah video. Untuk informasi lebih lanjut tentang parameter, lihat CreateUploadVideo.
UploadImageRequest.py
Direktori
Deskripsi
UploadImageRequest
Kelas permintaan untuk unggah gambar. Untuk informasi lebih lanjut tentang parameter, lihat CreateUploadImage.
UploadAttachedMediaRequest.py
Direktori
Deskripsi
UploadAttachedMediaRequest
Kelas permintaan untuk unggah aset media tambahan. Untuk informasi lebih lanjut tentang parameter, lihat CreateUploadAttachedMedia.
AliyunVodUploader.py
Direktori
Deskripsi
uploadLocalVideo
Operasi API yang digunakan untuk mengunggah video lokal.
uploadWebVideo
Operasi API yang digunakan untuk mengunggah video online.
uploadLocalM3u8
Operasi API yang digunakan untuk mengunggah video M3U8 lokal.
uploadWebM3u8
Operasi API yang digunakan untuk mengunggah video M3U8 online.
uploadImage
Operasi API yang digunakan untuk mengunggah gambar lokal atau online.
uploadAttachedMedia
Operasi API yang digunakan untuk mengunggah aset media tambahan lokal atau online.
parseWebM3u8
Operasi API yang digunakan untuk mengurai informasi tentang bagian file video M3U8 online.
parseLocalM3u8
Operasi API yang digunakan untuk mengurai informasi tentang bagian file video M3U8 lokal.
setApiRegion
Operasi API yang digunakan untuk menentukan wilayah akses ApsaraVideo VOD. Nilai default: cn-shanghai. Anda dapat menentukan wilayah di luar Tiongkok daratan, seperti ap-southeast-1 untuk Singapura. Untuk informasi lebih lanjut, lihat ID Wilayah ApsaraVideo VOD.
setMultipartUpload
Operasi API yang digunakan untuk menetapkan ambang batas unggah multipart dan ukuran bagian.
uploadProgressCallback
Operasi API yang digunakan untuk menetapkan callback untuk kemajuan unggah. Hasil ini dapat ditimpa.
setEnableCrc
Operasi API yang digunakan untuk menentukan apakah akan mengaktifkan pemeriksaan redundansi siklik (CRC) selama unggah. Secara default, CRC diaktifkan.
ChangeLog.txt: Riwayat versi. Anda dapat memperoleh nomor versi dan tanggal rilis SDK dari baris pertama.
Direktori sampel
uploadVideo.py: kode sampel untuk unggah video.
uploadImage.py: kode sampel untuk unggah gambar.
uploadAttachedMedia.py: kode sampel untuk unggah aset media tambahan.
Skenario 1: Unggah file audio dan video
File audio dan video reguler
ApsaraVideo VOD memungkinkan Anda mengunggah file audio atau video menggunakan salah satu metode berikut:
Gunakan unggah multipart untuk mengunggah file lokal. Anda dapat mengunggah file hingga 48,8 TB. Unggah berkelanjutan tidak didukung. Untuk informasi lebih lanjut, lihat fungsi testUploadLocalVideo dalam kode sampel.
Gunakan URL file untuk mengunggah file online. Anda dapat mengunggah file hingga 48,8 TB. Sebelum Anda mengunggah file online, Anda harus mengunduh file tersebut ke disk lokal. Pastikan disk lokal memiliki ruang yang cukup. Untuk informasi lebih lanjut, lihat fungsi testUploadWebVideo dalam kode sampel.
File M3U8
Percepatan unggah
Jika Anda ingin mengunggah file besar berukuran gigabyte atau terabyte, atau mengunggah video lintas wilayah, seperti ke alamat penyimpanan di wilayah Singapura dari Tiongkok daratan, Anda dapat mengaktifkan fitur percepatan unggah. Untuk informasi lebih lanjut, lihat Aktifkan percepatan unggah. Setelah Anda mengaktifkan percepatan unggah, Anda perlu menambahkan pasangan key-value AccelerateConfig ke objek UserData dalam konfigurasi unggah. Jika objek tersebut tidak ada, Anda perlu membuatnya. Contoh kode:
uploadVideoRequest.setUserData("{\"AccelerateConfig\":{\"Type\":\"oss\",\"Domain\":\"****Bucket.oss-accelerate.aliyuncs.com\"}}");Parameter
Parameter | Tipe | Deskripsi |
Type | string | Tipe untuk mana Anda ingin mengaktifkan percepatan unggah. Hanya OSS yang didukung. |
Domain | string | Nama domain dipercepat dari bucket. Nilai default: https. Catatan Titik akhir dipercepat yang ditetapkan setelah Anda mengaktifkan percepatan unggah, seperti vod-*******.oss-accelerate.aliyuncs.com. |
Skenario 2: Unggah gambar
Skenario 3: Unggah aset media tambahan
FAQ
Jika pesan kesalahan ERROR:root:Download fail: [Errno 2] No such file or directory dikembalikan saat Anda menggunakan kode sampel untuk mengunggah aliran video online, Anda dapat membuat folder dlfiles di direktori level yang sama dengan voduploadsdk untuk memperbaiki kesalahan.