All Products
Search
Document Center

Function Compute:Cara mereferensikan dependensi dari layer dalam Custom Runtime

Last Updated:Apr 01, 2026

Dalam runtime native, Function Compute secara otomatis menambahkan direktori layer ke jalur pencarian dependensi. Di custom runtime, meskipun beberapa bahasa dan versi didukung—termasuk Python, Node.js, Java, dan PHP—Anda harus menambahkan direktori layer ke jalur pencarian secara manual, baik melalui variabel lingkungan dalam konfigurasi fungsi maupun melalui kode di file entri.

Topik ini mencakup Python, Node.js, Java, dan PHP.

Direktori layer default

Saat Anda membuat file ZIP layer mengikuti struktur yang dijelaskan dalam Create a custom layer, Function Compute men-deploy konten layer ke direktori default berikut:

BahasaDirektori defaultVariabel lingkungan
Python/opt/pythonPYTHONPATH
Node.js/opt/nodejs/node_modulesNODE_PATH
Java/opt/java/lib/*CLASSPATH
PHP/opt/php

Jika direktori tingkat atas dalam file ZIP Anda menggunakan nama kustom, layer tersebut akan dideploy ke /opt/<nama-direktori-anda>. Sebagai contoh, jika direktori tingkat atas adalah my-layer-code, layer tersebut akan dideploy ke /opt/my-layer-code. Gantilah jalur default pada contoh di bawah ini dengan direktori aktual Anda.

Python

Pilih salah satu metode berikut.

Metode 1: Atur variabel lingkungan (disarankan)

Dalam konfigurasi fungsi, atur variabel lingkungan PYTHONPATH:

PYTHONPATH=/opt/python

Metode 2: Tambahkan jalur dalam kode

Tambahkan baris berikut ke file entri Anda sebelum melakukan import apa pun dari layer:

import sys
sys.path.append('/opt/python')
# import {PackageFromLayer}

Untuk contoh lengkap yang berfungsi, lihat python-demo-with-lib-in-layer.

Node.js

Dalam konfigurasi fungsi, atur variabel lingkungan NODE_PATH:

NODE_PATH=/opt/nodejs/node_modules

Untuk contoh lengkap yang berfungsi, lihat nodejs-demo-with-lib-in-layer.

Java

Pilih salah satu metode berikut.

Metode 1: Gunakan parameter -classpath dalam perintah startup (disarankan)

Tambahkan /opt/java/lib/* ke parameter -classpath:

java -Dserver.port=9000 -classpath /code/:/opt/java/lib/* com.example.demo.DemoApplication

Metode 2: Atur variabel lingkungan

Dalam konfigurasi fungsi, atur variabel lingkungan CLASSPATH:

CLASSPATH=/code/:/opt/java/lib/*
Penting

Saat menggunakan variabel lingkungan CLASSPATH, jangan gunakan flag -jar. Ketika -jar ditentukan, Java Virtual Machine (JVM) membaca classpath dari MANIFEST.MF di dalam file JAR dan mengabaikan semua variabel lingkungan serta pengaturan classpath dari command line—sehingga CLASSPATH tidak berpengaruh. Sebagai contoh, java -classpath ${CLASSPATH} -jar yourJarExe.jar tidak berfungsi seperti yang diharapkan.

PHP

Tambahkan baris berikut ke file entri Anda sebelum melakukan import apa pun dari layer:

<?php
$path = '/opt/php';
set_include_path(get_include_path() . PATH_SEPARATOR . $path);