All Products
Search
Document Center

Alibaba Cloud SDK:Integrasi SDK

Last Updated:Jun 17, 2026

Alibaba Cloud SDK menyederhanakan proses pengembangan, memungkinkan integrasi fitur secara cepat, dan mengurangi biaya O&M. Integrasikan Alibaba Cloud SDK V1.0 untuk PHP ke dalam proyek Anda agar dapat mulai memanggil operasi API.

Persyaratan lingkungan

PHP >= 5.5

Instal SDK

Saat menginstal Alibaba Cloud SDK V1.0 untuk PHP, pustaka inti akan terinstal secara otomatis. Anda hanya perlu menginstal SDK produk cloud.

SDK produk cloud

SDK V1.0 layanan Alibaba Cloud menyediakan objek permintaan dan respons untuk operasi API serta objek Unmarshaller untuk serialisasi nilai kembali. Contoh berikut menambahkan ECS V1.0 SDK sebagai dependensi:

# ECS V1.0 SDK
composer require alibabacloud/ecs

SDK V1.0 menggunakan format penamaan alibabacloud/${product_name}. Informasi lebih lanjut mengenai SDK V1.0 untuk produk tertentu tersedia di SDK Center.

SDK inti

Pustaka inti mencakup objek client, logika signature, dan logika penanganan error yang diperlukan untuk memanggil operasi API. Untuk melakukan panggilan generik atau menginstal versi tertentu dari pustaka inti, jalankan perintah berikut:

composer require alibabacloud/client

Untuk informasi lebih lanjut tentang versi terbaru, kunjungi alibabacloud/client - Packagist.

Gunakan SDK

Contoh berikut menggunakan Alibaba Cloud SDK V1.0 untuk memanggil operasi DescribeInstances dari ECS.

1. Inisialisasi client permintaan

Semua operasi API dipanggil menggunakan objek Client dari pustaka inti. Sebelum memanggil operasi API, inisialisasi client permintaan. Dalam contoh ini, client diinisialisasi dengan Pasangan Kunci Akses. Untuk informasi selengkapnya, lihat Kelola kredensial akses.

Catatan

Contoh ini membaca kredensial dari variabel lingkungan. Sebelum menjalankan kode, konfigurasikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_ID dan ALIBABA_CLOUD_ACCESS_KEY_SECRET. Untuk informasi selengkapnya, lihat Konfigurasikan variabel lingkungan pada Linux, macOS, dan Windows.

use AlibabaCloud\Client\AlibabaCloud;

// Pastikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_ID dan ALIBABA_CLOUD_ACCESS_KEY_SECRET telah disetel.
AlibabaCloud::accessKeyClient(getenv('ALIBABA_CLOUD_ACCESS_KEY_ID'), getenv('ALIBABA_CLOUD_ACCESS_KEY_SECRET'))
            ->regionId('<REGION_ID>')
            ->asDefaultClient();

2. Buat objek permintaan

Gunakan objek permintaan yang disediakan oleh SDK untuk mengenkapsulasi parameter permintaan.

use AlibabaCloud\Ecs\Ecs;

// Bangun parameter permintaan.    
$request = Ecs::v20140526()
    ->describeInstances() // Buat objek permintaan untuk operasi API.
    ->withInstanceIds(json_encode(["i-bp1dXXXXXXXXXXXX"])) // Parameter permintaan InstanceIds. Tentukan ID instans Anda.
    ->withPageSize(10) // Parameter permintaan PageSize. Tentukan jumlah entri yang ingin Anda peroleh.
    ->withPageNumber(1); // Parameter permintaan PageNumber. Tentukan nomor halaman yang ingin Anda peroleh.

3. Lakukan permintaan API

Panggil fungsi request() untuk mengirim permintaan.

$result = $request
    ->debug(true) // Output detail. Jika bidang ini disetel ke false, detail tidak ditampilkan.
    ->request(); // Eksekusi permintaan.
print_r($result->toArray()); // Cetak respons terhadap permintaan API.

4. Tangani error

Jika terjadi error saat memanggil operasi API, tangkap ServerException dan ClientException untuk mendapatkan pesan error.

Kode contoh lengkap

<?php
use AlibabaCloud\Client\AlibabaCloud;
use AlibabaCloud\Client\Exception\ClientException;
use AlibabaCloud\Client\Exception\ServerException;
use AlibabaCloud\Ecs\Ecs;

require_once 'vendor/autoload.php';

try {
    // Dapatkan ALIBABA_CLOUD_ACCESS_KEY_ID dan ALIBABA_CLOUD_ACCESS_KEY_SECRET Pengguna RAM dari variabel lingkungan.
    AlibabaCloud::accessKeyClient(getenv('ALIBABA_CLOUD_ACCESS_KEY_ID'), getenv('ALIBABA_CLOUD_ACCESS_KEY_SECRET'))
        ->regionId('cn-hangzhou') // ID wilayah. Contoh ini menggunakan cn-hangzhou.
        ->asDefaultClient();

    // Susun parameter permintaan.
    $request = Ecs::v20140526()
        ->describeInstances()
        ->withInstanceIds(json_encode(["i-bp1dXXXXXXXXXXXX"]))
        ->withPageSize(10)
        ->withPageNumber(1);

    $result = $request
        ->debug(true)
        ->request();
    print_r($result->toArray());
} catch (ClientException $exception) {
    # Ini hanya untuk demonstrasi. Tangani exception dengan hati-hati dan jangan abaikan dalam proyek Anda.
    echo $exception->getMessage() . PHP_EOL;
} catch (ServerException $exception) {
    # Ini hanya untuk demonstrasi. Tangani exception dengan hati-hati dan jangan abaikan dalam proyek Anda.
    echo $exception->getMessage() . PHP_EOL;
    echo $exception->getErrorCode() . PHP_EOL;
    echo $exception->getRequestId() . PHP_EOL;
    echo $exception->getErrorMessage() . PHP_EOL;
}

Referensi