Function Compute oferece runtimes nativos para as linguagens de programação mais populares, como Node.js, Python, PHP, Java, C# e Go, permitindo que você se concentre na lógica de negócio sem se preocupar com configurações adicionais. Em determinados cenários, porém, pode ser necessário utilizar linguagens menos comuns ou versões específicas de uma linguagem para atender a requisitos de negócio particulares. Nesses casos, crie um custom runtime para estabelecer um ambiente personalizado. Por exemplo, você pode usar linguagens como Rust ou especificar uma versão do Node.js, como o Node.js 16, no seu custom runtime.
Recomendamos o uso de web functions com um custom runtime. Essa combinação permite configure rapidamente diversos frameworks de aplicações web populares, facilitando a criação e a implantação de aplicações e serviços baseados em HTTP. Configure o comando de inicialização e a porta de escuta do seu custom runtime conforme necessário — a concorrência em nível de instância também é suportada.
Ambientes de container
A tabela a seguir lista os ambientes de container suportados pelos custom runtimes.
|
Runtime |
Identificador |
Sistema operacional |
Arquitetura |
|
Custom runtime (Debian 12) (em preview público) |
custom.debian12 |
Debian 12 |
x86_64 |
|
Custom runtime (Debian 11) |
custom.debian11 |
Debian 11 |
x86_64 |
|
Custom runtime (Debian 10) |
custom.debian10 |
Debian 10 |
x86_64 |
|
Custom runtime (Debian 9) |
custom |
Debian 9 |
x86_64 |
O Custom runtime (Debian 12) está disponível nas seguintes regiões: China (Hangzhou), China (Qingdao), China (Beijing), China (Zhangjiakou), China (Hohhot) e China (Chengdu).
Funções criadas após 00:00:00 de 1º de dezembro de 2021
Permissões de usuário: as funções devem ser executadas por usuários root.
Permissões de diretório: os dados podem ser gravados em qualquer diretório.
Localização do código no container: /code.
Funções criadas antes de 00:00:00 de 1º de dezembro de 2021
Permissões de usuário: as funções devem ser executadas por usuários não root.
Permissões de diretório: os dados só podem ser gravados no diretório / tmp.
Localização do código no container: /code.
Informações do ambiente
Dependências nativas
As dependências nativas de um custom runtime são as mesmas de um runtime integrado. Para mais informações, consulte os seguintes tópicos:
Ao criar uma web function com um custom runtime, o sistema configura automaticamente a camada pública correspondente para a linguagem de programação utilizada. Por exemplo, ao criar uma web function em Python, a camada Flask é configurada automaticamente.
Custom runtime (Debian 12)
A tabela a seguir apresenta a linguagem de programação nativa do custom runtime (Debian 12). Escreva o código da sua função diretamente nessa linguagem, sem precisar instale interpretadores de terceiros ou configure camadas.
Em algumas linguagens de programação, é necessário configure variáveis de ambiente. Veja a tabela abaixo para mais detalhes.
|
Linguagem de programação |
Diretório de instalação |
Versão |
Variável de ambiente |
|
Python 3.11 |
/usr/bin/python3 |
3.11.2 |
Nenhuma configuração adicional necessária |
Custom runtime (Debian 11)
A tabela a seguir apresenta a linguagem de programação nativa do custom runtime (Debian 11). Escreva o código da sua função diretamente nessa linguagem, sem precisar instale interpretadores de terceiros ou configure camadas.
Em algumas linguagens de programação, é necessário configure variáveis de ambiente. Veja a tabela abaixo para mais detalhes.
|
Linguagem de programação |
Diretório de instalação |
Versão |
Variável de ambiente |
|
Python 3.12 |
/var/fc/lang/python3.12 |
3.12.4 |
PATH=/var/fc/lang/python3.12/bin:$PATH |
Custom runtime (Debian 10)
A tabela a seguir lista as linguagens de programação nativas do custom runtime (Debian 10). Escreva o código da sua função diretamente nessas linguagens, sem precisar instale interpretadores de terceiros ou configure camadas.
Em algumas linguagens de programação, é necessário configure variáveis de ambiente. Veja a tabela abaixo para mais detalhes.
|
Linguagem de programação |
Diretório de instalação |
Versão |
Variável de ambiente |
|
Node.js 20 |
/var/fc/lang/nodejs20 |
v20.10.0 |
PATH=/var/fc/lang/nodejs20/bin:$PATH |
|
Node.js 18 |
/var/fc/lang/nodejs18 |
v18.19.0 |
PATH=/var/fc/lang/nodejs18/bin:$PATH |
|
Python 3.10 |
/var/fc/lang/python3.10 |
3,10.9 |
PATH=/var/fc/lang/python3.10/bin:$PATH |
|
Python 2.7 |
Diretório de instalação padrão |
2.7.16 |
N/A |
Custom runtime (Debian 9)
Os itens a seguir listam as linguagens de programação nativas do custom runtime (Debian 9). Escreva o código da sua função diretamente nessas linguagens, sem precisar instale interpretadores de terceiros ou configure camadas.
Python 3.7.4 (versão padrão do Python)
Node.js 10.16.2
OpenJDK 1.8.0
Ruby 2.7
Nginx 1.10.3
-
PHP 7.4.12
Usar uma linguagem de programação não nativa
Recomendamos o uso de uma camada pública para escrever código de função em uma linguagem de programação não nativa. Para mais informações, consulte Add a public layer in the console.
Para crie um custom runtime com uma linguagem de programação não nativa, empacote o interpretador ou runtime dessa linguagem junto com o arquivo de código e implante o pacote no Function Compute. Por exemplo, para crie um runtime Node.js 16, baixe o interpretador necessário, empacote-o com o código e implante o pacote no Function Compute. Siga as etapas abaixo:
-
Baixe o
Node.jsna versão Linux de 64 bits para o diretório do pacote de código.wget http://mirrors.nju.edu.cn/nodejs/v16.14.2/node-v16.14.2-linux-x64.tar.gz -O node-v16.14.2-linux-x64.tar.gz && tar -zxvf node-v16.14.2-linux-x64.tar.gz && rm -rf node-v16.14.2-linux-x64.tar.gz -
Defina o comando de inicialização do
Node.jsno custom runtime.customRuntimeConfig: command: - /code/node-v16.14.2-linux-x64/bin/node args: - 'server.js' # You can also configure the following environment variable for your function: PATH=/code/node-v16.14.2-linux-x64/bin:/usr/local/bin/apache-maven/bin:/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/ruby/bin. # After the configuration is complete, you can use Node.js to start the HTTP server.
Instalar dependências
Para mais informações sobre como instale as dependências de cada linguagem de programação em um custom runtime, consulte os seguintes tópicos:
Também é possível usar camadas do Function Compute para instale dependências. Recomendamos o uso de uma camada pública ou a criação de uma camada de dependências online. Para mais informações, consulte os seguintes tópicos: