Dalam runtime kustom, beberapa bahasa dengan versi berbeda didukung, seperti Python, Node.js, Java, dan PHP. Metode pengemasan layer untuk bahasa-bahasa ini sama dengan runtime asli. Namun, dalam runtime kustom, Anda harus menambahkan direktori tempat dependensi layer disimpan ke jalur pencarian paket dependensi untuk bahasa runtime tersebut. Topik ini menjelaskan cara mengacu dependensi dalam runtime kustom dari berbagai bahasa.
Contoh
Dalam contoh ini, direkomendasikan untuk menggunakan direktori /opt/python sebagai lokasi layer. Jika Anda telah mengikuti langkah-langkah dalam topik Buat Layer Kustom, file .zip dari layer tersebut akan diterapkan ke direktori ini secara default. Jika Anda tidak ingin menggunakan direktori contoh, konfirmasikan direktori file .zip dari layer yang Anda inginkan dan ganti /opt/python dengan direktori sebenarnya.
Sebagai contoh, jika file .zip disimpan di my-layer-code, layer tersebut diterapkan ke direktori /opt/my-layer-code. Direktori /opt/my-layer-code diperlukan saat mengonfigurasi variabel lingkungan untuk fungsi atau saat menambahkan jalur pencarian pustaka dependensi ke kode.
Mengacu dependensi layer dalam runtime kustom untuk Python
Metode 1: Konfigurasikan variabel lingkungan
PYTHONPATHuntuk fungsi dan tambahkan direktori tempat layer berada.Contoh kode:
PYTHONPATH=/opt/pythonMetode 2: Tambahkan pernyataan berikut ke file handler proyek Anda. Pernyataan tersebut harus dieksekusi sebelum pustaka dependensi layer diimpor.
import sys sys.path.append('/opt/python') # import {PackageFromLayer}
Untuk informasi lebih lanjut, lihat contoh python-demo-with-lib-in-layer.
Mengacu dependensi layer dalam runtime kustom untuk Node.js
Anda dapat mengonfigurasi variabel lingkungan NODE_PATH untuk fungsi dan menambahkan direktori tempat layer berada. Untuk informasi lebih lanjut, lihat contoh nodejs-demo-with-lib-in-layer.
NODE_PATH=/opt/nodejs/node_modulesMengacu dependensi layer dalam runtime kustom untuk Java
Metode 1: Konfigurasikan parameter
-classpathdalam perintah startup dan tambahkan direktori /opt/java/lib/* tempat layer berada.java -Dserver.port=9000 -classpath /code/:/opt/java/lib/* com.example.demo.DemoApplicationMetode 2: Konfigurasikan variabel lingkungan
CLASSPATHuntuk fungsi dan tambahkan direktori tempat dependensi layer berada.CLASSPATH=/code/:/opt/java/lib/*
Jika Anda menggunakan variabel lingkungan CLASSPATH, Anda tidak dapat menjalankan program dengan menentukan file .jar menggunakan parameter -jar. Sebagai contoh, parameter -jar dalam java -classpath ${CLASSPATH} -jar yourJarExe.jar menunjukkan bahwa JVM Java menggunakan MANIFEST.MF dan semua jalur pencarian variabel lingkungan serta baris perintah yang ditentukan diabaikan. Dalam hal ini, nilai parameter CLASSPATH tidak berlaku.
Mengacu dependensi layer dalam runtime kustom untuk PHP
Anda dapat menambahkan pernyataan berikut ke file handler proyek Anda. Pernyataan tersebut harus dieksekusi sebelum pustaka dependensi layer diimpor.
<?php
$path = '/opt/php';
set_include_path(get_include_path() . PATH_SEPARATOR . $path);