全部产品
Search
文档中心

Alibaba Cloud SDK:Integrasi dengan Alibaba Cloud SDK V1.0 untuk Python

更新时间:Jul 06, 2025

Untuk mempermudah pemanggilan API, disarankan mengintegrasikan Alibaba Cloud SDK ke dalam proyek Anda. SDK ini menyederhanakan proses pengembangan, mempercepat integrasi fitur, dan mengurangi biaya operasional serta pemeliharaan (O&M). Dokumen ini menjelaskan cara mengintegrasikan Alibaba Cloud SDK V1.0 untuk Python ke dalam proyek Anda dan menggunakannya untuk pengembangan.

Prasyarat

Python 3.7 atau versi lebih baru telah terinstal.

Instal SDK

Saat menginstal Alibaba Cloud SDK V1.0 untuk Python, pustaka inti akan diinstal secara otomatis. Oleh karena itu, Anda hanya perlu menginstal SDK tersebut.

SDK layanan cloud

SDK layanan cloud mencakup objek permintaan yang diperlukan untuk memanggil operasi API dan objek respons. Contoh berikut menunjukkan cara menginstal SDK dari Elastic Compute Service (ECS). Jalankan perintah instalasi berikut di terminal atau antarmuka baris perintah (CLI):

pip install aliyun-python-sdk-ecs

SDK V1.0 untuk Python dari layanan Alibaba Cloud diberi nama dalam format aliyun-python-sdk-${Kode Layanan}. Informasi lebih lanjut tentang SDK V1.0 untuk Python dari layanan tertentu dapat ditemukan di Pusat SDK.

Pustaka inti dari SDK

Pustaka inti SDK mencakup objek klien, logika tanda tangan, dan logika penanganan kesalahan, yang merupakan informasi yang diperlukan untuk memanggil operasi API. Untuk melakukan panggilan generik atau menginstal versi tertentu dari pustaka inti, jalankan perintah berikut:

pip install aliyun-python-sdk-core

Informasi lebih lanjut tentang versi pustaka inti dapat ditemukan di aliyun-python-sdk-core · PyPI.

Gunakan SDK

Contoh berikut menunjukkan cara menggunakan Alibaba Cloud SDK V1.0 untuk memanggil operasi API DescribeInstances dari Elastic Compute Service (ECS).

1. Inisialisasi klien permintaan

Semua operasi API dipanggil menggunakan objek Client yang disediakan oleh pustaka inti. Sebelum memanggil operasi API, Anda harus menginisialisasi klien permintaan. Dalam contoh ini, klien permintaan diinisialisasi menggunakan pasangan AccessKey. Informasi lebih lanjut dapat ditemukan di Kelola Kredensial Akses.

Catatan

Dalam contoh ini, pasangan AccessKey diperoleh dari variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_ID dan ALIBABA_CLOUD_ACCESS_KEY_SECRET, yang harus dikonfigurasikan sebelum menjalankan kode. Informasi lebih lanjut dapat ditemukan di Konfigurasikan Variabel Lingkungan di Linux, macOS, dan Windows.

import os

from aliyunsdkcore.client import AcsClient

# Inisialisasi klien SDK.
client = AcsClient(
    os.environ.get('ALIBABA_CLOUD_ACCESS_KEY_ID'),  # Dapatkan ID AccessKey dari pengguna Resource Access Management (RAM) dari variabel lingkungan.
    os.environ.get('ALIBABA_CLOUD_ACCESS_KEY_SECRET'),  # Dapatkan rahasia AccessKey dari pengguna RAM dari variabel lingkungan.
    '<region_id>' # ID wilayah.
)

2. Buat objek permintaan

Anda dapat menggunakan objek permintaan yang disediakan oleh SDK untuk mengenkapsulasi parameter permintaan.

Catatan

Berikan nama objek permintaan dari operasi API dalam format berikut: <Nama Operasi API>Request.

from aliyunsdkecs.request.v20140526.DescribeInstancesRequest import DescribeInstancesRequest

# Buat objek DescribeInstancesRequest.
request = DescribeInstancesRequest()
request.set_InstanceIds("[\"i-bp1dXXXXXXXXXXXX\"]")
request.set_PageSize(100)
request.set_PageNumber(1)

3. Ajukan permintaan API

Gunakan klien permintaan yang dibuat di Langkah 1 untuk memanggil operasi do_action_with_exception. Parameter permintaan dari operasi tersebut dienkapsulasi dalam objek permintaan yang dibuat di Langkah 2. Jika pemanggilan berhasil, objek respons akan dikembalikan.

response = client.do_action_with_exception(request)
print(response)

4. Tangani kesalahan

Jika kesalahan terjadi saat memanggil operasi API, Anda dapat menangkap ServerException dan ClientException untuk mendapatkan pesan kesalahan. Kesalahan ClientException sering disebabkan oleh parameter tidak valid selama inisialisasi klien, seperti parameter AccessKey yang salah. Kesalahan ServerException mungkin disebabkan oleh beberapa faktor. Anda dapat meminta bantuan layanan pelanggan untuk pemecahan masalah dan memberikan ID permintaan.

Kode Sampel Lengkap

import os

from aliyunsdkcore.acs_exception.exceptions import ClientException, ServerException
from aliyunsdkcore.client import AcsClient
from aliyunsdkecs.request.v20140526.DescribeInstancesRequest import DescribeInstancesRequest

try:
    # Inisialisasi klien SDK.
    client = AcsClient(
        os.environ.get('ALIBABA_CLOUD_ACCESS_KEY_ID'),  # Dapatkan ID AccessKey dari pengguna Resource Access Management (RAM) dari variabel lingkungan.
        os.environ.get('ALIBABA_CLOUD_ACCESS_KEY_SECRET'),  # Dapatkan rahasia AccessKey dari pengguna RAM dari variabel lingkungan.
        'cn-hangzhou' # ID wilayah. Dalam contoh ini, cn-hangzhou digunakan.
    )

    # Buat objek DescribeInstancesRequest.
    request = DescribeInstancesRequest()
    request.set_InstanceIds("[\"i-bp1dXXXXXXXXXXXX\"]")
    request.set_PageSize(100)
    request.set_PageNumber(1)

    # Kirim permintaan.
    response = client.do_action_with_exception(request)
    print(response)
except ClientException as e:
    # Tangani kesalahan dengan hati-hati dalam skenario bisnis aktual dan jangan abaikan kesalahan dalam proyek Anda. Dalam contoh ini, pesan kesalahan hanya ditampilkan.
    print(e)
except ServerException as e:
    # Tangani kesalahan dengan hati-hati dalam skenario bisnis aktual dan jangan abaikan kesalahan dalam proyek Anda. Dalam contoh ini, pesan kesalahan hanya ditampilkan.
    print(e)

Referensi

  • Untuk informasi lebih lanjut mengenai pengaturan SDK tingkat lanjut, seperti pengaturan proxy dan timeout, lihat Pengaturan Lanjutan.

  • Untuk informasi lebih lanjut tentang cara membuat pasangan AccessKey, lihat Buat Pasangan AccessKey.