Topik ini menggunakan dependensi pihak ketiga Nette\Utils sebagai contoh untuk menjelaskan cara menginstal dependensi untuk kode PHP Anda, mengemas kode tersebut, dan menyebarkannya ke Function Compute.
Persiapan
Buat direktori kode untuk pengujian dan tentukan nama untuk direktori tersebut. Dalam contoh ini,
mycodedigunakan.Linux atau macOS
Jalankan perintah
mkdir -p /tmp/mycodeuntuk membuat direktori.Windows
Buat folder dan beri nama
mycode.
Di direktori
mycode, buat file dan beri nama file tersebutindex.php.Kode berikut menggambarkan isi dari file tersebut:
<?php require_once __DIR__ . '/vendor/autoload.php'; use Nette\Utils\Arrays; function handler($event, $context) { return Arrays::contains([1, 2, 3], 1); }
Gunakan Composer untuk menginstal dependensi dan menyebarkan paket kode
Prerequisites
PHP dan Composer telah diinstal di mesin Anda, yang memiliki izin untuk menjalankan perintah Composer. Untuk informasi lebih lanjut tentang Composer, lihat Composer.
Opsional:Fungsi PHP dibuat di Function Compute console. Untuk informasi lebih lanjut, lihat Buat Fungsi.
Procedure
Buat file composer.json di direktori
mycode.Kode berikut menunjukkan isi dari file tersebut:
{ "require": { "nette/utils": "v3.2.5" } }Jalankan perintah
composer installdi direktorimycodeuntuk menginstal dependensi.Setelah eksekusi selesai, file composer.lock dan direktori vendor akan dibuat di direktori ini. Dependensi yang diunduh disimpan di direktori vendor.
Kompres semua file di direktori
mycode.Linux atau macOS
Masuk ke direktori
mycodedan jalankan perintahzip code.zip -r ./*.CatatanPastikan Anda memiliki izin baca dan tulis pada direktori tersebut.
Windows
Masuk ke direktori
mycode, pilih semua file, klik kanan file tersebut, lalu kompres file ke dalam paket ZIP.
CatatanPastikan bahwa file
index.phpyang Anda buat berada di direktori root paket.Di Function Compute console, temukan fungsi yang diinginkan. Di pojok kanan atas halaman detail fungsi, klik Upload Code untuk mengunggah paket ZIP yang diperoleh pada langkah sebelumnya.
Anda juga dapat mengunggah paket ZIP saat membuat fungsi di Function Compute console. Untuk informasi lebih lanjut, lihat Buat Fungsi.
Pada tab Code, klik Test Function.
Gunakan Serverless Devs untuk menginstal dependensi dan menyebarkan kode
Prerequisites
Instal Serverless Devs dan Docker
Procedure
Buat file
s.yamldi direktorimycode.File tersebut berisi konten berikut.
edition: 1.0.0 # Versi sintaks YAML. Versi ini sesuai dengan spesifikasi versi semantik. name: fcDeployApp # Nama proyek. access: "default" # Alias kunci. services: fc-deploy-test: # Nama layanan. component: fc # Nama komponen. props: # Nilai properti komponen. region: cn-shanghai service: name: fctest description: 'test' internetAccess: true function: name: testphp description: this is a test runtime: php7.2 codeUri: ./ handler: index.handler memorySize: 128 timeout: 6Jalankan perintah
sudo s build --use-dockeruntuk menginstal dependensi.Setelah Anda menjalankan perintah, direktori
.sdibuat di direktorimycode. Dependensi dan kode terkait diterapkan ke direktori .s/build/artifacts/fctest/testphp/vendor.Jalankan perintah
sudo s deployuntuk menerapkan proyek.Setelah Anda menjalankan perintah, Anda dapat menerapkan fungsi ke Function Compute.
Informasi tambahan
Anda juga dapat menggunakan fitur layer dari Function Compute untuk menginstal dependensi. Untuk informasi lebih lanjut, lihat Manajemen Konkurensi Instans.