Topik ini memberikan panduan cepat tentang cara membuat dan mempublikasikan API yang menggunakan layanan backend tipe HTTP di API Gateway. Topik ini juga menjelaskan cara memanggil API menggunakan aplikasi serta pasangan AppKey dan AppSecret berdasarkan jenis autentikasi Alibaba Cloud App.
Prasyarat
Lingkungan virtual private cloud (VPC) telah dibuat. Untuk informasi lebih lanjut, lihat Buat VPC dengan blok CIDR IPv4 dan Buat VPC dengan blok CIDR IPv6.
Instance Elastic Compute Service (ECS) telah dibuat. Untuk informasi lebih lanjut, lihat Langkah 1: Buat Instance ECS.
Dalam contoh ini, digunakan instance ECS yang ditempatkan dalam VPC. Instance ECS berada di wilayah yang sama dengan instance API Gateway. Di dalam instance ECS, Apache telah diterapkan dan menggunakan port default 80. Untuk informasi lebih lanjut, lihat Langkah 4: Terapkan Apache.
Proses
Topik ini menyediakan panduan langkah demi langkah yang dimulai dari pembuatan layanan backend. Panduan ini mencakup pembuatan dan pengaitan antara API dan aplikasi. Selain itu, topik ini menjelaskan cara men-debug API secara online menggunakan contoh berbasis SDK dan contoh berbasis cURL.
Proses ini terdiri dari enam langkah:
Buat layanan backend: Pada langkah ini, Anda mengonfigurasi layanan backend sebagai sumber daya di wilayah tempat instance API Gateway Anda berada. Anda dapat langsung memilih layanan backend yang telah dikonfigurasi saat membuat API.
Buat grup API: Pada langkah ini, Anda membuat grup API. API dikelola dalam grup berdasarkan jenis bisnis dan struktur organisasi bisnis.
Buat API: Pada langkah ini, Anda membuat API di konsol API Gateway.
Buat aplikasi dan otorisasi untuk memanggil API: Pada langkah ini, Anda membuat dan mengotorisasi aplikasi yang akan digunakan sebagai identitas untuk memanggil API.
Debug API: Pada langkah ini, Anda memverifikasi apakah API bekerja sesuai harapan dengan menggunakan fitur debugging online yang disediakan oleh konsol API Gateway.
Panggil API: Pada langkah ini, Anda dapat menggunakan SDK yang disediakan oleh API Gateway atau menjalankan perintah cURL di alat baris perintah cURL untuk memanggil API.
Langkah 1: Buat layanan backend
API Gateway memungkinkan Anda mengonfigurasi layanan backend sebagai sumber daya wilayah untuk menyederhanakan manajemen. Anda hanya perlu membuat layanan backend di konsol API Gateway dan mengonfigurasi URL yang berbeda untuk layanan backend tersebut untuk lingkungan yang berbeda. Kemudian, Anda dapat langsung memilih layanan backend yang telah dikonfigurasi untuk membuat API.
Masuk ke konsol API Gateway. Di bilah navigasi atas, pilih wilayah. Di panel navigasi kiri, pilih . Lalu, klik Create Backend Service di pojok kanan atas.
Di kotak dialog Buat Layanan Backend, atur Name menjadi
httpd-onlinedan Type menjadiLayanan HTTP/HTTPS, lalu klik Confirm.Di halaman Layanan Backend, klik layanan backend
httpd-online. Di halaman Definisi Layanan Backend, klik tab Production, lalu klik Create di pojok kanan atas.
Di halaman Basic Information, masukkan
http://192.168.*.***:80di kotak URL Layanan Backend dan klik Publish.Catatanhttp://192.168.*.***:80adalah alamat IP privat dari instance ECS yang dibuat.
Langkah 2: Buat grup API
API dikelola dalam grup API. Anda harus membuat grup API sebelum membuat API.
Di halaman API Groups, lihat grup yang telah dibuat dan klik nama grup untuk masuk ke halaman Group Details. Di halaman Detail Grup, Anda dapat bind a domain name, modify basic information, dan change the instance type untuk grup API.
API Gateway secara otomatis menetapkan nama domain tingkat kedua publik untuk grup API. Nama domain ini hanya digunakan untuk debugging dan memiliki batasan 100 panggilan per hari untuk wilayah di luar Tiongkok daratan dan 1.000 panggilan per hari untuk wilayah di Tiongkok daratan. Kami menyarankan Anda untuk mengikat nama domain independen setelah membuat grup API.
Di panel navigasi kiri, pilih . Di halaman Grup API, klik Create Group di pojok kanan atas.
Di kotak dialog Buat Grup, pilih instance dari daftar drop-down Instances, atur Group Name menjadi
httpd-demo, atur BasePath menjadi/, lalu klik Confirm.
Langkah 3: Buat API
Di panel navigasi kiri, pilih . Di halaman Grup API, temukan grup
httpd-demoyang Anda buat dan klik Manage APIs di kolom Actions.Di halaman APIs, klik Create API di pojok kanan atas.
Di langkah Basic Information, konfigurasikan parameter dan klik Next. Tabel berikut menjelaskan parameter:

Parameter
Contoh
Group
httpd-demo
API Name
httpd-test
Security Authentication
Alibaba Cloud App
AppCode Authentication
Aktifkan Autentikasi AppCode (Header & Query)
Signature Algorithm
HMAC_SHA256
Di langkah Define API Request, konfigurasikan parameter berikut dan klik Next.
CatatanPada langkah ini, Anda mendefinisikan bagaimana klien, seperti browser web, aplikasi seluler, atau sistem bisnis, meminta API. Parameter yang perlu Anda konfigurasikan pada langkah ini meliputi Protokol, Jalur Permintaan, Metode HTTP, Mode Permintaan, dan parameter di bagian Parameter Permintaan. Dalam contoh ini, parameter Mode Permintaan diatur ke Pass-through. Ini menunjukkan bahwa API Gateway tidak memproses parameter yang dikirim oleh klien dan langsung meneruskannya ke backend.

Di langkah Define Backend Service, konfigurasikan parameter berikut dan klik Next.
CatatanPada langkah ini, Anda mengonfigurasi tipe dan URL layanan backend ke mana API Gateway mengirim permintaan yang diterima dari klien dan bagaimana parameter dipetakan dan diproses. Dalam contoh ini, parameter Tipe Layanan Backend diatur ke Layanan HTTP/HTTPS.

Parameter
Contoh
Configuration Mode
Pilih Use Existing Backend Service.
Backend Service Type
Pilih HTTP/HTTPS Service.
Backend Service
httpd-onlineBackend Request Path
/
HTTP Method
GET
Backend Service Timeout Period
10000
Di langkah Define Response, konfigurasikan parameter di halaman berdasarkan kebutuhan bisnis Anda lalu klik Create.
Di pesan yang muncul, klik Publish.

Di kotak dialog Publikasikan API, atur Lingkungan menjadi Release, masukkan catatan di bagian Remarks, lalu klik Publish.
CatatanSetelah Anda memodifikasi API, Anda harus mempublikasikan API ke lingkungan yang sesuai agar modifikasi tersebut berlaku. API Gateway menyediakan tiga lingkungan bawaan, yaitu ujicoba, pra-rilis, dan produksi.

Langkah 4: Buat aplikasi dan otorisasikan untuk memanggil API
Aplikasi adalah identitas yang Anda gunakan untuk memanggil API. Di langkah Buat API dari contoh ini, metode autentikasi diatur ke Alibaba Cloud App. Oleh karena itu, setelah API dipublikasikan, Anda harus membuat aplikasi dan memberikan aplikasi izin untuk memanggil API.
Buat aplikasi
Di panel navigasi kiri, pilih . Di halaman Aplikasi, klik Create App di pojok kanan atas.
Masukkan nama aplikasi di bidang App Name dan klik Confirm. Dalam contoh ini, httpd dimasukkan sebagai nama aplikasi.

Di halaman Apps, klik aplikasi
httpdyang Anda buat. Di halaman App Details, Anda dapat melihat bahwa dua metode autentikasi tersedia:AppKeydanAppCode. MetodeAppKeymencakup sepasangAppKeydanAppSecret, yang bekerja mirip dengan sepasang nama pengguna dan kata sandi. Saat Anda memanggil API, Anda harus melewatiAppKeysebagai parameter.AppSecretdigunakan untuk menghitung tanda tangan. API Gateway memverifikasi pasangan AppKey-AppSecret untuk mengautentikasi identitas Anda.
Otorisasikan aplikasi untuk memanggil API
Di panel navigasi kiri, pilih . Di halaman API, temukan API
http-testdan klik
> Authorize di kolom Actions.Di halaman Otorisasi, atur parameter Stage menjadi Production. Masukkan nama aplikasi yang Anda buat di bilah pencarian bagian Pilih Aplikasi untuk Otorisasi. Di hasil pencarian, pilih aplikasi yang dibuat, klik Add di kolom Aksi, lalu klik Confirm. Pesan muncul untuk memberi tahu Anda bahwa aplikasi telah diotorisasi untuk memanggil API.

Langkah 5: Debug API
API Gateway mendukung debugging online. Kami menyarankan Anda menggunakan fitur ini untuk memeriksa apakah API dikonfigurasi dengan benar sebelum Anda memanggil API ini di klien.
Di panel navigasi kiri, pilih . Di halaman Debug API, pilih API
httpd-test, atur Metode Verifikasi menjadi Use AppSecret, lalu klik Send Request.Jika Anda melihat hasil berikut, API berhasil di-debug.

Langkah 6: Panggil API
Dengan melakukan langkah-langkah sebelumnya, Anda telah membuat dan mempublikasikan API, membuat dan mengotorisasi aplikasi untuk memanggil API, dan men-debug API. Pada langkah ini, SDK yang disediakan oleh API Gateway dapat digunakan untuk memanggil API yang telah dipublikasikan dari sistem bisnis.
Gunakan SDK
Di panel navigasi kiri, pilih . Di bagian Sample Code for Node.js Signature in Other Languages, pilih bahasa, misalnya, Node.js, dan klik View Sample Code for Node.js.
Jalankan perintah
$ npm install aliyun-api-gateway -Suntuk menggunakan npm menginstal SDK contoh untuk Node.js.Di potongan kode berikut, atur
YOUR_APP_KEYdanYOUR_APP_SECRETke AppKey dan AppSecret dari aplikasi yang dibuat dalam contoh ini.// Impor SDK untuk Node.js yang Anda unduh. const Client = require('aliyun-api-gateway').Client; // Buat instance untuk aplikasi yang diotorisasi. Tentukan AppKey dan AppSecret dari aplikasi yang diotorisasi. const client = new Client('YOUR_APP_KEY','YOUR_APP_SECRET'); async function get() { // Gunakan nama domain grup API tempat API yang ingin Anda panggil berada. Anda dapat menggunakan nama domain tingkat kedua publik yang disediakan oleh API Gateway untuk menguji pemanggilan API. Namun, batasan diberlakukan pada jumlah pemanggilan API. Kami menyarankan Anda mengikat nama domain independen ke Grup API. var url = 'YOUR_GROUP_DOMAIN'; var result = await client.get(url, { // Tentukan header permintaan. Beberapa API dapat mengembalikan format data berdasarkan tipe respons yang ditentukan. Kami menyarankan Anda secara manual mendefinisikan header permintaan berdasarkan kebutuhan bisnis Anda. headers: { accept: 'application/json' }, }); console.log(JSON.stringify(result)); } get().catch((err) => { console.log(err.stack); });
Gunakan cURL
Di panel navigasi kiri, pilih Call APIs > Apps. Di halaman Aplikasi, klik aplikasi yang diotorisasi dan dapatkan AppCode-nya di halaman yang muncul. Lalu, gunakan kode contoh berikut untuk memanggil API:
curl -i -X GET "http://3fbf0648d01e4aa5a1d*******-cn-hangzhou.alicloudapi.com" -H "Authorization:APPCODE c404eca23959492b9f0e4d4d15****"