Topik ini menjelaskan cara menggunakan Alibaba Cloud SDK untuk Python di Lingkungan Pengembangan Terpadu (IDE) pada Windows. Contoh ini menggunakan PyCharm.
Prasyarat
Python sudah terinstal. Untuk informasi lebih lanjut, lihat Instal Python.
PyCharm sudah terinstal. Untuk informasi lebih lanjut, lihat Bangun lingkungan pengembangan Python di Windows.
Gunakan SDK
Gunakan proyek sampel yang disediakan di OpenAPI Explorer
Anda mungkin tidak dapat mengunduh proyek sampel untuk operasi API tertentu. Dalam hal ini, gunakan SDK di proyek yang ada.
Buka OpenAPI Explorer. Cari operasi API yang ingin digunakan. Dalam contoh ini, operasi DescribeInstanceTypeFamilies dari Elastic Compute Service (ECS) digunakan. Masukkan "DescribeInstanceTypeFamilies" di kotak pencarian dan klik hasilnya untuk masuk ke halaman debugging API.

Di tab Parameters di kolom tengah, tentukan parameter sesuai kebutuhan bisnis Anda. Saat menentukan parameter, baca informasi di tab Document di kolom paling kanan. Pastikan Anda memahami catatan penggunaan operasi dan deskripsi setiap parameter. Perhatikan informasi terkait tagihan. Dalam contoh ini, operasi DescribeInstanceTypeFamilies mendukung dua parameter permintaan. Tentukan nilai seperti "cn-hangzhou" untuk parameter RegionId. Parameter Generation bersifat opsional. Anda dapat mengatur parameter ini ke "ecs-5", yang menunjukkan keluarga instance seri-V. Nilai valid parameter dapat dilihat di tab Document.

Di tab SDK Sample Code di kolom paling kanan, pilih bahasa pemrograman dan klik Download Project untuk mengunduh proyek SDK lengkap ke komputer Anda. Ekstrak paket tersebut.

Buka PyCharm, pilih File > Open, dan pilih file proyek yang sudah diekstrak. Di kotak dialog Creating Virtual Environment, klik OK dan tunggu lingkungan virtual Python dibuat serta sumber daya dependen diunduh.
CatatanJika sumber daya dependen yang diperlukan tidak diunduh, jalankan perintah
python3 setup.py installdi terminal.Sebelum memanggil operasi ini, Anda harus memperoleh pasangan AccessKey sebagai kredensial akses. Kami merekomendasikan penggunaan pasangan AccessKey dari pengguna Resource Access Management (RAM). Untuk informasi lebih lanjut, lihat bagian Buat pasangan AccessKey untuk pengguna RAM dari topik "Buat pasangan AccessKey".
PentingSetelah memperoleh pasangan AccessKey dari pengguna RAM, Anda harus mengonfigurasi pasangan AccessKey di variabel lingkungan. Untuk informasi lebih lanjut, lihat Konfigurasikan variabel lingkungan di Linux, macOS, dan Windows.
Jalankan kode demo SDK.
Di bagian bawah konsol PyCharm, klik ikon Terminal atau tekan
Alt+F12untuk membuka terminal. Di terminal, jalankan perintah berikut.python ./alibabacloud_sample/sample.py
Lihat hasilnya. Klik di mana saja di jendela Run di bagian bawah konsol dan tekan
Ctrl+Funtuk mencaristatusCode. Jika"statusCode":200ditampilkan, panggilan berhasil.
Gunakan SDK di proyek yang ada
Peroleh SDK.
Buka SDK Center dan pilih layanan cloud yang SDK-nya ingin digunakan. Dalam contoh ini, Elastic Compute Service (ECS) digunakan. Pilih V2.0 sebagai versi SDK dan Python sebagai bahasa pemrograman.

Instal SDK.
Di PyCharm, tekan
ALT+F12untuk membuka terminal, salin perintah instalasi ke terminal, lalu tekan tombol Enter.
Buat file .py.
Klik kanan nama proyek dan pilih New > Python File. Di kotak dialog yang muncul, masukkan nama file, pilih file Python, lalu tekan tombol Enter untuk membuat file. Dalam contoh ini, file bernama sdk_demo.py dibuat.
Inisialisasi klien.
Untuk memanggil API ECS, Anda harus menginisialisasi klien ECS terlebih dahulu.
PentingAnda harus menggunakan pasangan AccessKey untuk menyelesaikan verifikasi identitas saat menginisialisasi klien. Dalam hal ini, Anda harus memperoleh pasangan AccessKey terlebih dahulu. Untuk informasi lebih lanjut tentang cara memperoleh pasangan AccessKey, lihat Buat pasangan AccessKey.
Setelah memperoleh pasangan AccessKey dari pengguna RAM, Anda harus mengonfigurasi pasangan AccessKey di variabel lingkungan. Untuk informasi lebih lanjut, lihat Konfigurasikan variabel lingkungan di Linux, macOS, dan Windows.
Untuk informasi lebih lanjut tentang cara mengonfigurasi titik akhir, lihat Endpoints.
import os from alibabacloud_ecs20140526 import client as ecs_client from alibabacloud_tea_openapi import models as open_api_models def init_ecs_client(): """ Inisialisasi klien ECS. Fungsi ini tidak memerlukan argumen. Hasil yang dikembalikan: ecs_client.Client: objek klien ECS yang telah diinisialisasi yang dapat digunakan untuk operasi lebih lanjut pada ECS. """ # Buat objek konfigurasi ECS dan baca pasangan AccessKey dari variabel lingkungan. ecs_config = open_api_models.Config() ecs_config.access_key_id = os.environ['ALIBABA_CLOUD_ACCESS_KEY_ID'] ecs_config.access_key_secret = os.environ['ALIBABA_CLOUD_ACCESS_KEY_SECRET'] # Tentukan titik akhir. ecs_config.endpoint = 'ecs-cn-hangzhou.aliyuncs.com' # Gunakan konfigurasi untuk menginisialisasi dan mengembalikan klien ECS. return ecs_client.Client(ecs_config) if __name__ == '__main__': client = init_ecs_client()Panggil operasi API. Sebelum memanggil operasi API, baca Dokumentasi API yang sesuai. Dalam contoh ini, operasi DescribeRegions dari ECS digunakan.
CatatanSetiap operasi API memiliki objek permintaan, dinamai dalam format ${Nama API}${Request}. Contoh: DescribeRegionsRequest.
import os from alibabacloud_ecs20140526 import client as ecs_client from alibabacloud_tea_openapi import models as open_api_models from alibabacloud_ecs20140526 import models as ecs_20140526_models def init_ecs_client(): """ Inisialisasi klien ECS. Fungsi ini tidak memerlukan argumen. Hasil yang dikembalikan: ecs_client.Client: objek klien ECS yang telah diinisialisasi yang dapat digunakan untuk operasi lebih lanjut pada ECS. """ # Buat objek konfigurasi ECS dan baca pasangan AccessKey dari variabel lingkungan. ecs_config = open_api_models.Config() ecs_config.access_key_id = os.environ['ALIBABA_CLOUD_ACCESS_KEY_ID'] ecs_config.access_key_secret = os.environ['ALIBABA_CLOUD_ACCESS_KEY_SECRET'] # Tentukan titik akhir. ecs_config.endpoint = 'ecs-cn-hangzhou.aliyuncs.com' # Gunakan konfigurasi untuk menginisialisasi dan mengembalikan klien ECS. return ecs_client.Client(ecs_config) if __name__ == '__main__': # Inisialisasi klien ECS. client = init_ecs_client() # Buat objek permintaan DescribeRegionsRequest. describeRegions_request = ecs_20140526_models.DescribeRegionsRequest() # Kirim permintaan describeRegions untuk menanyakan wilayah yang tersedia. response = client.describe_regions(describeRegions_request) print(response.body)Tangani pengecualian.
Dalam SDK V2.0 untuk Python, pengecualian ditangani oleh Tea.exceptions. Pengecualian dibagi menjadi dua jenis berikut:
UnretryableException: Jenis pengecualian ini disebabkan oleh masalah jaringan. Pengecualian semacam itu dilemparkan jika jumlah percobaan ulang mencapai batas atas.
TeaException: Jenis pengecualian ini disebabkan oleh kesalahan bisnis.
import os from Tea.exceptions import UnretryableException, TeaException from alibabacloud_ecs20140526 import client as ecs_client from alibabacloud_tea_openapi import models as open_api_models from alibabacloud_ecs20140526 import models as ecs_20140526_models def init_ecs_client(): """ Inisialisasi klien ECS. Fungsi ini tidak memerlukan argumen. Hasil yang dikembalikan: ecs_client.Client: objek klien ECS yang telah diinisialisasi yang dapat digunakan untuk operasi lebih lanjut pada ECS. """ # Buat objek konfigurasi ECS dan baca pasangan AccessKey dari variabel lingkungan. ecs_config = open_api_models.Config() ecs_config.access_key_id = os.environ['ALIBABA_CLOUD_ACCESS_KEY_ID'] ecs_config.access_key_secret = os.environ['ALIBABA_CLOUD_ACCESS_KEY_SECRET'] # Tentukan titik akhir. ecs_config.endpoint = 'ecs-cn-hangzhou.aliyuncs.com' # Gunakan konfigurasi untuk menginisialisasi dan mengembalikan klien ECS. return ecs_client.Client(ecs_config) if __name__ == '__main__': try: # Inisialisasi klien ECS. client = init_ecs_client() # Buat objek permintaan DescribeRegionsRequest. describeRegions_request = ecs_20140526_models.DescribeRegionsRequest() # Kirim permintaan describeRegions untuk menanyakan wilayah yang tersedia. response = client.describe_regions(describeRegions_request) # Tampilkan respons. print(response.body) except UnretryableException as e: # Tangani pengecualian jaringan. print(e) except TeaException as e: # Tangani pengecualian bisnis. print(e) except Exception as e: # Tangani pengecualian lainnya. print(e)Opsional. Anda juga dapat menyalin kode sampel yang disediakan di OpenAPI Explorer ke file untuk menjalankan kode sampel. Untuk informasi lebih lanjut tentang cara memperoleh kode sampel, lihat Pembuatan otomatis contoh SDK.