Membuat Layanan AWS permintaan menggunakan AWS SDK untuk PHP Versi 3 - AWS SDK untuk PHP

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Membuat Layanan AWS permintaan menggunakan AWS SDK untuk PHP Versi 3

Ikhtisar alur kerja permintaan SDK

Bekerja dengan AWS SDK untuk PHP Versi 3 mengikuti pola yang konsisten di semua Layanan AWS. Alur kerja dasar melibatkan tiga langkah utama:

  1. Buat klien layanan —Instantiate objek Klien untuk yang ingin Layanan AWS Anda gunakan.

  2. Jalankan operasi —Metode panggilan pada klien yang sesuai dengan operasi di API layanan.

  3. Hasil proses —Bekerja dengan objek Result seperti array yang dikembalikan pada kesuksesan, atau tangani Pengecualian apa pun yang dilemparkan pada kegagalan.

Bagian berikut menjelaskan masing-masing langkah ini secara rinci, dimulai dengan cara membuat dan mengkonfigurasi klien layanan.

Membuat klien layanan dasar

Anda dapat membuat klien dengan meneruskan array pilihan asosiatif ke konstruktor klien.

Impor

require 'vendor/autoload.php'; use Aws\S3\S3Client; use Aws\Exception\AwsException;

Kode Sampel

//Create an S3Client $s3 = new Aws\S3\S3Client([ 'region' => 'us-east-2' // Since version 3.277.10 of the SDK, ]); // the 'version' parameter defaults to 'latest'.

Informasi tentang parameter “versi” opsional tersedia di topik opsi konfigurasi.

Perhatikan bahwa kami tidak secara eksplisit memberikan kredensil kepada klien. Itu karena SDK menggunakan rantai penyedia kredensi default untuk mencari informasi kredensi.

Semua opsi konfigurasi klien umum dijelaskan secara rinci diOpsi konstruktor klien untuk AWS SDK untuk PHP Versi 3. Array opsi yang diberikan kepada klien dapat bervariasi berdasarkan klien mana yang Anda buat. Opsi konfigurasi klien kustom ini dijelaskan dalam dokumentasi API untuk setiap klien.

Sementara contoh di atas menunjukkan pembuatan klien dasar, Anda dapat menyesuaikan klien layanan Anda untuk memenuhi persyaratan tertentu. Untuk informasi lebih rinci tentang mengkonfigurasi klien layanan melalui kode, lihatMengkonfigurasi klien layanan dalam kode untuk AWS SDK untuk PHP Versi 3. Jika Anda perlu mengkonfigurasi klien layanan menggunakan file konfigurasi eksternal atau variabel lingkungan, lihatMengkonfigurasi klien layanan untuk AWS SDK untuk PHP Versi 3 secara eksternal.

Membuat permintaan

Anda dapat membuat permintaan layanan dengan memanggil metode dengan nama yang sama pada objek klien. Misalnya, untuk melakukan PutObjectoperasi Amazon S3, Anda memanggil metode. Aws\S3\S3Client::putObject()

Impor

require 'vendor/autoload.php'; use Aws\S3\S3Client;

Kode Sampel

// Use the us-east-2 region and latest version of each client. $sharedConfig = [ 'profile' => 'default', 'region' => 'us-east-2' ]; // Create an SDK class used to share configuration across clients. $sdk = new Aws\Sdk($sharedConfig); // Use an Aws\Sdk class to create the S3Client object. $s3Client = $sdk->createS3(); // Send a PutObject request and get the result object. $result = $s3Client->putObject([ 'Bucket' => 'my-bucket', 'Key' => 'my-key', 'Body' => 'this is the body!' ]); // Download the contents of the object. $result = $s3Client->getObject([ 'Bucket' => 'my-bucket', 'Key' => 'my-key' ]); // Print the body of the result by indexing into the result object. echo $result['Body'];

Operasi yang tersedia untuk klien dan struktur input dan output didefinisikan pada runtime berdasarkan file deskripsi layanan. Saat membuat klien, jika Anda tidak memberikan version parameter (misalnya., “2006-03-01" atau “terbaru”) dari model layanan, klien default ke versi terbaru. SDK menemukan file konfigurasi yang sesuai berdasarkan versi yang disediakan.

Metode operasi seperti putObject() semua menerima argumen tunggal, array asosiatif yang mewakili parameter operasi. Struktur array ini (dan struktur objek hasil) didefinisikan untuk setiap operasi dalam Dokumentasi API SDK (misalnya, lihat dokumen API untuk operasi putObject).

Opsi penangan HTTP

Anda juga dapat menyempurnakan bagaimana penangan HTTP yang mendasari mengeksekusi permintaan dengan menggunakan parameter khusus. @http Opsi yang dapat Anda sertakan dalam @http parameter sama dengan yang dapat Anda atur saat Anda membuat instance klien dengan opsi klien “http”.

// Send the request through a proxy $result = $s3Client->putObject([ 'Bucket' => 'amzn-s3-demo-bucket', 'Key' => 'my-key', 'Body' => 'this is the body!', '@http' => [ 'proxy' => 'http://192.168.16.1:10' ] ]);

Bekerja dengan objek hasil

Mengeksekusi operasi yang berhasil mengembalikan Aws\Result objek. Alih-alih mengembalikan data XHTML atau JSON mentah dari suatu layanan, SDK memaksa data respons ke dalam struktur array asosiatif. Ini menormalkan beberapa aspek data berdasarkan pengetahuannya tentang layanan spesifik dan struktur respons yang mendasarinya.

Anda dapat mengakses data dari AWS\Result objek seperti array PHP asosiatif.

Impor

require 'vendor/autoload.php'; use Aws\S3\S3Client; use Aws\Exception\AwsException;

Kode Sampel

// Use the us-east-2 region and latest version of each client. $sharedConfig = [ 'profile' => 'default', 'region' => 'us-east-2', ]; // Create an SDK class used to share configuration across clients. $sdk = new Aws\Sdk($sharedConfig); // Use an Aws\Sdk class to create the S3Client object. $s3 = $sdk->createS3(); $result = $s3->listBuckets(); foreach ($result['Buckets'] as $bucket) { echo $bucket['Name'] . "\n"; } // Convert the result object to a PHP array $array = $result->toArray();

Isi objek hasil tergantung pada operasi yang dijalankan dan versi layanan. Struktur hasil dari setiap operasi API didokumentasikan dalam dokumen API untuk setiap operasi.

SDK terintegrasi dengan JMESPath, DSL yang digunakan untuk mencari dan memanipulasi data JSON atau, dalam kasus kami, array PHP. Objek hasil berisi search() metode yang dapat Anda gunakan untuk mengekstrak data secara lebih deklaratif dari hasilnya.

Kode Sampel

$s3 = $sdk->createS3(); $result = $s3->listBuckets();
$names = $result->search('Buckets[].Name');