Todos os produtos
Search
Central de documentação

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

Última atualização: Jun 29, 2026

O WebIDE opera no mesmo ambiente de execução do Function Compute. Por isso, os pacotes instalados no terminal do WebIDE apresentam comportamento idêntico durante a execução. Este tópico explica como instalar e empacotar dependências de terceiros para runtimes Python, Node.js, PHP e personalizados.

Escolha uma abordagem de instalação

Para cada runtime, instale as dependências de duas formas:

Abordagem

Quando usar

Diretório

Instalar diretamente no diretório de código

Dependências pequenas e implantações frequentes

/code

Empacotar dependências como uma camada

Dependências grandes e alterações pouco frequentes

Específico do runtime (consulte as seções abaixo)

Conjuntos extensos de dependências aumentam a latência de inicialização a frio, o tamanho do pacote de código da função e o tempo de implantação. Empacotá-las como uma camada separa o ciclo de vida das dependências do código da função. Assim, atualize a camada apenas quando houver mudança nas dependências, e não a cada implantação.

Pré-requisitos

Antes de começar, verifique se você possui:

  • Uma função criada no Function Compute com uma instância do WebIDE em execução

  • Acesso ao terminal do WebIDE

Python

Os runtimes Python incluem um conjunto de módulos Python integrados. Para qualquer módulo fora dessa lista, instale-o pelo terminal do WebIDE.

Instalar diretamente em /code

Execute o comando a seguir no diretório /code do terminal do WebIDE:

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

Instalar pacotes diretamente em /code os coloca junto ao código da sua função. Com muitos pacotes instalados, localizar o arquivo index.py no gerenciador de recursos torna-se difícil, pois o diretório fica preenchido com arquivos e pastas de pacotes. Se isso for um problema, prefira instalar em um diretório separado.

Instalar em um diretório separado

Para manter o diretório de código organizado, instale os pacotes em um subdiretório /python e defina uma variável de ambiente para que o runtime possa encontrá-los:

mkdir python
cd python
pip install -t . flask

Adicione a variável de ambiente PYTHONPATH=/code/python à configuração da sua função.

Empacotar como uma camada

Caso o conjunto de dependências seja grande, empacote o diretório /python como uma camada. Essa prática reduz o tamanho do pacote de código da função e acelera as implantações subsequentes.

Ao utilizar /python como diretório da camada, o Function Compute o adiciona automaticamente ao caminho de busca do Python. Não é necessário definir PYTHONPATH=/opt/python .

Execute os comandos a seguir em sequência:

# 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

O comando retorna o ARN da camada, por exemplo:

395da10bf789aa49dd035db01bab****#myPythonLibLayer#1

Após publicar a camada:

  1. Atualize a configuração da função para referenciar a nova versão da camada.

  2. Exclua o diretório local /python e o arquivo compactado para reduzir o tamanho do pacote de código da função:

    rm -rf python python.zip
  3. Implante a função atualizada.

Para obter instruções sobre como criar e referenciar camadas, consulte Criar uma camada personalizada e Configurar uma camada personalizada.

Node.js

Os runtimes Node.js incluem um conjunto de módulos Node.js integrados. Para qualquer módulo ausente nessa lista, instale-o via terminal do WebIDE.

Instalar diretamente em /code

Certifique-se de que o arquivo package.json exista em /code e execute:

npm install

Empacotar como uma camada

Se o volume de dependências for elevado, mova o diretório node_modules para dentro de um diretório /nodejs e empacote-o como uma camada:

# 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

O comando gera o ARN da camada como saída, por exemplo:

395da10bf789aa49dd035db01bab****#myNodeLibLayer#1

Após publicar a camada:

  1. Atualize a configuração da função para referenciar a nova versão da camada.

  2. Exclua o diretório local /nodejs e o arquivo compactado:

    rm -rf nodejs nodejs.zip
  3. Implante a função atualizada.

Para mais detalhes sobre criação e referência de camadas, consulte Criar uma camada personalizada e Configurar uma camada personalizada.

PHP

O processo de instalação para PHP segue o mesmo padrão de Python e Node.js. A diferença reside no diretório da camada: o PHP utiliza /opt/php em vez de /python ou /nodejs.

Para consultar a lista completa de diretórios de camada por runtime, acesse a seção "Directories that can be added in each runtime" em Criar uma camada personalizada.

Runtimes personalizados

  • Caso seu runtime personalizado utilize Python, Node.js ou PHP: Siga as etapas descritas nas seções correspondentes acima.

  • Se o runtime personalizado usar uma linguagem compilada, como Java ou Go: Utilize o SDK fornecido pelo WebIDE para compilar e empacotar suas dependências.