Tüm Ürünler
Search
Belge Merkezi

Function Compute:Use WebIDE to package third-party dependencies of a function

Son Güncelleme:Oct 08, 2026

WebIDE, Function Compute yürütme ortamıyla aynı ortamda çalışır; bu nedenle WebIDE terminaline yüklediğiniz paketler çalışma zamanında aynı şekilde davranır. Bu konuda Python, Node.js, PHP ve özel çalışma zamanları için üçüncü taraf bağımlılıklarının nasıl yükleneceği ve paketleneceği açıklanmaktadır.

Yükleme yaklaşımı seçin

Her çalışma zamanı için bağımlılıkları aşağıdaki iki yaklaşımdan birini kullanarak yükleyebilirsiniz:

Yaklaşım Ne zaman kullanılır Dizin
Kod dizinine doğrudan yükleme Küçük bağımlılıklar, sık dağıtımlar /code
Bağımlılıkları katman olarak paketleme Büyük bağımlılıklar, nadiren değişen yapılar Çalışma zamanına özgü (aşağıdaki bölümlere bakın)

Büyük bağımlılık kümeleri soğuk başlatma gecikme süresini, işlev kodu paketi boyutunu ve dağıtım süresini artırır. Bunları katman olarak paketlemek, bağımlılık yaşam döngüsünü işlev kodunuzdan ayırır; böylece her dağıtımda değil, yalnızca bağımlılıklar değiştiğinde katmanı güncellersiniz.

Ön koşullar

Başlamadan önce şunlara sahip olduğunuzdan emin olun:

  • Function Compute içinde oluşturulmuş ve çalışan bir WebIDE örneğine sahip bir işlev

  • WebIDE terminaline erişim

Python

Python çalışma zamanları, bir dizi yerleşik Python modülü içerir. Bu listede yer almayan herhangi bir modül için WebIDE terminalinden yükleyin.

/code dizinine doğrudan yükleme

WebIDE terminalindeki /code dizininde aşağıdaki komutu çalıştırın:

pip install -t . flask
# Or, using a requirements file:
pip install -t . -r requirements.txt

Paketleri doğrudan /code dizinine yüklemek, bunları işlev kodunuzun yanına yerleştirir. Çok sayıda paket yüklendiğinde, dizin paket dosyaları ve klasörleriyle dolduğundan kaynak yöneticisinde index.py dosyasını bulmak zorlaşabilir. Bu durum sizin için sorun teşkil ediyorsa, bunun yerine ayrı bir dizine yükleyin.

Ayrı bir dizine yükleme

Kod dizininizi temiz tutmak için paketleri /python alt dizinine yükleyin ve çalışma zamanının bunları bulabilmesi için bir ortam değişkeni ayarlayın:

mkdir python
cd python
pip install -t . flask

İşlev yapılandırmanıza PYTHONPATH=/code/python ortam değişkenini ekleyin.

Katman olarak paketleme

Bağımlılık kümesi büyükse, /python dizinini bir katman olarak paketleyin. Bu işlem, işlev kodu paketi boyutunu azaltır ve sonraki dağıtımları hızlandırır.

Katman dizini olarak /python kullandığınızda, Function Compute bu dizini Python arama yoluna otomatik olarak ekler. PYTHONPATH=/opt/python ayarlamanıza gerek yoktur.

Aşağıdaki komutları sırayla çalıştırın:

# Step 1: Archive the python directory
zip -ry python.zip python

# Step 2: Publish the archive as a layer
s cli fc3 layer publish \
  --layer-name myPythonLibLayer \
  --code /code/python.zip \
  --compatible-runtime python3.10,python3.9,python3.6,custom,custom.debian10 \
  --region cn-hangzhou \
  -a default

Komut, katman ARN'sini aşağıdaki gibi çıktılar:

395da10bf789aa49dd035db01bab****#myPythonLibLayer#1

Katman yayınlandıktan sonra:

  1. Yeni katman sürümüne referans vermek için işlev yapılandırmanızı güncelleyin.

  2. İşlev kodu paketi boyutunu küçültmek için yerel /python dizinini ve arşivi silin:

    rm -rf python python.zip
  3. Güncellenmiş işlevi dağıtın.

Katman oluşturma ve referans verme talimatları için bkz. Özel katman oluşturma ve Özel katman yapılandırma.

Node.js

Node.js çalışma zamanları, bir dizi yerleşik Node.js modülü içerir. Bu listede yer almayan herhangi bir modül için WebIDE terminalinden yükleyin.

/code dizinine doğrudan yükleme

package.json dosyasının /code dizininde bulunduğundan emin olun ve ardından aşağıdaki komutu çalıştırın:

npm install

Katman olarak paketleme

Bağımlılık kümesi büyükse, node_modules dizinini /nodejs dizinine taşıyın ve bir katman olarak paketleyin:

# Step 1: Move node_modules into the nodejs directory
mkdir nodejs
mv node_modules ./nodejs

# Step 2: Archive the directory
zip -ry nodejs.zip nodejs

# Step 3: Publish the archive as a layer
s cli fc3 layer publish \
  --layer-name myNodeLibLayer \
  --code /code/nodejs.zip \
  --compatible-runtime nodejs16,nodejs14,nodejs12,nodejs10,custom,custom.debian10 \
  --region cn-hangzhou \
  -a default

Komut, katman ARN'sini aşağıdaki gibi çıktılar:

395da10bf789aa49dd035db01bab****#myNodeLibLayer#1

Katman yayınlandıktan sonra:

  1. Yeni katman sürümüne referans vermek için işlev yapılandırmanızı güncelleyin.

  2. Yerel /nodejs dizinini ve arşivi silin:

    rm -rf nodejs nodejs.zip
  3. Güncellenmiş işlevi dağıtın.

Katman oluşturma ve referans verme talimatları için bkz. Özel katman oluşturma ve Özel katman yapılandırma.

PHP

PHP için yükleme süreci Python ve Node.js ile aynı deseni takip eder. Fark, katman dizinindedir: PHP, /python veya /nodejs yerine /opt/php kullanır.

Çalışma zamanına göre katman dizinlerinin tam listesi için bkz. Özel katman oluşturma konusundaki "Her çalışma zamanında eklenebilen dizinler" bölümü.

Özel çalışma zamanları

  • Özel çalışma zamanınız Python, Node.js veya PHP kullanıyorsa: Yukarıdaki ilgili bölümlerdeki adımları izleyin.

  • Özel çalışma zamanınız Java veya Go gibi derlenen bir dil kullanıyorsa: Bağımlılıklarınızı derlemek ve paketlemek için WebIDE tarafından sağlanan SDK'yı kullanın.