Todos os produtos
Search
Central de documentação

Function Compute:Como referenciar dependências em uma camada em um custom runtime

Última atualização: Jun 29, 2026

Em um custom runtime, o Function Compute monta o conteúdo da camada no diretório /opt, mas não adiciona esse caminho automaticamente ao caminho de busca de módulos do runtime. Diferentemente dos runtimes gerenciados, os custom runtimes não possuem configuração de caminho integrada. Por isso, registre o diretório da camada na linguagem do seu runtime por meio de uma variável de ambiente ou de uma chamada de caminho no código.

Esta página aborda Python, Node.js, Java e PHP.

Como funciona

Ao anexar uma camada a uma função, o Function Compute extrai o arquivo .zip da camada para /opt. O subdiretório resultante depende da forma como você empacotou a camada:

  • Se você seguiu o guia Crie uma camada personalizada, o conteúdo fica no subdiretório padrão da sua linguagem (por exemplo, /opt/python).

  • Se você utilizou um nome de diretório personalizado (como my-layer-code), o conteúdo fica em /opt/my-layer-code.

Use o caminho real do diretório ao configurar variáveis de ambiente ou defina o caminho de busca no código.

Referência rápida

Linguagem

Método de configuração

Valor

Python

Variável de ambiente PYTHONPATH

/opt/python

Python

sys.path.append no arquivo do handler

/opt/python

Node.js

Variável de ambiente NODE_PATH

/opt/nodejs/node_modules

Java

-classpath no comando de inicialização

/code/:/opt/java/lib/*

Java

Variável de ambiente CLASSPATH

/code/:/opt/java/lib/*

PHP

set_include_path no arquivo do handler

/opt/php

Python

Escolha um dos métodos a seguir.

Método 1: Defina a variável de ambiente PYTHONPATH

Adicione o diretório da camada à variável de ambiente PYTHONPATH da sua função:

PYTHONPATH=/opt/python

Método 2: Modifique o arquivo do handler

Adicione as linhas a seguir no início do arquivo do handler, antes de qualquer importação da camada:

import sys
sys.path.append('/opt/python')
# import <PackageFromLayer>

Para ver um exemplo funcional, consulte python-demo-with-lib-in-layer.

Node.js

Defina a variável de ambiente NODE_PATH na sua função:

NODE_PATH=/opt/nodejs/node_modules

Para ver um exemplo funcional, consulte nodejs-demo-with-lib-in-layer.

Java

Escolha um dos métodos a seguir.

Método 1: Usar -classpath no comando de inicialização

Adicione /opt/java/lib/* ao parâmetro -classpath no seu comando de inicialização:

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

Método 2: Defina a variável de ambiente CLASSPATH

Adicione o diretório da camada à variável de ambiente CLASSPATH da sua função:

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

Se você usar CLASSPATH, não use o parâmetro -jar para iniciar sua aplicação. Quando o Java executa com -jar, a JVM lê o ponto de entrada do MANIFEST.MF e ignora todas as configurações de classpath definidas em variáveis de ambiente ou argumentos de linha de comando. Por exemplo, o comando a seguir não carrega as dependências da camada:

java -classpath ${CLASSPATH} -jar yourJarExe.jar

PHP

Adicione as linhas a seguir no início do arquivo do handler, antes de qualquer importação da camada:

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