Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Computação
Elastic Cloud Server
Bare Metal Server
Auto Scaling
Image Management Service
Dedicated Host
FunctionGraph
Cloud Phone Host
Huawei Cloud EulerOS
Redes
Virtual Private Cloud
Elastic IP
Elastic Load Balance
NAT Gateway
Direct Connect
Virtual Private Network
VPC Endpoint
Cloud Connect
Enterprise Router
Enterprise Switch
Global Accelerator
Gerenciamento e governança
Cloud Eye
Identity and Access Management
Cloud Trace Service
Resource Formation Service
Tag Management Service
Log Tank Service
Config
Resource Access Manager
Simple Message Notification
Application Performance Management
Application Operations Management
Organizations
Optimization Advisor
Cloud Operations Center
Resource Governance Center
Migração
Server Migration Service
Object Storage Migration Service
Cloud Data Migration
Migration Center
Cloud Ecosystem
KooGallery
Partner Center
User Support
My Account
Billing Center
Cost Center
Resource Center
Enterprise Management
Service Tickets
HUAWEI CLOUD (International) FAQs
ICP Filing
Support Plans
My Credentials
Customer Operation Capabilities
Partner Support Plans
Professional Services
Análises
MapReduce Service
Data Lake Insight
CloudTable Service
Cloud Search Service
Data Lake Visualization
Data Ingestion Service
GaussDB(DWS)
DataArts Studio
IoT
IoT Device Access
Outros
Product Pricing Details
System Permissions
Console Quick Start
Common FAQs
Instructions for Associating with a HUAWEI CLOUD Partner
Message Center
Segurança e conformidade
Security Technologies and Applications
Web Application Firewall
Host Security Service
Cloud Firewall
SecMaster
Anti-DDoS Service
Data Encryption Workshop
Database Security Service
Cloud Bastion Host
Data Security Center
Cloud Certificate Manager
Situation Awareness
Managed Threat Detection
Blockchain
Blockchain Service
Serviços de mídia
Media Processing Center
Video On Demand
Live
SparkRTC
Armazenamento
Object Storage Service
Elastic Volume Service
Cloud Backup and Recovery
Cloud Server Backup Service
Storage Disaster Recovery Service
Scalable File Service
Volume Backup Service
Data Express Service
Dedicated Distributed Storage Service
Containers
Cloud Container Engine
SoftWare Repository for Container
Application Service Mesh
Ubiquitous Cloud Native Service
Cloud Container Instance
Bancos de dados
Relational Database Service
Document Database Service
Data Admin Service
Data Replication Service
GeminiDB
GaussDB
Distributed Database Middleware
Database and Application Migration UGO
TaurusDB
Middleware
Distributed Cache Service
API Gateway
Distributed Message Service for Kafka
Distributed Message Service for RabbitMQ
Distributed Message Service for RocketMQ
Cloud Service Engine
EventGrid
Dedicated Cloud
Dedicated Computing Cluster
Aplicações de negócios
ROMA Connect
Message & SMS
Domain Name Service
Edge Data Center Management
Meeting
AI
Face Recognition Service
Graph Engine Service
Content Moderation
Image Recognition
Data Lake Factory
Optical Character Recognition
ModelArts
ImageSearch
Conversational Bot Service
Speech Interaction Service
Huawei HiLens
Developer Tools
SDK Developer Guide
API Request Signing Guide
Terraform
Koo Command Line Interface
Distribuição de conteúdo e computação de borda
Content Delivery Network
Intelligent EdgeFabric
CloudPond
Soluções
SAP Cloud
High Performance Computing
Serviços para desenvolvedore
ServiceStage
CodeArts
CodeArts PerfTest
CodeArts Req
CodeArts Pipeline
CodeArts Build
CodeArts Deploy
CodeArts Artifact
CodeArts TestPlan
CodeArts Check
Cloud Application Engine
MacroVerse aPaaS
KooPhone
KooDrive
Central de ajuda/ FunctionGraph/ Guia de usuário/ Construção de uma função de FunctionGraph/ Implantação de uma função usando uma imagem de contêiner

Implantação de uma função usando uma imagem de contêiner

Atualizado em 2022-11-16 GMT+08:00

Visão geral

Você pode empacotar e fazer upload diretamente de imagens de contêiner. As imagens são carregadas e iniciadas pela plataforma e podem ser chamadas de maneira semelhante às funções HTTP. Ao contrário do modo de upload de código anterior, você pode usar um pacote de código personalizado, que é flexível e reduz os custos de migração. Você pode criar imagens personalizadas para funções de evento e HTTP.

Os seguintes recursos são suportados:
  • Downloading images

    As imagens são armazenadas no SWR e só podem ser baixadas por usuários com a permissão de SWR Admin. O FunctionGraph chamará a API do SWR para gerar e definir comandos de login temporários antes de criar instâncias.

  • Setting environment variables

    Configurações da encriptação e variáveis de ambiente são suportadas. Para mais detalhes, veja Configuração dos variáveis de ambiente.

  • Attaching external data disks

    Discos de dados externos podem ser anexados. Para mais detalhes, veja Configuração da montagem de disco.

  • Billing

    Você não será cobrado quando fizer o download de imagens ou esperar que as imagens estejam prontas.

  • Reserved instances

    Para obter detalhes, consulte a descrição sobre instâncias reservadas.

Os contêineres do usuário serão iniciados usando UID 1003 e GID 1003, que são os mesmos que outros tipos de funções.

Pré-requisitos

Você criou uma agência com as permissões de SWR Admin consultando Configuração das permissões de agência. As imagens são armazenadas no SWR, e somente os usuários com essa permissão podem chamar e extrair imagens.

Procedimento

  1. Efetue log-in no Console do FunctionGraph. No painel de navegação, escolha Functions > Function List.
  2. Na página Function List, clique em Create Function no canto superior direito.
  3. Selecione Use container image. Para mais detalhes, veja Tabela 1.
    Figura 1 Criação de uma função usando uma imagem de contêiner
    Tabela 1 Descrição do parâmetro

    Parâmetro

    Descrição

    *Function Type

    Selecione um tipo de função.

    • Funções de evento: acionadas por gatilhos.
    • Funções HTTP: acionadas assim que as solicitações HTTP são enviadas para os URL específicas.
      NOTA:
      • As funções HTTP não fazem distinção entre linguagens de programação. O manipulador deve ser definido no arquivo bootstrap. Você pode escrever diretamente o comando de inicialização e permitir o acesso pela porta 8000.
      • As funções HTTP suportam apenas gatilhos APIG e APIC.
      • Para obter detalhes sobre como usar funções HTTP, consulte Criação de uma função de HTTP.

    *Function Name

    Nome da função, que deve atender aos seguintes requisitos:

    • Consiste de 1 a 60 caracteres e pode conter letras, dígitos, hífens (-) e sublinhados (_).
    • Começa com uma letra e termina com uma letra ou dígito.

    *Enterprise Project

    Selecione um projeto empresarial criado e adicione a função a ele. Por padrão, default é selecionado.

    NOTA:

    Se o EPS não estiver ativado, esse parâmetro não estará disponível. Para obter detalhes, consulte Ativando a Função Projeto Corporativo.

    Container Image

    Insira uma URL de imagem, ou seja, o local da imagem do contêiner. Você pode clicar em View Image para exibir imagens privadas e compartilhadas.

    Imagem no SWR, por exemplo, swr.myhuaweicloud.com/my_group/my_image:latest.

    Container Image Override

    • CMD: comando de inicialização do container. Exemplo: /bin/sh. Se nenhum comando for especificado, o ponto de entrada ou o CMD na configuração da imagem serão usados. Insira um ou mais comandos separados por vírgulas (,).
    • Args: parâmetro de inicialização do container. Exemplo: -args,value1. Se nenhum argumento for especificado, CMD na configuração da imagem será usado. Insira um ou mais argumentos separados por vírgulas (,).
    • Working Dir: diretório de trabalho que um contêiner executa. Se nenhum diretório for especificado, o diretório na configuração da imagem será usado. O diretório deve começar com uma barra (/).
    • User ID: ID do usuário para executar a imagem. Se nenhum ID de usuário for especificado, o valor padrão 1003 será usado.
    • Group ID: ID do grupo de usuários. Se nenhum ID de grupo de usuários for especificado, o valor padrão 1003 será usado.

    Agency

    Selecione uma agência com permissões de SWR Admin. Para criar uma agência, consulte.

    • Command, Args, e Working dir podem conter até 5120 caracteres.
    • Quando uma função é executada pela primeira vez, a imagem é extraída do SWR e o contêiner é iniciado durante o início a frio da função, o que leva um certo período de tempo. Se não houver nenhuma imagem em um nó durante as partidas a frio subsequentes, uma imagem será extraída do SWR.
    • A imagem deve ser pública.
    • A porta de uma imagem de contêiner personalizada deve ser 8000.
    • O pacote de imagens não pode exceder 2 GB. Para um pacote maior, reduza a capacidade. Por exemplo, monte os dados de uma biblioteca de perguntas em um contêiner onde os dados foram carregados anteriormente por meio de um sistema de arquivos externo.
    • O FunctionGraph usa o LTS para coletar todos os logs que o contêiner envia para o console. Esses logs podem ser redirecionados e impressos no console por meio de saída padrão ou uma estrutura de log de código aberto. Os registros devem incluir a hora do sistema, o nome do componente, a linha de código e os principais dados, para facilitar a localização de falhas.

Código de exemplo

A seguir, NodeJS Express é usado como exemplo. Durante a inicialização da função, o FunctionGraph usa o método POST para acessar o caminho /init (opcional). Sempre que uma função é chamada, o FunctionGraph usa o método POST para acessar o caminho /invoke. A função obtém context de req.headers, obtém event de req.body e retorna estruturas de resposta HTTP como resultado.

const express = require('express');
const app = express();
const PORT = 8000;

app.post('/init', (req, res) => {
  res.send('Hello init\n');
});

app.post('/invoke', (req, res) => {
  res.send('Hello invoke\n');
});

app.listen(PORT, () => {
  console.log(`Listening on http://localhost:${PORT}`);
});

Diferenças entre imagens de contêiner, funções de evento e funções HTTP

Tabela 2 Diferenças entre imagens de contêiner, funções de evento e funções HTTP

Item de comparação

Função Evento

Função HTTP

Imagem do contentor

Idioma

Qualquer idioma

Qualquer idioma

Qualquer idioma

Modo de inicialização

Inicialização do processo

Inicialização do processo

Inicialização do container

Ambiente

Ambientes especificados

Ambientes especificados

Alta flexibilidade e personalização

Modo de conexão do FunctionGraph

Serve como um cliente HTTP

Serve como um servidor HTTP

Serve como um servidor HTTP

Modo de implantação de dependência

Camada

Camada

Na imagem

Latência de arranque a frio

Curto

Curto

Longitude

Usamos cookies para aprimorar nosso site e sua experiência. Ao continuar a navegar em nosso site, você aceita nossa política de cookies. Saiba mais

Feedback

Feedback

Feedback

0/500

Conteúdo selecionado

Envie o conteúdo selecionado com o feedback