全部产品
Search
文档中心

ApsaraVideo Live:Gunakan server SDK untuk Python

更新时间:Jun 21, 2025

Topik ini menjelaskan cara menggunakan server SDK untuk Python yang disediakan oleh ApsaraVideo Live dan menyertakan kode contoh terkait. Topik ini menggunakan operasi API pemeriksaan studio produksi sebagai contoh untuk menunjukkan cara memanggil operasi API ApsaraVideo Live.

Prasyarat

  • Python 2.7 atau versi lebih baru telah diinstal.

  • Server SDK untuk Python telah diunduh. Untuk informasi lebih lanjut, lihat Unduhan 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 memiliki beberapa metode get_X dan set_X, yang 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. 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 dalam v20161101 dari 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 akun Alibaba Cloud memiliki izin akses pada semua operasi API. Kami merekomendasikan Anda menggunakan pasangan AccessKey pengguna RAM untuk memanggil operasi API atau melakukan pemeliharaan rutin.
      # Kami merekomendasikan agar Anda tidak menyimpan pasangan AccessKey (ID AccessKey dan rahasia AccessKey) di kode proyek Anda. Jika tidak, pasangan AccessKey tersebut mungkin bocor dan keamanan semua sumber daya dalam akun Anda mungkin terganggu.
      # Dalam contoh ini, pasangan AccessKey diperoleh dari file konfigurasi untuk mengotentikasi akses API.
      access_key_id = config.get('default', 'access_key_id')
      access_key_secret = config.get('default', 'access_key_secret')
      # Inisialisasi klien.
      # Gunakan ID AccessKey dan rahasia AccessKey akun Alibaba Cloud Anda. Anda dapat memperolehnya di Konsol Manajemen Alibaba Cloud.
      # Atur wilayah ke cn-hangzhou dalam contoh ini.
      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)
      # Konstruksi permintaan API.
      request = DescribeCastersRequest()
      request.set_accept_format('json')
      
      request.set_CasterId("testCase")
      request.set_CasterName("testName")
      request.set_StartTime("2020-01-01T12:00:01")
      # Kirim permintaan.
      response = client.do_action_with_exception(request)
      # python2:  print(response)
      # Dapatkan hasilnya.
      print(str(response, encoding='utf-8'))

Apa yang harus dilakukan selanjutnya

Untuk menghapus instalan SDK terkait, jalankan perintah berikut:

  • sudo pip uninstall aliyun-python-sdk-core

  • sudo pip uninstall aliyun-python-sdk-live