×
Community Blog Function Compute – HTTP API dengan RDS

Function Compute – HTTP API dengan RDS

Eggy Tanuwjiaya, Solution Architect Alibaba Cloud Indonesia, membagikan cara membuat API menggunakan function compute dengan bahasa pemrograman PHP dan dihubungkan dengan MySQL.

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 1
3.Isi nama service yang ingin digunakan 2
4.Pilih Service Configurations kemudian pilih Modify Configuration 3
5.Kemudian kita setting log nya, sebelum kita setting, kita bisa enable terlebih dahulu untuk request level metrics dan juga enable instance metrics 4
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? 5
7.Create Function 6
8.Pilih "Create Function" dan pilih "configure and deploy" 7
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 8
10.Di halaman service pada menu function, kita bisa double click di function yang telah kita buat 9
11.Kemudian kita pilih code 10
12.Setelah itu kita bisa mulai melakukan coding 11
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 12
15.Setelah kita klik Invoke maka akan keliatan hasilnya 13
16.Di dalam function compute kita juga bisa melihat log yang disediakan oleh function compute 14
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 15
16

0 0 0
Share on

Alibaba Cloud Indonesia

91 posts | 12 followers

You may also like

Comments

Alibaba Cloud Indonesia

91 posts | 12 followers

Related Products