All Products
Search
Document Center

ApsaraVideo Live:Gunakan server SDK untuk Python

Last Updated:Jul 15, 2026

Topik ini menjelaskan cara menggunakan server SDK untuk Python yang disediakan oleh ApsaraVideo Live, dilengkapi contoh kode terkait. Sebagai ilustrasi, topik ini menggunakan operasi API DescribeCasters untuk menunjukkan cara memanggil API ApsaraVideo Live.

Prasyarat

  • Python 2.7 atau versi yang lebih baru telah diinstal.

  • Server SDK untuk Python telah diunduh. Untuk informasi selengkapnya, lihat Unduh SDK.

Prosedur

  1. Instal SDK.

    1. Instal Alibaba Cloud Core SDK.

      sudo pip install aliyun-python-sdk-core

    2. Instal ApsaraVideo Live SDK.

      sudo pip install aliyun-python-sdk-live

  2. Perbarui SDK.

    1. Perbarui Alibaba Cloud Core SDK.

      sudo pip install aliyun-python-sdk-core --upgrade

    2. Perbarui ApsaraVideo Live SDK.

      sudo pip install aliyun-python-sdk-live --upgrade

  3. Gunakan server SDK untuk Python.

    1. Baca deskripsi file. Dalam contoh ini, file DescribeCastersRequest.py dalam SDK digunakan.

      # Licensed to the Apache Software Foundation (ASF) under one
      # or more contributor license agreements.  See the NOTICE file
      # distributed with this work for additional information
      # regarding copyright ownership.  The ASF licenses this file
      # to you under the Apache License, Version 2.0 (the
      # "License"); you may not use this file except in compliance
      # with the License.  You may obtain a copy of the License at
      #
      #
      #     http://www.apache.org/licenses/LICENSE-2.0
      #
      #
      # Unless required by applicable law or agreed to in writing,
      # software distributed under the License is distributed on an
      # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
      # KIND, either express or implied.  See the License for the
      # specific language governing permissions and limitations
      # under the License.
      
      from aliyunsdkcore.request import RpcRequest
      from aliyunsdklive.endpoint import endpoint_data
      
      class DescribeCastersRequest(RpcRequest):
      
          def __init__(self):
              RpcRequest.__init__(self, 'live', '2016-11-01', 'DescribeCasters','live')
              self.set_method('POST')
      
              if hasattr(self, "endpoint_map"):
                  setattr(self, "endpoint_map", endpoint_data.getEndpointMap())
              if hasattr(self, "endpoint_regional"):
                  setattr(self, "endpoint_regional", endpoint_data.getEndpointRegional())
      
          def get_StartTime(self): # String
              return self.get_query_params().get('StartTime')
      
          def set_StartTime(self, StartTime):  # String
              self.add_query_param('StartTime', StartTime)
          def get_PageNum(self): # Integer
              return self.get_query_params().get('PageNum')
      
          def set_PageNum(self, PageNum):  # Integer
              self.add_query_param('PageNum', PageNum)
          def get_CasterName(self): # String
              return self.get_query_params().get('CasterName')
      
          def set_CasterName(self, CasterName):  # String
              self.add_query_param('CasterName', CasterName)
          def get_PageSize(self): # Integer
              return self.get_query_params().get('PageSize')
      
          def set_PageSize(self, PageSize):  # Integer
              self.add_query_param('PageSize', PageSize)
          def get_NormType(self): # String
              return self.get_query_params().get('NormType')
      
          def set_NormType(self, NormType):  # String
              self.add_query_param('NormType', NormType)
          def get_CasterId(self): # String
              return self.get_query_params().get('CasterId')
      
          def set_CasterId(self, CasterId):  # String
              self.add_query_param('CasterId', CasterId)
          def get_EndTime(self): # String
              return self.get_query_params().get('EndTime')
      
          def set_EndTime(self, EndTime):  # String
              self.add_query_param('EndTime', EndTime)
          def get_OwnerId(self): # Long
              return self.get_query_params().get('OwnerId')
      
          def set_OwnerId(self, OwnerId):  # Long
              self.add_query_param('OwnerId', OwnerId)
          def get_OrderByModifyAsc(self): # String
              return self.get_query_params().get('OrderByModifyAsc')
      
          def set_OrderByModifyAsc(self, OrderByModifyAsc):  # String
              self.add_query_param('OrderByModifyAsc', OrderByModifyAsc)
          def get_ChargeType(self): # Integer
              return self.get_query_params().get('ChargeType')
      
              def set_ChargeType(self, ChargeType):  # Integer
              self.add_query_param('ChargeType', ChargeType)
              def get_Status(self): # Integer
              return self.get_query_params().get('Status')
      
              def set_Status(self, Status):  # Integer
              self.add_query_param('Status', Status)
                                  

      Kelas DescribeCastersRequest dalam file tersebut memiliki beberapa pasang metode get_X dan set_X yang masing-masing digunakan untuk mendapatkan dan menentukan parameter permintaan API.

    2. Buat file konfigurasi bernama config.ini dan letakkan di direktori conf. Sertakan ID AccessKey dan Rahasia AccessKey Anda dalam file konfigurasi tersebut. Contoh:

      [default]
      access_key_id = YOUR_ACCESS_KEY_ID
      access_key_secret = YOUR_ACCESS_KEY_SECRET

      Ganti YOUR_ACCESS_KEY_ID dan YOUR_ACCESS_KEY_SECRET dengan ID AccessKey dan Rahasia AccessKey Anda yang sebenarnya.

      Kemudian, Anda dapat menggunakan kode Python berikut untuk membaca file konfigurasi dan memanggil SDK.

      Kode contoh berikut menggunakan operasi DescribeCasters pada v20161101 SDK sebagai contoh:

      #!/usr/bin/env python
      #coding=utf-8
      
      from configparser import ConfigParser
      from aliyunsdkcore.client import AcsClient
      from aliyunsdkcore.acs_exception.exceptions import ClientException
      from aliyunsdkcore.acs_exception.exceptions import ServerException
      from aliyunsdkcore.auth.credentials import AccessKeyCredential
      from aliyunsdkcore.auth.credentials import StsTokenCredential
      from aliyunsdklive.request.v20161101.DescribeCastersRequest import DescribeCastersRequest
      
      config = ConfigParser()
      config.read('conf/config.ini')
      
      # Pasangan AccessKey dari Akun Alibaba Cloud memiliki izin akses ke semua operasi API. Kami menyarankan Anda menggunakan pasangan AccessKey dari RAM user untuk memanggil operasi API atau melakukan O&M rutin.
      # Kami menyarankan agar Anda tidak menyimpan pasangan AccessKey (ID AccessKey dan Rahasia AccessKey) dalam kode proyek Anda. Jika tidak, pasangan AccessKey tersebut berisiko bocor dan keamanan seluruh sumber daya dalam akun Anda dapat terganggu.
      # Dalam contoh ini, pasangan AccessKey diperoleh dari file konfigurasi untuk mengautentikasi akses API.
      access_key_id = config.get('default', 'access_key_id')
      access_key_secret = config.get('default', 'access_key_secret')
      # Inisialisasi client.
      # Gunakan ID AccessKey dan Rahasia AccessKey dari Akun Alibaba Cloud Anda. Anda dapat memperolehnya di Konsol Manajemen Alibaba Cloud.
      # Dalam contoh ini, wilayah diatur ke cn-hangzhou.
      credentials = AccessKeyCredential(access_key_id, access_key_secret)
      # gunakan STS Token
      # credentials = StsTokenCredential('<your-access-key-id>', '<your-access-key-secret>', '<your-sts-token>')
      client = AcsClient(region_id='cn-hangzhou', credential=credentials)
      # Buat permintaan API.
      request = DescribeCastersRequest()
      request.set_accept_format('json')
      
      request.set_CasterId("testCase")
      request.set_CasterName("testName")
      request.set_StartTime("2020-01-01T12:00:01Z")
      # Kirim permintaan.
      response = client.do_action_with_exception(request)
      # python2:  print(response)
      # Dapatkan hasilnya.
      print(str(response, encoding='utf-8'))

Langkah selanjutnya

Untuk menguninstal SDK terkait, jalankan perintah berikut:

  • sudo pip uninstall aliyun-python-sdk-core

  • sudo pip uninstall aliyun-python-sdk-live