Skip to content

emka.web.id

menulis pengetahuan – merekam peradaban

Menu
  • Home
  • Tutorial
  • Search
Menu

Bagaimana Memulai Dengan Fungsi Tanpa Server DigitalOcean

Posted on August 12, 2022

Functions adalah salah satu tambahan terbaru untuk platform cloud DigitalOcean. Ini menyediakan metode kelas satu untuk mengembangkan fungsi tanpa server tanpa meninggalkan DigitalOcean. Kode Anda dijalankan sesuai permintaan saat dipanggil, menghilangkan penyediaan dan pemeliharaan server manual.

Dalam artikel ini kami akan menjelaskan apa yang didukung oleh DigitalOcean Functions dan memandu demonstrasi pembuatan fungsi sederhana Anda sendiri. Functions memiliki tingkat gratis yang menyediakan 25 GiB-jam per bulan, dengan GiB-detik dihitung sebagai konsumsi memori dikalikan dengan waktu eksekusi setiap panggilan fungsi.

Fitur yang Didukung

Diluncurkan pada Mei 2022, Functions memberi pelanggan DigitalOcean opsi bawaan untuk menjalankan beban kerja tanpa server. Setiap fungsi mendapatkan titik akhir API sendiri yang menjalankan kode yang Anda buat. Anda tidak perlu menyiapkan server Anda sendiri atau menyimpan proyek sebelum penerapan. Fungsi langsung dihosting oleh backend Platform Aplikasi DigitalOcean.

Functions dapat berintegrasi dengan Database Terkelola DigitalOcean untuk memfasilitasi penyimpanan data yang persisten. Mereka juga dilengkapi dengan CLI komprehensif yang memungkinkan Anda menerapkan dan menguji kode Anda di terminal.

Versi awal platform mendukung lima lingkungan pemrograman yang berbeda:

  • Go 1.17
  • Node.js 14
  • Node.js 14 (kompatibel dengan fungsi AWS Lambda)
  • PHP 8
  • Python 3.9

Anda harus terbiasa menulis kode dalam salah satu bahasa ini untuk menerapkannya sebagai sebuah fungsi. Lebih banyak runtime dapat didukung di masa mendatang.

Menyiapkan

Anda dapat meluncurkan fungsi baru menggunakan panel kontrol web DigitalOcean atau Doctl, CLI berorientasi pengembangnya. Kami berfokus pada pendekatan Doctl berbasis terminal untuk tujuan artikel ini. Ini memperlihatkan semua kemampuan Fungsi dan merupakan jalur yang dimaksudkan untuk semua kecuali kasus penggunaan yang paling sederhana. Pastikan Anda telah menginstal Doctl versi terbaru dan diautentikasi ke akun DigitalOcean Anda sebelum melanjutkan.

Anda harus menyelesaikan beberapa langkah penyiapan lebih lanjut jika ini adalah pertama kalinya Anda menggunakan Fungsi DigitalOcean. Pertama selesaikan instalasi ekstensi tanpa server Doctl. Ini menambahkan dukungan penuh untuk mengembangkan dan menerapkan fungsi.

$ doctl install

tanpa server Mengunduh…Membongkar…Menginstal…Membersihkan… Done

Selanjutnya sambungkan fitur tanpa server ke akun DigitalOcean Anda:

$ doctl serverless connect

Terhubung ke fungsi namespace `fn-3c1d9001-8e04-44e8-9375-c22b13c4a41a` pada host API `https://faas-lon1-917a94a7.doserverless.co`

Sekarang Anda harus siap untuk mulai menulis fungsi. Jalankan perintah status tanpa server untuk memeriksa semuanya berfungsi:

$ doctl status

tanpa server Terhubung ke ruang nama fungsi `fn-3c1d9001-8e04-44e8-9375-c22b13c4a41a` pada host API `https://faas-lon1-917a94a7.doserverless.co` Versi Sandbox adalah 3.1.1-1.2.1

Keluaran yang ditunjukkan di atas mengonfirmasi bahwa dukungan Fungsi telah diinstal dan siap digunakan.

Perintah tanpa server adalah alias kotak pasir. Pada saat penulisan, kedua kata kunci tersebut memiliki fungsi yang identik dan digunakan secara bergantian di seluruh dokumentasi DigitalOcean. Kami melakukan standarisasi tanpa server untuk panduan ini.

Membuat Fungsi

Gunakan perintah berikut untuk membuat proyek Fungsi baru:

$ doctl serverless init --language js demo-project

Area kotak pasir lokal `demo-project` telah dibuat untuk Anda. Anda dapat menerapkannya dengan menjalankan perintah yang ditunjukkan pada baris berikutnya: doctl sandbox deploy demo-project

Perintah ini membuat fungsi JavaScript baru dalam demo-project di direktori kerja Anda. Periksa isi direktori ini untuk melihat perancah Doctl untuk Anda:

$ tree demo-project

demo-project package sample hello hello.js project. yml 3 direktori, 2 files

File project.yml adalah tempat Anda mengonfigurasi proyek fungsi dan titik akhir yang disediakannya.

targetNamespace: “ parameter: {} package: – name: sample environment: {} parameter: {} annotations: {} actions : – name: hello binary: false main: “ runtime: `nodejs:default` web: parameter true: {} environment: {} annotations: {}limits: {}

Template starter mengonfigurasi satu paket yang disebut sample. Di dalam paket ini, ada satu tindakan (endpoint) bernama hello yang dieksekusi menggunakan runtime Node. Kode sumber untuk tindakan ini disimpan di package/sample/hello/hello.js. Mari kita lihat file ini selanjutnya:

function main(args){ let name = args.name||`stranger` let greeting =`Hello `+ name +`!` console.log(greeting)return{“body”: greeting} }

Ini adalah kode JavaScript biasa. Fungsi main() akan dipanggil setiap kali fungsi Anda dipanggil. Ini menerima objek yang berisi argumen yang dikirimkan sebagai data HTTP GET dan POST dalam permintaan pengguna. Anda juga dapat mengonfigurasi argumen statis, menggunakan bidang parameter pada tindakan, paket, dan proyek tingkat atas di file project.yml Anda.

Functions perlu mengembalikan objek yang menjelaskan respons HTTP terhadap masalah. Bidang isi menjadi data yang disertakan dalam response.

Invoking and Deploying Functions

Proyek ini siap dijalankan. Gunakan perintah ini untuk menerapkan function:

$ doctl serverless deploy Anda. Menerapkan `/home/james/@scratch/demo-project` ke namespace `fn-3c1d9001-8e04-44e8-9375-c22b13c4a41a` pada host `https://faas-lon1-917a94a7.doserverless.co` Status penerapan dicatat di `.nimbella` Deployed functions (`doctl sbx fn get –url` untuk URL): – sample/hello

Perintah serverless deploy mengambil satu argumen, jalur ke direktori yang berisi fungsi Anda. Menggunakan . ketika root proyek Anda sudah menjadi direktori kerja Anda.

Sekarang Anda dapat menguji fungsi Anda menggunakan fungsi tanpa server doct CLI:

$ memanggil sample/hello -p name:howtogeek { “body”: “Hello howtogeek!” }

Parameter -p menetapkan argumen yang diteruskan ke kode Anda. Contoh ini menunjukkan bagaimana nilai kembalian fungsi Anda menjadi badan respons HTTP.

Selanjutnya coba buat permintaan API nyata ke fungsi Anda. Anda dapat menemukan URL-nya dengan perintah berikut:

$ URL=$(doctl fungsi serverless get sample/hello –url)

Gunakan curl atau klien HTTP favorit Anda untuk mencapai titik akhir ini:

$ curl $URL?name=howtogeek Halo howtogeek!

Parameter string kueri nama telah berhasil diteruskan ke fungsi.

Memodifikasi Fungsi Anda

Sejauh ini kami menggunakan kode sampel DigitalOcean tanpa modifikasi apa pun. Ini tidak akan membawa Anda jauh dalam perjalanan tanpa server Anda! Edit file hello.js Anda sehingga terlihat seperti ini:

function main(args){return{ body:{ value:(args.value*2), timestamp:Date.now()}, headers:{“Content-Type” :”application/json”}};}

Re-deploy fungsi Anda:

$ doctl serverless deploy .

Fungsi ini secara naif menggandakan angka yang diberikan oleh parameter permintaan nilai. Ini juga mencakup stempel waktu dengan setiap badan respons. Bidang header digunakan dalam objek respons untuk menerapkan JSON Content-Type.

Anda dapat memanggil fungsi ini menggunakan Doctl atau curl dengan gaya yang sama seperti sebelumnya:

$ curl $URL?value=2 { “timestamp”: 1654784122966, “value”: 4 }

Secara manual menerapkan kembali fungsi Anda setelah setiap perubahan membosankan dan memakan waktu. Jalankan perintah watch saat Anda bekerja untuk menerapkan perubahan secara otomatis setelah Anda memodifikasi file Anda:

$ doctl serverless watch . Menonton `.` [gunakan Control-C untuk mengakhiri]

Biarkan jendela terminal tetap terbuka saat Anda mengembangkan fungsi Anda. Setiap penerapan baru akan mencatat pesan sehingga Anda tahu kapan Anda dapat menguji perubahan Anda. Ini memfasilitasi iterasi yang efisien saat Anda mengembangkan fungsi.

Anda juga dapat mengalirkan log dari fungsi Anda. Ini sangat berharga ketika suatu fungsi mogok atau tidak berperilaku seperti yang Anda harapkan. Jalankan perintah ini untuk mengakses log yang terkait dengan fungsi demo Anda:

$ doct log aktivasi tanpa server –follow –function sample/hello

Baris baru akan dicetak setiap kali Anda memanggil fungsi Anda. Log juga menyertakan pesan yang dipancarkan kode Anda ke output standar dan aliran kesalahan lingkungan.

Menyebarkan ke Produksi

Perintah penerapan tanpa server saat ini dirancang hanya untuk penggunaan pengembangan. Anda dapat menyebarkan ke produksi dengan membuat repositori Git untuk proyek Fungsi Anda dan meluncurkannya menggunakan Platform Aplikasi DigitalOcean.

Buat proyek baru di GitHub atau GitLab dan dorong kode Anda:

$ git init $ git remote add origin git@github.com :user/repo.git $ git tambahkan . $ git commit -m “initial commit” $ git push -u origin master

Selanjutnya buka panel kontrol DigitalOcean Anda dan klik tautan “Aplikasi” di bilah sisi kiri. Klik tombol “Buat Aplikasi” yang muncul. Pada layar berikutnya, ikuti petunjuk untuk terhubung ke akun GitHub Anda dan pilih repositori baru Anda. Tekan tombol biru “Berikutnya”.

DigitalOcean akan secara otomatis mendeteksi repositori Anda sebagai proyek Fungsi jika Anda memiliki project.yml di root-nya. Klik tombol “Lewati untuk Meninjau” untuk melanjutkan.

Layar berikutnya akan mengonfirmasi bahwa Anda akan ditagih menggunakan rencana Fungsi.

Tekan “Buat Sumber Daya” untuk menyediakan aplikasi Anda dan memulai penerapan pertamanya. Kemajuan akan ditampilkan di dasbor.

Endpoint fungsi Anda akan dapat diakses publik setelah penerapan selesai. Anda dapat menemukan domain default ondigitalocean.app aplikasi Anda dengan menggulir ke bawah halaman Pengaturan Aplikasi di dasbor Anda. Dalam contoh kami, domain aplikasi adalah sea-lion-app.7ougx.ondigitalocean.app.

Functions secara otomatis diekspos sebagai URI yang memiliki format berikut:

.ondigitalocean.app//

Anda dapat memanggil fungsi sampel yang dibuat sebelumnya dengan membuat permintaan berikut:

$ curl https://sea-lion-app.7ougx.ondigitalocean.app/sample/hello?value=2 { “timestamp”: 1654786505969, “value”: 4 }

Fungsi telah berhasil digunakan! Anda sekarang dapat menggunakan tab Domains di pengaturan aplikasi Anda untuk melampirkan domain kustom alih-alih domain default.

Summary

DigitalOcean Functions adalah pesaing terbaru di arena fungsi tanpa server yang semakin ramai. Platform ini memungkinkan Anda mengembangkan fungsionalitas sisi server tanpa mengelola VM atau menyimpan kode secara manual.

Functions menyediakan CLI komprehensif untuk membangun dan menguji titik akhir Anda. Anda kemudian dapat menerapkan fungsi Anda ke solusi Platform Aplikasi DigitalOcean yang ada, baik sebagai proyek mandiri atau sebagai bagian dari aplikasi yang lebih besar. Anda dapat mengatur variabel lingkungan, beberapa tindakan, dan batas sumber daya menggunakan bidang dalam file project.yml Anda, memberi Anda rute cepat dan mudah untuk membangun endpoints.

sesuai permintaan yang relatif kompleks

Itulah berita seputar Bagaimana Memulai Dengan Fungsi Tanpa Server DigitalOcean, semoga bermanfaat. Disadur dari HowToGeek.com.

Terbaru

  • Masih Bingung Bedanya CRM dan ERP? Ini Tips Cari Software CRM dan ERP Terbaik
  • Begini Cara Hapus Akun DANA Premium Secara Permanen!
  • Bukan Cuma Mitos! Ternyata Dinasti Song Punya Tempat Nongkrong Mirip PIK, Begini Isinya
  • Bukan Fiksi! Ini Bukti Manusia Punya ‘Kekuatan Super’ Akibat Mutasi Genetik dan Lingkungan
  • Dikelilingi Cincin Api, Kok Kalimantan Malah Nggak Punya Gunung Berapi? Ini Jawabannya!
  • Misteri Newgrange: Kuburan Batu 5.000 Tahun yang Menyimpan Peta Galaksi, Kok Bisa?
  • Transformasi Ekstrem Pesawat IL-96: Ganti 4 Mesin Jadi 2 Mesin Raksasa PD-35, Emang Bisa?
  • Apakah Aplikasi Cash Reels Penipu?
  • Ini Daftar Kode Redeem Fish It Roblox Terbaru Januari 2026 buat Panen Hadiah!
  • Main Game Dapat Duit? Cek Dulu Fakta Shop Shelf Master Sebelum Nyesel!
  • Monitor Putih Sejutaan Spek Dewa, Acer S243y Bikin Ngiler!
  • Kapsul Luar Angkasa China Ini Bisa Mendarat Selembut Awan, SpaceX Bakal Ketar-ketir?
  • Kereta Maglev 500 KM/Jam: Proyek Gila 1.100 Triliun dari Jepang
  • Kenapa Perusahaan China Mulai Ungguli Amerika di Sektor AI dan Otomotif
  • Mau Beli iPhone 17 Tapi Budget Mepet? Ini Daftar Alternatif iPhone yang Masih Layak Dibeli
  • Apa itu OFTV? Pengertian OnlyFans TV: Platform Streaming Gratis Tanpa Iklan dari OnlyFans
  • Heboh Video 5 Menit Elga Puruk Cahu, Kok Bisa Seviral Itu? Ini Link Downloadnya?
  • Cara Mengatasi Masalah Windows Deactivated Setelah Kloning Disk
  • Investasi Bitnest Janjikan Profit Stabil, Yakin Aman? Cek Dulu Faktanya Sebelum Nyesel!
  • Cara Mengatasi Masalah Klik Mouse Tidak Berfungsi di Windows
  • Apple Dikabarkan Bikin iPhone Layar Lengkung 4 Sisi, Niru Xiaomi?
  • Inikah HP Samsung Terawet? Samsung Diam-diam Uji Baterai 20.000 mAh
  • Ini Deretan HP Murah RAM 12 GB yang Bisa Bikin Multitasking Ngebut!
  • Ini Trik Rahasia Dapat Candy Blossom di Grow a Garden, Nggak Cuma dari Event!
  • Siap-siap Boros! Ini Bocoran Skin Starlight Januari 2026 dan Update Seru M7
  • Moto X70 Air Pro Bakal Punya Kamera Periskop Canggih!
  • Ternyata Nggak Semua Aplikasi Bisa QRIS CPM di Alfamart, Ini Penjelasannya!
  • Lagi Order Tiba-tiba Gojek Error? Jangan Panik Dulu, Coba Langkah Praktis Ini!
  • Belum Tahu? Inilah Cara Melihat Kode Verifikasi Email Saya 6 Digit yang Sering Bikin Bingung!
  • Belum Tahu? Ini Cara Dapat Akses Premium Viu & Vidio Gratis Pakai Axis!
  • Apa itu Cosmic Desktop: Pengertian dan Cara Pasangnya di Ubuntu 26.04?
  • Apa Itu Auvidea X242? Pengertian Carrier Board Jetson T5000 dengan Dual 10Gbe
  • Elementary OS 8.1 Resmi Rilis: Kini Pakai Wayland Secara Standar!
  • Apa Itu Raspberry Pi Imager? Pengertian dan Pembaruan Versi 2.0.3 yang Wajib Kalian Tahu
  • Performa Maksimal! Ini Cara Manual Update Ubuntu ke Linux Kernel 6.18 LTS
  • Inilah Cara Install dan Pakai ChatGPT Atlas Browser, Pesaing Baru di Dunia Web
  • Inilah Cara Mengamankan Aplikasi LLM dengan AI Guardrails agar Tidak Halusinasi dan Bocor Data
  • Prompt AI Poster Vecna Stranger Things
  • Inilah Cara Menghancurkan Model AI Raksasa Hanya Bermodal 250 Dokumen
  • Tutorial Cara Menjalankan LLM Private di Laptop Sendiri, Aman dan Gratis Tanpa Internet
  • Apa Benar Data Kita Anonymous di OnlyFans? Ini Fakta Keamanan Digitalnya
  • Apa itu Error MSMQ di Windows 10 dan Solusi Update KB5074976? Ini Penjelasannya
  • Apa Itu Scam Network? Pengertian Jaringan Situs Palsu yang Baru Saja Digerebek FBI
  • Masih Ragu Soal Privasi OnlyFans? Ini Fakta dan Risiko Keamanan Digital yang Wajib Kalian Tahu!
  • Apa itu Praktik Pelacakan Data Ilegal? (Belajar dari Kasus Denda Apple di Italia)
Beli Pemotong Rumput dengan Baterai IRONHOOF 588V Mesin Potong Rumput 88V disini https://s.shopee.co.id/70DBGTHtuJ
Beli Morning Star Kursi Gaming/Kantor disini: https://s.shopee.co.id/805iTUOPRV

©2026 emka.web.id | Design: Newspaperly WordPress Theme