Pelajari cara menggunakan Alibaba Cloud Python SDK dengan PyCharm di Windows.
Prasyarat
-
Python telah diinstal. Instal Python.
-
PyCharm telah diinstal. Siapkan lingkungan pengembangan Python di Windows.
Gunakan SDK
Gunakan proyek contoh dari OpenAPI Portal
Jika Anda tidak dapat mengunduh proyek contoh dari OpenAPI Portal, ikuti Gunakan SDK dalam proyek yang sudah ada.
-
Buka halaman API Debugging di OpenAPI Portal. Pilih sebuah Produk dan operasi API. Misalnya, cari `DescribeInstanceTypeFamilies` untuk melakukan debugging API ECS.

-
Pada tab Parameter Settings, konfigurasikan parameter yang diperlukan. Periksa tab Documentation untuk detail API dan informasi biaya. Misalnya, `DescribeInstanceTypeFamilies` memerlukan `RegionId` (seperti `cn-hangzhou`) dan secara opsional menerima `Generation` (seperti `ecs-5`).

-
Pada tab SDK Sample, pilih bahasa dan klik Download Project. Ekstrak proyek yang telah diunduh.

-
Buka PyCharm. Klik File > Open, pilih folder proyek yang telah diekstrak, lalu klik OK pada dialog Creating Virtual Environment. Tunggu hingga PyCharm membuat virtual environment dan mengunduh dependensi.
CatatanJika pengunduhan dependensi gagal, jalankan
python3 setup.py installdi terminal. -
Sebelum melakukan panggilan, peroleh pasangan AccessKey untuk RAM user. Buat AccessKey untuk RAM user.
PentingSetelah memperoleh pasangan AccessKey, konfigurasikan sebagai variabel lingkungan. Konfigurasikan variabel lingkungan di sistem Linux, macOS, dan Windows.
-
Jalankan kode contoh.
Klik tab Terminal di bagian bawah PyCharm atau tekan
Alt + F12. Jalankan perintah berikut:python ./alibabacloud_sample/sample.py
-
Lihat hasilnya. Di konsol bagian bawah, tekan
Ctrl+Fdan caristatusCode. Respons"statusCode": 200menunjukkan keberhasilan.
Gunakan SDK dalam proyek yang sudah ada
-
Peroleh SDK.
Buka SDK Center dan pilih sebuah Produk, seperti Elastic Compute Service. Atur SDK Version ke V2.0 dan Language ke Python.

-
Instal SDK.
Di PyCharm, tekan
Alt+F12untuk membuka terminal. Tempel perintah instalasi dan tekan Enter.
-
Buat file Python.
Klik kanan nama proyek dan pilih New > Python File. Masukkan `sdk_demo` sebagai nama file, pilih Python File, lalu tekan Enter.
-
Inisialisasi client.
Inisialisasi client ECS sebelum memanggil API.
PentingMenginisialisasi client memerlukan pasangan AccessKey. Buat AccessKey.
Setelah memperoleh pasangan AccessKey, konfigurasikan sebagai variabel lingkungan. Konfigurasikan variabel lingkungan di sistem Linux, macOS, dan Windows.
Konfigurasi endpoint: 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(): """ Menginisialisasi client ECS. Fungsi ini tidak menerima argumen apa pun. Returns: ecs_client.Client: Objek client ECS yang telah diinisialisasi untuk operasi ECS lebih lanjut. """ # 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'] # Atur endpoint. ecs_config.endpoint = 'ecs-cn-hangzhou.aliyuncs.com' # Inisialisasi client ECS dengan konfigurasi dan kembalikan. return ecs_client.Client(ecs_config) if __name__ == '__main__': client = init_ecs_client() -
Panggil API. Tinjau API Documentation untuk API yang dituju. Contoh berikut memanggil API `DescribeRegions` dari ECS.
CatatanSetiap API memiliki objek permintaan terpisah yang mengikuti konvensi penamaan `${APIName}${Request}`, seperti `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(): """ Menginisialisasi client ECS. Fungsi ini tidak menerima argumen apa pun. Returns: ecs_client.Client: Objek client ECS yang telah diinisialisasi untuk operasi ECS lebih lanjut. """ # 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'] # Atur endpoint. ecs_config.endpoint = 'ecs-cn-hangzhou.aliyuncs.com' # Inisialisasi client ECS dengan konfigurasi dan kembalikan. return ecs_client.Client(ecs_config) if __name__ == '__main__': # Inisialisasi client ECS. client = init_ecs_client() # Buat objek DescribeRegionsRequest. describeRegions_request = ecs_20140526_models.DescribeRegionsRequest() # Kirim permintaan describeRegions untuk mendapatkan informasi wilayah. response = client.describe_regions(describeRegions_request) print(response.body) -
Tangani exception.
Alibaba Cloud Python V2.0 SDK menangani exception melalui `Tea.exceptions` dengan dua jenis exception:
-
`UnretryableException`: Dilemparkan ketika jumlah maksimum percobaan ulang tercapai akibat masalah jaringan.
-
`TeaException`: Menunjukkan error layanan selama permintaan SDK.
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(): """ Menginisialisasi client ECS. Fungsi ini tidak menerima argumen apa pun. Returns: ecs_client.Client: Objek client ECS yang telah diinisialisasi untuk operasi ECS lebih lanjut. """ # 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'] # Atur endpoint. ecs_config.endpoint = 'ecs-cn-hangzhou.aliyuncs.com' # Inisialisasi client ECS dengan konfigurasi dan kembalikan. return ecs_client.Client(ecs_config) if __name__ == '__main__': try: # Inisialisasi client ECS. client = init_ecs_client() # Buat objek DescribeRegionsRequest. describeRegions_request = ecs_20140526_models.DescribeRegionsRequest() # Kirim permintaan describeRegions untuk mendapatkan informasi wilayah. response = client.describe_regions(describeRegions_request) # Cetak respons. print(response.body) except UnretryableException as e: # Tangani exception jaringan. print(e) except TeaException as e: # Tangani exception layanan. print(e) except Exception as e: # Tangani exception lainnya. print(e) -
-
(Opsional) Salin kode contoh dari OpenAPI Portal ke dalam file dan jalankan. Hasilkan otomatis kode contoh SDK.