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

Criação de uma função de HTTP

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

Este recurso é suportado apenas pelo FunctionGraph v2.

Visão geral

As funções de HTTP são projetadas para otimizar os serviços da web. Você pode enviar solicitações de HTTP para os URL para acionar a execução da função. As funções de HTTP suportam apenas gatilhos de APIG e APIC.

  • As funções de 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. O endereço IP vinculado é 127.0.0.1.
  • O arquivo bootstrap é o arquivo de inicialização da função de HTTP. A função de HTTP só pode ler bootstrap como o nome do arquivo de inicialização. Se o nome do arquivo não for bootstrap, o serviço não poderá ser iniciado. Para obter mais informações, consulte o exemplo do arquivo bootstrap.
  • As funções de HTTP suportam várias linguagens de programação.
  • Esta seção usa Java como exemplo. Para usar outro tempo de execução, basta alterar o caminho do tempo de execução. O caminho do pacote de código não precisa ser alterado. Para os caminhos de outros tempos de execução, veja Tabela 1.

Pré-requisitos

  1. Você preparou um pacote Java JAR.
  2. Você preparou um arquivo de bootstrap como o arquivo de inicialização da função de HTTP.

    Example

    O conteúdo do arquivo bootstrap é o seguinte:

    /opt/function/runtime/java8/rtsp/jre/bin/java -jar -Dfile.encoding=utf-8 /opt/function/code/gsondemo-0.0.1-SNAPSHOT.jar
    • /opt/function/runtime/java8/rtsp/jre/bin/java: Caminho Java.
    • /opt/function/code: caminho do pacote de código de função.
    • gsondemo-0.0.1-SNAPSHOT.jar: exemplo de pacote JAR. O caminho do serviço é /user/get.

    Para usar outro tempo de execução, altere o caminho do tempo de execução referindo-se a Tabela 1. O caminho do pacote de código não precisa ser alterado.

    Tabela 1 Caminhos para diferentes tempos de execução

    Tempo de execução

    Caminho

    Java 8

    /opt/function/runtime/java8/rtsp/jre/bin/java

    Java 11

    /opt/function/runtime/java11/rtsp/jre/bin/java

    Node.js 6

    /opt/function/runtime/nodejs6.10/rtsp/nodejs/bin/node

    Node.js 8

    /opt/function/runtime/nodejs8.10/rtsp/nodejs/bin/node

    Node.js 10

    /opt/function/runtime/nodejs10.16/rtsp/nodejs/bin/node

    Node.js 12

    /opt/function/runtime/nodejs12.13/rtsp/nodejs/bin/node

    Node.js 14

    /opt/function/runtime/nodejs14.18/rtsp/nodejs/bin/node

    Python 2.7

    /opt/function/runtime/python2.7/rtsp/python/bin/python

    Python 3.6

    /opt/function/runtime/python3.6/rtsp/python/bin/python3

    Python 3.9

    /opt/function/runtime/python3.9/rtsp/python/bin/python3

    PHP 7.3

    /opt/function/runtime/php7.3/rtsp/php/bin/php

Procedimento

  1. Crie uma função.
    1. Crie uma função de HTTP. Para mais detalhes, veja Criação de uma função de evento. Preste atenção especial aos seguintes parâmetros:
      • FunctionGraph Version: FunctionGraph v2
      • Function Type: Função de HTTP
    2. Carregue o código. Por exemplo, carregue um arquivo ZIP do OBS. Após a conclusão do upload, clique em Deploy.

      Compacte o pacote JAR e o arquivo de bootstrap e escolha Upload > OBS ZIP.

      Figura 1 Carregamento de um arquivo ZIP do OBS
  2. Crie um gatilho.

    As funções de HTTP suportam apenas gatilhos de APIG e APIC.

    1. Na página de detalhes da função, escolha Configuration > Trigger e clique em Create Trigger.
    2. Configure as informações do gatilho. A seguir, descrevemos como criar um gatilho de APIG. Para mais detalhes, veja Uso de um gatilho de APIG (dedicado).

      Figura 2 Criação de um gatilho

      Neste exemplo, Security Authentication é ajustada a None. Você precisa selecionar um modo de autenticação com base nos requisitos do site.

      • App: Autenticação AppKey e AppSecret. Este modo é de alta segurança e é recomendado.
      • IAM: Autenticação IAM. Esse modo concede permissões de acesso apenas a usuários do IAM e é de segurança média.
      • None: Sem autenticação. Este modo concede permissões de acesso a todos os usuários.
    3. Quando a configuração estiver concluída, clique em OK. Depois que o gatilho for criado, API_test_http será gerado no console do API Gateway.
  3. Publique a API.
    1. Na página de guia Triggers, clique em um nome de API para ir para a página de visão geral da API.
      Figura 3 Gatilho de APIG
    2. Clique em Edit no canto superior direito. A página Basic Information é exibida.
      Figura 4 Edição de uma API
    3. Clique em Next. Na página Define API Request exibida, altere Path para /user/get e clique em Finish.
      Figura 5 Definição de uma solicitação de API
    4. Clique em Publish API. Na página exibida, clique em Publish.
  4. Acionar uma função.
    1. Acesse o console do FunctionGraph, selecione Functions > Function List no painel de navegação e clique na função HTTP criada para acessar a página de detalhes.
    2. Escolha Configuration > Trigger, copie a URL e acesse-a usando um navegador.
      Figura 6 Cópia do URL
    3. Visualize o resultado da solicitação.
      Figura 7 Visualização do resultado da solicitação

Cabeçalhos de Solicitação de Função Comum

A tabela a seguir lista os campos de cabeçalho de solicitação padrão de uma função HTTP.

Tabela 2 Campos de cabeçalho de solicitação padrão

Campo

Descrição

X-CFF-Request-Id

ID da solicitação atual

X-CFF-Memory

Memória alocada

X-CFF-Timeout

Duração do timeout da função

X-CFF-Func-Version

Versão da função

X-CFF-Func-Name

Nome da função

X-CFF-Project-Id

ProjectId

X-CFF-Package

Aplicativo ao qual a função pertence

X-CFF-Region

Região atual

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