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
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 memiliki beberapa metode
get_Xdanset_X, yang 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. 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 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