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
Instal SDK.
Instal Alibaba Cloud Core SDK.
sudo pip install aliyun-python-sdk-core
Instal ApsaraVideo Live SDK.
sudo pip install aliyun-python-sdk-live
Perbarui SDK.
Perbarui Alibaba Cloud Core SDK.
sudo pip install aliyun-python-sdk-core --upgrade
Perbarui ApsaraVideo Live SDK.
sudo pip install aliyun-python-sdk-live --upgrade
Gunakan server SDK untuk Python.
Baca deskripsi file. Dalam contoh ini, file
DescribeCastersRequest.pydalam 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_Xdanset_Xyang masing-masing digunakan untuk mendapatkan dan menentukan parameter permintaan API.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_SECRETGanti 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