Menambahkan paket Python ke AWS-Lambda melalui lapisan Lambda

Infrastruktur cloud saat ini menjadi solusi untuk banyak tugas komputasi yang diperlukan setiap hari. Cloud memberikan solusi sederhana untuk meningkatkan kapasitas (penskalaan), pilih sumber daya sesuai dengan kebutuhan Anda, Contoh yang kuat, perawatan yang rendah, Dan semua itu bisa didapatkan dengan harga yang relatif terjangkau. Banyaknya skema bisnis layanan cloud yang ditawarkan oleh banyak penyedia mungkin membuat Anda bingung memilih cloud mana. Salah satu layanan cloud yang paling kuat dan terjangkau adalah AWS-Lambda, yang juga dikenal sebagai fungsi dari penyedia lainnya. Ini adalah solusinya tanpa server aplikasi Sedangkan pada layanan kali ini kita akan fokus pada code daripada sekedar infrastruktur dll. Pada artikel sebelumnya saya telah membahas Serverless di AWS-Lambda menggunakan Yii2 yang merupakan framework PHP. PHP di Lambda menggunakan runtime sehingga kode PHP yang dijalankan tidak berjalan secara native di Lambda. Oleh karena itu, untuk lebih menghemat resource, saya pribadi lebih memilih menggunakan solusi Lambda dengan menggunakan bahasa pemrograman yang didukung oleh Lambda, salah satu bahasa pemrograman yang didukung oleh Lambda adalah Python.

Python adalah salah satu bahasa yang paling mudah dibaca dengan banyak dukungan perpustakaan. Saat menggunakan Lambda, perpustakaan yang tersedia terbatas pada perpustakaan default Python dan beberapa perpustakaan dari AWS. Jadi bagaimana jika kita membutuhkan perpustakaan tambahan di lambda? Kita dapat dengan mudah menjalankannya jika ada di server pip install package. Namun, di lambda kita akan menggunakan atribut yang disebut layer.

persyaratan

Agar tutorial ini lebih mudah diikuti, ada beberapa hal yang harus Anda perhatikan:

  1. Anda memiliki akun AWS
  2. Komputer Anda diinstal dengan Docker dan docker-compose

Buat wadah lapisan Docker Lambda

Langkah pertama kita akan membuat file bernama dockerfile (buat di folder khusus, misalnya folder lambdalayer) lalu isi file seperti di bawah ini.

FROM amazonlinux:2.0.20191016.0

RUN yum install -y python37 && \
    yum install -y python3-pip && \
    yum install -y zip && \
    yum clean all

RUN python3.7 -m pip install --upgrade pip && \
    python3.7 -m pip install virtualenv

Perintah di atas akan menggunakan image buruh pelabuhan amazonlinux dan menginstal python dengan paket yang kita perlukan untuk membuat paket python yang cocok dengan format lapisan lambda.

Selanjutnya, buat dan jalankan file Dockerfile.

docker build -f "<filename>.Dockerfile" -t lambdalayer:latest .

docker run -it --name lambdalayer lambdalayer:latest bash

Setelah perintah di atas kita akan menjalankan bash dari container kita.

Instal paket dalam wadah lapisan Lambda

Selanjutnya kita perlu mengisolasi paket yang ingin kita konversi ke lapisan lambda menggunakan virtuanenv yang kita instal sebelumnya. Jalankan perintah di bawah ini dimana paketnya adalah virtualenv yang ingin Anda gunakan sebagai media lambdalayer.

python3.7 -m venv package

Anda dapat membuat paket baru tanpa membuat ulang kontainer dengan menggunakan nama paket yang berbeda. Selanjutnya masuk ke virtualsave for package dengan perintah activation, lalu install paket python yang kita perlukan.

source package/bin/activate

pip install your-python-package -t ./python

deactivate

ZIP dan unggah paket ke lapisan AWS-Lambda

Setelah itu, Anda dapat mengekstrak paket tersebut ke folder ./python dengan perintah berikut.

zip -r python.zip ./python/

Selanjutnya silahkan keluar dari container, lalu jalankan perintah berikut untuk mendapatkan file python.zip yang nantinya akan kita upload ke layer lambda.

docker cp lambdalayer:python.zip ./Desktop/

Silakan akses AWS-Lambda Anda dan upload file dengan menekan tombol Create Layer dan upload file zip

Setelah pengunggahan berhasil, Anda dapat menggunakan paket Python eksternal di AWS-Lambda Anda. Setelah itu langit adalah batasnya.


Sekian tutorial kali ini, semoga bermanfaat dan selamat coding!

Sumber:

Berita Terkini

Berita Terbaru

Daftar Terbaru

News

Jasa Impor China

Berita Terbaru

Flash News

RuangJP

Pemilu

Berita Terkini

Prediksi Bola

Technology

Otomotif

Berita Terbaru

Teknologi

Berita terkini

Berita Pemilu

Berita Teknologi

Hiburan

master Slote

Berita Terkini

Pendidikan

Resep

Jasa Backlink

Slot gacor terpercaya

Anime Batch

Tinggalkan Komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *