Blog ini ditulis oleh Eggy Tanuwijaya, Solution Architect Alibaba Cloud Indonesia.
Di dalam blog ini saya akan menginformasikan bagaimana kita membuat API menggunakan function compute dan dari function compute dengan bahasa pemrograman PHP dan dari function compute ini kita hubungkan dengan MySQL.
1.Requirement: Buat 1 buah database dengan menggunakan RDS MySQL
2.Klik "create service" untuk membuat service
3.Isi nama service yang ingin digunakan
4.Pilih Service Configurations kemudian pilih Modify Configuration
5.Kemudian kita setting log nya, sebelum kita setting, kita bisa enable terlebih dahulu untuk request level metrics dan juga enable instance metrics
6.Kita juga harus memperhatikan konfigurasi network, apakah:
-Function Compute ini boleh di akses dari internet luar?
-Apakah Function Compute boleh mengakses source yang terdapat di dalam VPC?
-Apakah resource yang ada di dalam VPC boleh mengakses Function Compute?
7.Create Function
8.Pilih "Create Function" dan pilih "configure and deploy"
9.Di sini saya akan menggunakan runtime "PHP 7.2", masukkan nama function yang akan di test dan pilih runtime yang akan dijalankan. Kemudian create
10.Di halaman service pada menu function, kita bisa double click di function yang telah kita buat
11.Kemudian kita pilih code
12.Setelah itu kita bisa mulai melakukan coding
13.Nah, di code ini ada beberapa yang saya tambahkan contoh alamat server beserta port termasuk username dan password. Kemudian ada juga saya parameter yang akan di tangkap oleh body response. Berikut di bawah code lengkap nya beserta responsenya:
<?php
use RingCentral\Psr7\Response;
function handler($request, $context): Response{
/*
$body = $request->getBody()->getContents();
$queries = $request->getQueryParams();
$method = $request->getMethod();
$headers = $request->getHeaders();
$path = $request->getAttribute('path');
$requestURI = $request->getAttribute('requestURI');
$clientIP = $request->getAttribute('clientIP');
*/
$servername = "XXXXX.mysql.ap-southeast-5.rds.aliyuncs.com:3306";
$username = "XXXXX";
$password = "xxxxxxxx";
// Create connection
$conn = new mysqli($servername, $username, $password)
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
echo "Connected successfully";
$body = $request->getBody()->getContents();
$json = json_decode($body, true);
print($json["id"]);
$id = $json["id"];
return new Response(
200,
array(
'custom_header1' => 'v1',
'custom_header2' => ['v2', 'v3'],
),
$id
);
}
14.Terus kita test sekarang codenya, caranya, coba kita scroll ke bawah
15.Setelah kita klik Invoke maka akan keliatan hasilnya
16.Di dalam function compute kita juga bisa melihat log yang disediakan oleh function compute
17.Yuk, ita test menggunakan postman juga, di halaman code, kita scroll ke bawah kemudian kita copy url ini dan kita coba jalankan di postman
99 posts | 15 followers
FollowAlibaba Cloud Indonesia - March 24, 2023
Alibaba Cloud Indonesia - August 22, 2022
Alibaba Cloud Indonesia - July 5, 2023
Alibaba Cloud Indonesia - July 22, 2020
Alibaba Cloud Indonesia - September 21, 2023
Regional Content Hub - August 19, 2024
99 posts | 15 followers
FollowAn on-demand database hosting service for MySQL with automated monitoring, backup and disaster recovery capabilities
Learn MoreAn on-demand database hosting service for PostgreSQL with automated monitoring, backup and disaster recovery capabilities
Learn MoreAn on-demand database hosting service for SQL Server with automated monitoring, backup and disaster recovery capabilities
Learn MoreApsaraDB RDS for MariaDB supports multiple storage engines, including MySQL InnoDB to meet different user requirements.
Learn MoreMore Posts by Alibaba Cloud Indonesia