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 OpenAPI Explorer, lalu pilih produk dan API. Misalnya, untuk memanggil API
DescribeInstanceTypeFamiliesECS, masukkanDescribeInstanceTypeFamiliesdi kotak pencarian dan klik hasilnya untuk membuka halaman OpenAPI Explorer. -
Pada tab Parameters di kolom tengah, tentukan parameter sesuai kebutuhan bisnis Anda. Saat menentukan parameter, baca informasi pada tab Document di kolom paling kanan. Pastikan Anda memahami catatan penggunaan operasi dan deskripsi setiap parameter. Perhatikan informasi terkait penagihan. Dalam contoh ini, operasi DescribeInstanceTypeFamilies mendukung dua parameter permintaan. Anda harus menentukan nilai seperti cn-hangzhou untuk parameter RegionId. Parameter Generation bersifat opsional. Anda dapat mengatur parameter ini ke ecs-5, yang menunjukkan keluarga instans seri V. Anda dapat melihat nilai valid parameter pada tab Document.
-
Pada tab SDK Sample Code di kolom paling kanan, pilih bahasa pemrograman dan klik Download Project untuk mengunduh proyek SDK lengkap ke komputer Anda. Kemudian, ekstrak paket tersebut.
Atur SDK Version ke V2.0 Recommended, pilih bahasa Python, lalu klik Download Complete Project.
-
Buka PyCharm. Klik File > Open, pilih folder proyek yang telah diekstrak, lalu klik OK pada dialog Creating Virtual Environment. Tunggu hingga PyCharm membuat lingkungan virtual dan mengunduh dependensi.
CatatanJika pengunduhan dependensi gagal, jalankan
python3 setup.py installdi terminal. -
Sebelum memanggil operasi ini, Anda harus memperoleh Pasangan Kunci Akses sebagai kredensial akses. Kami menyarankan agar Anda menggunakan Pasangan Kunci Akses milik Pengguna Resource Access Management (RAM). Untuk informasi selengkapnya, lihat bagian Buat Pasangan Kunci Akses untuk Pengguna RAM dalam topik “Buat Pasangan Kunci Akses”.
PentingSetelah memperoleh Pasangan Kunci Akses milik Pengguna RAM, Anda harus mengonfigurasi Pasangan Kunci Akses tersebut dalam variabel lingkungan. Untuk informasi selengkapnya, lihat Konfigurasi variabel lingkungan di 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.pyIsi
sample.py:# -*- coding: utf-8 -*- # File ini dibuat otomatis, jangan edit. Terima kasih. import os import sys from typing import List from alibabacloud_ecs20140526.client import Client as Ecs20140526Client from alibabacloud_tea_openapi import models as open_api_models from alibabacloud_ecs20140526 import models as ecs_20140526_models from alibabacloud_tea_util import models as util_models from alibabacloud_tea_console.client import Client as ConsoleClient from alibabacloud_tea_util.client import Client as UtilClient class Sample: def __init__(self): pass @staticmethod def create_client() -> Ecs20140526Client: """ 使用AK&SK初始化账号ClientOutput terminal:
python ./alibabacloud_sample/sample.py [LOG] {"headers":{"date":"Mon, 20 May 2024 02:41:40 GMT","content-type":"application/json;charset=utf-8","content-length":"139","connection":"keep-alive","keep-alive":"timeout=25","access-control-allow-origin":"*","access-control-expose-headers":"*","x-acs-request-id":"076CAAAD-D942-583B-BEFA-C4DF8CCD60DC","x-acs-trace-id":"b31e569bd03bd37030ba2d9e5b0afbd","etag":"1Kp258uXZ5v+Tj9LKzSIaQ09"},"statusCode":200,"body":{"Instances":{"Instance":[]},"NextToken":"","PageNumber":1,"PageSize":10,"RequestId":"076CAAAD-D942-583B-BEFA-C4DF8CCD60DC","TotalCount":0}} -
Lihat hasilnya. Klik di mana saja pada jendela Run di bagian bawah konsol dan tekan
Ctrl+Funtuk mencaristatusCode. Jika muncul"statusCode":200, panggilan berhasil.# -*- coding: utf-8 -*- # File ini dibuat otomatis, jangan edit. Terima kasih. import os import sys from typing import List from alibabacloud_ecs20140526.client import Client as Ecs20140526Client from alibabacloud_tea_openapi import models as open_api_models from alibabacloud_ecs20140526 import models as ecs_20140526_models from alibabacloud_tea_util import models as util_models from alibabacloud_tea_console.client import Client as ConsoleClient from alibabacloud_tea_util.client import Client as UtilClient class Sample: def __init__(self): pass @staticmethod def create_client() -> Ecs20140526Client: """ 使用AK&SK初始化账号Clientpython ./alibabacloud_sample/sample.py [LOG] {"headers":{"date":"Mon, 20 May 2024 02:41:40 GMT","content-type":"application/json;charset=utf-8","content-length":"139","connection":"keep-alive","keep-alive":"timeout=25","access-control-allow-origin":"*","access-control-expose-headers":"*","x-acs-request-id":"076CAAAD-D942-583B-BEFA-C4DF8CCD60DC","x-acs-trace-id":"b31e569bd03bd37030ba62d9e5b0afbd","etag":"1Kp258uXZ5v+Tj9LKzSIaQ09..."},"statusCode":200,"body":{"Instances":{"Instance":[]},"NextToken":"","PageNumber":1,"PageSize":10,"RequestId":"076CAAAD-D942-583B-BEFA-C4DF8CCD60DC","TotalCount":0}}
Gunakan SDK dalam proyek yang sudah ada
-
Dapatkan SDK.
Buka SDK Center dan pilih produk, seperti Elastic Compute Service. Atur SDK Version ke V2.0 dan Language ke Python.
Pilih tab Quick Start, salin perintah instalasi
pip install alibabacloud_ecs20140526==4.1.5dari bagian Installation, lalu jalankan di terminal lokal Anda. -
Instal SDK.
Di PyCharm, tekan
Alt+F12untuk membuka terminal. Tempel perintah instalasi dan tekan Enter.(.venv) PS D:\ide\PythonProjects\pythonProject> pip install alibabacloud_ecs20140526==4.1.5 Collecting alibabacloud_ecs20140526==4.1.5 Obtaining dependency information for alibabacloud_ecs20140526==4.1.5 from https://files.pythonhosted.org/packages/6e/20/b10ac267a8625257dd846df4574c9c171126fbf6h149385af5dee128d756/alibabacloud_ecs20140526-4.1.5-py3-none-any.whl.metadata Using cached alibabacloud_ecs20140526-4.1.5-py3-none-any.whl.metadata (2.3 kB) Collecting alibabacloud-tea-util<1.0.0,>=0.3.12 (from alibabacloud_ecs20140526==4.1.5) Using cached alibabacloud_tea_util-0.3.12-py3-none-any.whl Collecting alibabacloud-tea-openapi<1.0.0,>=0.3.9 (from alibabacloud_ecs20140526==4.1.5) Using cached alibabacloud_tea_openapi-0.3.9-py3-none-any.whl Collecting alibabacloud-openapi-util<1.0.0,>=0.2.1 (from alibabacloud_ecs20140526==4.1.5) Using cached alibabacloud_openapi_util-0.2.2-py3-none-any.whl Collecting alibabacloud-endpoint-util<1.0.0,>=0.0.3 (from alibabacloud_ecs20140526==4.1.5) -
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.
PentingAnda harus menggunakan Pasangan Kunci Akses untuk menyelesaikan verifikasi identitas saat menginisialisasi client. Dalam hal ini, Anda harus memperoleh Pasangan Kunci Akses terlebih dahulu. Untuk informasi selengkapnya tentang cara memperoleh Pasangan Kunci Akses, lihat Buat Kunci Akses.
Setelah memperoleh Pasangan Kunci Akses milik Pengguna RAM, Anda harus mengonfigurasi Pasangan Kunci Akses tersebut dalam variabel lingkungan. Untuk informasi selengkapnya, lihat Konfigurasi variabel lingkungan di Linux, macOS, dan Windows.
Untuk informasi selengkapnya tentang cara mengonfigurasi endpoint, lihat Endpoint.
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 Kunci Akses 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 Dokumentasi API untuk API yang dituju. Contoh berikut memanggil API DescribeRegions 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 Kunci Akses 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.
SDK Python V2.0 menangani exception melalui Tea.exceptions dengan dua jenis exception:
-
UnretryableException: Dilempar 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 Kunci Akses 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 file dan jalankan. Buat otomatis kode contoh SDK.