All Products
Search
Document Center

:Integrasi sisi server

Last Updated:Jun 21, 2026

Server ApsaraVideo for Short Video menangani pertukaran data dengan aplikasi klien dan ApsaraVideo VOD, memproses logika bisnis, serta mengelola data operasional. Topik ini menjelaskan proses integrasi sisi server.

Prasyarat

  • Akun Alibaba Cloud telah dibuat dan verifikasi identitas telah selesai. Untuk membuat Akun Alibaba Cloud, kunjungi situs resmi Alibaba Cloud. Untuk informasi lebih lanjut, lihat Buat Akun Alibaba Cloud.

  • Anda telah mengaktifkan ECS dan menyelesaikan konfigurasi yang diperlukan. Untuk informasi lebih lanjut, lihat Aktifkan dan konfigurasi ECS.

  • Anda telah menginstal JDK 8 pada instans ECS Anda.

  • Anda telah menginstal database MySQL 5.7 pada instans ECS Anda. Untuk informasi lebih lanjut, lihat Instal dan konfigurasi database MySQL. Setelah layanan Anda berjalan, gunakan ApsaraDB RDS untuk stabilitas dan performa yang lebih baik. Untuk informasi lebih lanjut, lihat ApsaraDB RDS.

  • Anda telah mengaktifkan ApsaraVideo VOD dan mengonfigurasi templat yang diperlukan di Konsol. Untuk informasi lebih lanjut, lihat Aktifkan dan konfigurasi ApsaraVideo VOD.

Prosedur

Unggah kode sumber

  1. Unduh kode sumber AppServer dan konsol manajemen ApsaraVideo for Short Video. Untuk tautan unduhan, lihat ApsaraVideo for Short Video.

  2. Pada server tempat file sumber disimpan, jalankan perintah berikut untuk mengunggah paket kode sumber ke instans ECS.

    scp <source_code_file> user@<ECS_instance_IP>:<destination_path>

    scp ApsaraVideo_QuVideo_v1.4.0_Server_20191226.zip user@10.0.0.0:/home/user/workspace/

    ApsaraVideo_QuVideo_v1.4.0_Server_20191226.zip adalah file kode sumber, user adalah username instans ECS, 10.0.0.0 adalah alamat IP instans ECS, dan /home/user/workspace/ adalah path unggah.

    Catatan

    File kode sumber, username ECS, alamat IP instans ECS, dan path unggah hanyalah contoh. Ganti nilai contoh tersebut dengan informasi aktual Anda.

  3. Login ke instans ECS dan ekstrak paket kode sumber.

    cd /home/user/workspace

    unzip ApsaraVideo_QuVideo_v1.4.0_Server_20191226.zip

    Catatan

    Jika unzip belum terinstal, jalankan sudo apt install unzip.

Inisialisasi dan konfigurasi database

Catatan

Anda dapat membangun pustaka musik mandiri.

  • Struktur data yang dikembalikan oleh layanan Anda harus sesuai dengan struktur data dari layanan Alibaba Cloud untuk pengambilan daftar musik; jika tidak, pengambilan akan gagal.

  • Jika Anda menggunakan struktur data kustom, sesuaikan logika kode di lapisan demo.

  1. Buat database bernama voddemo.

    cd /home/user/workspace/ApsaraVideo_QuVideo_v1.4.0_Server_20191226/sql

    mysqladmin -u root -p create voddemo

  2. Buat tabel dan akun administrator.

    mysql -u root -p voddemo < ./appserver_create_table.sql

    Catatan

    Selain membuat tabel, skrip appserver_create_table.sql menggunakan pernyataan INSERT untuk membuat akun administrator konsol dengan username admin dan password 123456. Anda dapat menggunakan akun ini untuk login ke konsol demo sebagai administrator setelah konsol terintegrasi.

  3. Ubah aturan case sensitivity database.

    1. Edit file konfigurasi database.

      sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

    2. Tekan tombol I dan tambahkan lower_case_table_names=1 di akhir file.

    3. Tekan Esc, lalu masukkan :wq! untuk menyimpan dan keluar.

    4. Restart database agar perubahan diterapkan.

      sudo service mysql restart

  4. Konfigurasi alamat database.

    1. Edit file konfigurasi kode sumber.

      vim /home/user/workspace/ApsaraVideo_QuVideo_v1.4.0_Server_20191226/src/main/resources/application.properties

    2. Tekan I dan ubah parameter berikut.

      spring.datasource.url = jdbc:mysql://<Database_IP_address (e.g., 127.0.0.1)>:3306/<Database_name (e.g., voddemo)>?useSSL=false&useUnicode=true&characterEncoding=UTF-8
      spring.datasource.username = <Database_username, e.g., admin>
      spring.datasource.password = <Database_password>
      Catatan
      • Jika database dan server berjalan pada instans ECS yang sama, Anda dapat mengatur alamat IP database menjadi 127.0.0.1. Jika tidak, gunakan alamat IP mesin tempat database berada.

      • Database yang dibuat selama inisialisasi diberi nama voddemo.

    3. Tekan Esc, lalu masukkan :wq! untuk menyimpan dan keluar.

Konfigurasi peran RAM

  1. Ikuti langkah-langkah dalam Buat peran. Setelah memilih izin pada Langkah 6, lanjutkan dengan langkah-langkah berikut. Anda dapat menentukan nama peran kustom. Topik ini menggunakan alivc-demo-role sebagai contoh.

  2. Pada halaman Roles, klik nama peran RAM yang telah Anda buat, misalnya alivc-demo-role, untuk menemukan ARN-nya. Catat nama peran RAM dan ARN untuk digunakan nanti.

  3. Pada halaman Roles, klik nama peran RAM yang telah Anda buat, misalnya alivc-demo-role. Klik tab Trust Policy, lalu klik Edit Trust Policy dan ubah kebijakan kepercayaan sebagai berikut:

    {
        "Statement": [
            {
                "Action": "sts:AssumeRole", 
                "Effect": "Allow", 
                "Principal": {
                    "Service": [
                        "ecs.aliyuncs.com"
                    ]
                }
            }
        ], 
        "Version": "1"
    }

    Kebijakan ini mendefinisikan peran sebagai peran layanan, yang memungkinkan layanan cloud tepercaya (ECS) untuk mengasumsikannya. Jika kebijakan kepercayaan tidak diubah, peran RAM tidak dapat disambungkan ke instans ECS.

    Parameter Instance ID harus diatur ke ["Instance ID"].

  4. Sambungkan peran RAM ke instans ECS.

    Gunakan API AttachInstanceRamRole dari ECS di OpenAPI Explorer. Untuk informasi lebih lanjut, lihat OpenAPI Explorer.

    Catatan
    • RegionId: ID wilayah tempat instans ECS Anda berada, misalnya China (Shanghai). Anda dapat menemukannya di Konsol ECS.

    • RamRoleName: Nama peran RAM. Contoh ini menggunakan alivc-demo-role.

    • InstanceIds: ID instans ECS sisi server tempat Anda ingin menyambungkan peran RAM. Anda dapat menemukannya di Konsol ECS. ID harus dalam format array, misalnya: ["i-bp135jrddxxf9tgo****"].

    Klik Initiate Call. Pemanggilan yang berhasil akan mengembalikan pesan sukses di hasil debugging di sebelah kanan.

  5. Jalankan perintah berikut di terminal ECS untuk memverifikasi bahwa peran RAM telah dikaitkan dengan instans ECS.

    curl http://100.100.100.200/latest/meta-data/ram/security-credentials/alivc-demo-role

    Tanggapan berikut menunjukkan bahwa otorisasi temporary STS berhasil, dan peran RAM telah dikaitkan dengan instans ECS.

    {
    "AccessKeyId" : "STS.XXXXXXXXXXXX",
    "AccessKeySecret" : "XXXXXXXXXXXXXXXX",
    "Expiration" : "2020-11-20T14:33:31Z",
    "SecurityToken" : "XXXXXXXXXXXXXXXXXXXXXX",
    "LastUpdated" : "2020-11-20T08:33:31Z",
    "Code" : "Success"
    }
    Catatan

    Setiap instans ECS hanya dapat disambungkan ke satu peran RAM. Untuk mengganti peran RAM yang disambungkan, pertama-tama panggil DetachInstanceRamRole di OpenAPI Explorer untuk melepas peran saat ini dari instans ECS, lalu gunakan AttachInstanceRamRole untuk menyambungkan peran RAM baru.

  6. Konfigurasi informasi terkait RAM.

    1. Edit file konfigurasi kode sumber.

      vim /home/user/workspace/ApsaraVideo_QuVideo_v1.4.0_Server_20191226/src/main/resources/application.properties

    2. Tekan I dan ubah file sesuai contoh berikut.

      roleArn = acs:ram::xxx:role/alivc-demo-role
      roleSessionName = vod-session
      roleName = alivc-demo-role
      # Blok berikut berisi contoh usang dan harus diabaikan.
      Catatan
      • Parameter REGION_CN_HANGZHOU sudah tidak digunakan lagi. Gunakan VOD_REGIONID sebagai gantinya, seperti yang ditentukan dalam bagian konfigurasi ApsaraVideo VOD.

      • roleArn menentukan ARN yang diperoleh dari Konsol RAM.

      • roleSessionName menentukan nama sesi untuk token temporary. Anda dapat menyesuaikan nama ini.

      • roleName menentukan nama peran RAM yang diperoleh dari Konsol RAM. Dalam contoh ini, namanya adalah alivc-demo-role.

    3. Tekan Esc, lalu masukkan :wq! untuk menyimpan dan keluar.

  7. Konfigurasikan ApsaraVideo VOD.

    1. Edit file konfigurasi kode sumber.

      vim /home/user/workspace/ApsaraVideo_QuVideo_v1.4.0_Server_20191226/src/main/resources/application.properties

    2. Tekan I dan ubah parameter sesuai kebutuhan.

      # ID templat transkoding
      TEMPLATEGROUP_ID = xxx
      LONGVIDEO_TRANSCODE_TEMPLATEGROUP_ID = xxxxxxxx
      TAB_TEMPLATEGROUP_ID = xxxxxxxx
      # Nama domain
      DOMAIN_NAME = http://xxx:8080/
      AVATAR_DOMAIN_NAME = http://xxx:8080/resource/
      AVATAR_URL = 1.png,2.png
      VOD_REGIONID = cn-hangzhou
      # Kebijakan untuk layanan ApsaraVideo VOD
      policy = {"Version": "1", "Statement": [ {"Action": ["vod:*"], "Resource": ["*"  ],"Effect": "Allow"}]}
      # appkey Taihe Music
      OPEN_API_URL = https://xxxxxxxx.xxxxxxxx.com
      Q_SOURCE = xxxxxxxx
      CALLBACK_PRIVETEKEY = VodTest01
      CALLBACK_NAME = http://xxx:8080/vodcallback/callback
      APP_ID = app-1000000
      AUDIT_SETTINGS_FLAG = on
      auth_key = xxxxx
      live_domain = http://xxxxx.aliyuncs.com
      package_name = IOS,ANDROID,TEST,com.aliyun.apsara.svideo,com.aliyun.apsaravideo,com.aliyun.solution.longvideo

      Parameter

      Wajib

      Deskripsi

      TEMPLATEGROUP_ID

      Ya

      ID kelompok template transkoding. Untuk informasi lebih lanjut, lihat Kelompok template transkoding.

      LONGVIDEO_TRANSCODE_TEMPLATEGROUP_ID

      Tidak

      Kelompok template transkoding yang digunakan untuk video panjang dalam alur kerja publish-before-review.

      TAB_TEMPLATEGROUP_ID

      Tidak

      ID kelompok template transkoding Narrowband HD. Setelah dikonfigurasi, Anda dapat merekomendasikan video Narrowband HD di konsol. Jika ID ini tidak diatur, upaya untuk merekomendasikan video Narrowband HD akan gagal.

      DOMAIN_NAME

      Ya

      Alamat instans ECS. Contoh: http://10.10.10.101:8080/.

      AVATAR_DOMAIN_NAME

      Tidak

      Alamat untuk sumber daya avatar, yaitu alamat sumber daya statis instans ECS. Contoh: http://10.10.10.101:8080/resource/.

      AVATAR_URL

      Tidak

      Daftar nama file gambar avatar yang dipisahkan koma, seperti 1.png,2.png.

      Catatan

      Letakkan file gambar avatar yang sesuai, 1.png dan 2.png, di direktori /home/user/workspace/ApsaraVideo_QuVideo_v1.4.0_Server_20191226/src/main/webapp/resource. Jika layanan avatar tidak dikonfigurasi, pengguna mobile tidak akan memiliki avatar, tetapi fungsi lain tidak akan terpengaruh.

      VOD_REGIONID

      Ya

      Wilayah tempat layanan ApsaraVideo VOD berada. Contoh: cn-shanghai.

      policy

      Ya

      Kebijakan yang membatasi izin lebih lanjut saat peran diasumsikan. Untuk informasi lebih lanjut, lihat Gunakan kebijakan RAM untuk otorisasi kustom.

      CALLBACK_PRIVETEKEY

      Ya

      Kunci privat untuk otentikasi callback. Untuk informasi lebih lanjut, lihat Pengaturan Callback.

      CALLBACK_NAME

      Ya

      URL callback. Contoh: http://<IP_Public_instans_ECS>:8080/vodcallback/callback. Contoh ini menggunakan http://10.10.10.101:8080/vodcallback/callback.

      AUDIT_SETTINGS_FLAG

      Ya

      Menentukan mode peninjauan konten. Nilai default: on. Nilai yang valid:

      • on: review-before-publish.

      • off: publish-before-review.

      package_name

      Ya

      Nama paket yang valid untuk interceptor. Pisahkan beberapa nama paket dengan koma. Nilai default adalah IOS,ANDROID,TEST,com.aliyun.apsara.svideo,com.aliyun.apsaravideo,com.aliyun.solution.longvideo.

      Catatan
      • com.aliyun.apsara.svideo adalah nama paket untuk klien Android dalam contoh ini.

      • Jika Bundle Identifier untuk klien iOS Anda sudah terdaftar, klien tidak dapat dijalankan. Anda harus menggunakan Bundle Identifier kustom, seperti com.<Nama_Perusahaan>.<Nama_Projek>, untuk signature klien iOS dan menambahkannya ke parameter package_name agar akses tetap valid.

      • Interceptor hanya mengizinkan aplikasi mobile dengan nama paket yang valid untuk mengakses server. Jika tidak, permintaan dari klien mobile akan ditolak dengan error 403 Forbidden.

    3. Tekan Esc, lalu masukkan :wq! untuk menyimpan dan keluar.

  8. Jalankan layanan.

    1. Kompilasi dan paketkan kode.

      cd /home/user/workspace/ApsaraVideo_QuVideo_v1.4.0_Server_20191226

      mvn clean package -Dmaven.test.skip=true

      Catatan
      • Jika Maven belum terinstal, jalankan apt install maven untuk menginstalnya.

      • Waktu pengemasan tergantung pada bandwidth dan performa instans. Dalam contoh ini, pengemasan awal memerlukan waktu sekitar 30 menit.

      Setelah pengemasan selesai, file sdk-api-0.0.1-SNAPSHOT.jar dihasilkan di direktori /home/user/workspace/ApsaraVideo_QuVideo_v1.4.0_Server_20191226/target/.

    2. Deploy file JAR dan mulai layanan.

      cd /home/user/workspace/ApsaraVideo_QuVideo_v1.4.0_Server_20191226/target

      nohup java -jar sdk-api-0.0.1-SNAPSHOT.jar &

      Catatan
      • Saat perintah dijalankan, prompt nohup akan muncul. Tekan Enter untuk menjalankan program di latar belakang.

      • Setelah perintah dieksekusi, file log bernama nohup.out dihasilkan di direktori saat ini. Jalankan perintah cat nohup.out untuk melihat log. Jika log berisi pesan start success, layanan telah berhasil dimulai.

      • Jika instans ECS Anda memiliki memori yang kecil dan Anda perlu mengemas ulang serta mendeploy ulang kode sumber server, Anda dapat menjalankan perintah jps untuk melihat ID proses program JAR yang sedang berjalan, lalu jalankan perintah kill -9 <JAR_process_ID> untuk menghentikan proses sebelum mengemas dan mendeploy ulang. Jika tidak, proses pengemasan akan gagal karena memori tidak mencukupi.