Membuat dan Memanggil Objek Layanan - AWS SDK for JavaScript

Kami mengumumkan yang akan datang end-of-support untuk AWS SDK for JavaScript v2. Kami menyarankan Anda bermigrasi ke AWS SDK for JavaScript v3. Untuk tanggal, detail tambahan, dan informasi tentang cara bermigrasi, silakan merujuk ke pengumuman tertaut.

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

Membuat dan Memanggil Objek Layanan

JavaScript API mendukung sebagian besar AWS layanan yang tersedia. Setiap kelas layanan di JavaScript API menyediakan akses ke setiap panggilan API dalam layanannya. Untuk informasi selengkapnya tentang kelas layanan, operasi, dan parameter di JavaScript API, lihat referensi API.

Saat menggunakan SDK di Node.js, Anda menambahkan paket SDK ke aplikasi Anda menggunakanrequire, yang menyediakan dukungan untuk semua layanan saat ini.

var AWS = require('aws-sdk');

Saat menggunakan SDK dengan browser JavaScript, Anda memuat paket SDK ke skrip browser menggunakan paket SDK yang dihosting AWS. Untuk memuat paket SDK, tambahkan <script> elemen berikut:

<script src="https://sdk.amazonaws.com/js/aws-sdk-SDK_VERSION_NUMBER.min.js"></script>

Untuk menemukan SDK_VERSION_NUMBER saat ini, lihat Referensi API untuk SDK untuk Panduan Referensi API. JavaScript AWS SDK for JavaScript

Paket SDK yang di-host default menyediakan dukungan untuk subset dari layanan yang tersediaAWS. Untuk daftar layanan default dalam paket SDK yang dihosting untuk browser, lihat Layanan yang Didukung di Referensi API. Anda dapat menggunakan SDK dengan layanan lain jika pemeriksaan keamanan CORS dinonaktifkan. Dalam hal ini, Anda dapat membuat versi kustom SDK untuk menyertakan layanan tambahan yang Anda butuhkan. Untuk informasi selengkapnya tentang membuat versi kustom SDK, lihatMembangun SDK untuk Browser.

Membutuhkan Layanan Individu

Memerlukan SDK untuk JavaScript seperti yang ditunjukkan sebelumnya menyertakan seluruh SDK ke dalam kode Anda. Sebagai alternatif, Anda dapat memilih untuk hanya meminta layanan individual yang digunakan oleh kode Anda. Pertimbangkan kode berikut yang digunakan untuk membuat objek layanan Amazon S3.

// Import the AWS SDK var AWS = require('aws-sdk'); // Set credentials and Region // This can also be done directly on the service client AWS.config.update({region: 'us-west-1', credentials: {YOUR_CREDENTIALS}}); var s3 = new AWS.S3({apiVersion: '2006-03-01'});

Pada contoh sebelumnya, require fungsi menentukan seluruh SDK. Jumlah kode untuk diangkut melalui jaringan serta overhead memori kode Anda akan jauh lebih kecil jika hanya bagian SDK yang Anda butuhkan untuk layanan Amazon S3 yang disertakan. Untuk memerlukan layanan individual, panggil require fungsi seperti yang ditunjukkan, termasuk konstruktor layanan dalam semua huruf kecil.

require('aws-sdk/clients/SERVICE');

Berikut adalah kode untuk membuat objek layanan Amazon S3 sebelumnya ketika hanya menyertakan bagian Amazon S3 dari SDK.

// Import the Amazon S3 service client var S3 = require('aws-sdk/clients/s3'); // Set credentials and Region var s3 = new S3({ apiVersion: '2006-03-01', region: 'us-west-1', credentials: {YOUR_CREDENTIALS} });

Anda masih dapat mengakses AWS namespace global tanpa setiap layanan yang melekat padanya.

require('aws-sdk/global');

Ini adalah teknik yang berguna ketika menerapkan konfigurasi yang sama di beberapa layanan individual, misalnya untuk memberikan kredensyal yang sama untuk semua layanan. Membutuhkan layanan individual harus mengurangi waktu pemuatan dan konsumsi memori di Node.js. Ketika dilakukan bersama dengan alat bundling seperti Browserify atau webpack, memerlukan layanan individual menghasilkan SDK menjadi sebagian kecil dari ukuran penuh. Ini membantu dengan memori atau lingkungan terbatas ruang disk seperti perangkat IoT atau dalam fungsi Lambda.

Membuat Objek Layanan

Untuk mengakses fitur layanan melalui JavaScript API, pertama-tama Anda membuat objek layanan yang digunakan untuk mengakses serangkaian fitur yang disediakan oleh kelas klien yang mendasarinya. Umumnya ada satu kelas klien yang disediakan untuk setiap layanan; Namun, beberapa layanan membagi akses ke fitur mereka di antara beberapa kelas klien.

Untuk menggunakan fitur, Anda harus membuat instance kelas yang menyediakan akses ke fitur tersebut. Contoh berikut menunjukkan membuat objek layanan untuk DynamoDB dari AWS.DynamoDB kelas klien.

var dynamodb = new AWS.DynamoDB({apiVersion: '2012-08-10'});

Secara default, objek layanan dikonfigurasi dengan pengaturan global yang juga digunakan untuk mengkonfigurasi SDK. Namun, Anda dapat mengonfigurasi objek layanan dengan data konfigurasi runtime yang spesifik untuk objek layanan tersebut. Data konfigurasi khusus layanan diterapkan setelah menerapkan pengaturan konfigurasi global.

Dalam contoh berikut, objek layanan Amazon EC2 dibuat dengan konfigurasi untuk Wilayah tertentu tetapi sebaliknya menggunakan konfigurasi global.

var ec2 = new AWS.EC2({region: 'us-west-2', apiVersion: '2014-10-01'});

Selain mendukung konfigurasi khusus layanan yang diterapkan ke objek layanan individual, Anda juga dapat menerapkan konfigurasi khusus layanan ke semua objek layanan yang baru dibuat dari kelas tertentu. Misalnya, untuk mengonfigurasi semua objek layanan yang dibuat dari kelas Amazon EC2 untuk menggunakan Wilayah AS Barat (Oregon) (us-west-2), tambahkan berikut ini ke objek konfigurasi AWS.config global.

AWS.config.ec2 = {region: 'us-west-2', apiVersion: '2016-04-01'};

Mengunci Versi API dari Objek Layanan

Anda dapat mengunci objek layanan ke versi API tertentu dari layanan dengan menentukan apiVersion opsi saat membuat objek. Dalam contoh berikut, objek layanan DynamoDB dibuat yang dikunci ke versi API tertentu.

var dynamodb = new AWS.DynamoDB({apiVersion: '2011-12-05'});

Untuk informasi selengkapnya tentang mengunci versi API dari objek layanan, lihatMengunci Versi API.

Menentukan Parameter Objek Layanan

Saat memanggil metode objek layanan, berikan parameter di JSON seperti yang dipersyaratkan oleh API. Misalnya, di Amazon S3, untuk mendapatkan objek untuk bucket dan kunci tertentu, teruskan parameter berikut ke metode. getObject Untuk informasi selengkapnya tentang meneruskan parameter JSON, lihatBekerja dengan JSON.

s3.getObject({Bucket: 'bucketName', Key: 'keyName'});

Untuk informasi selengkapnya tentang parameter Amazon S3, lihat Class: AWS.S3di referensi API.

Selain itu, Anda dapat mengikat nilai ke parameter individual saat membuat objek layanan menggunakan params parameter. Nilai params parameter objek layanan adalah peta yang menentukan satu atau lebih nilai parameter yang ditentukan oleh objek layanan. Contoh berikut menunjukkan Bucket parameter objek layanan Amazon S3 yang terikat ke bucket bernama. myBucket

var s3bucket = new AWS.S3({params: {Bucket: 'myBucket'}, apiVersion: '2006-03-01' });

Dengan mengikat objek layanan ke bucket, objek s3bucket layanan memperlakukan nilai myBucket parameter sebagai nilai default yang tidak lagi perlu ditentukan untuk operasi selanjutnya. Setiap nilai parameter terikat diabaikan saat menggunakan objek untuk operasi di mana nilai parameter tidak berlaku. Anda dapat mengganti parameter terikat ini saat melakukan panggilan pada objek layanan dengan menentukan nilai baru.

var s3bucket = new AWS.S3({ params: {Bucket: 'myBucket'}, apiVersion: '2006-03-01' }); s3bucket.getObject({Key: 'keyName'}); // ... s3bucket.getObject({Bucket: 'myOtherBucket', Key: 'keyOtherName'});

Detail tentang parameter yang tersedia untuk setiap metode dapat ditemukan di referensi API.