Updated on 2026-01-13 GMT+08:00

Creating an HTTP Function

Overview

HTTP functions are designed to optimize web services and support multiple programming languages. You can send HTTP requests to URLs to trigger function execution.

Common Function Request Headers

The following table lists the default request header fields of an HTTP function.

Table 1 Default request header fields

Field

Description

X-CFF-Request-Id

ID of the current request

X-CFF-Memory

Allocated memory

X-CFF-Timeout

Function timeout duration

X-CFF-Func-Version

Function version

X-CFF-Func-Name

Function name

X-CFF-Project-Id

Project ID

X-CFF-Package

App to which the function belongs

X-CFF-Region

Current region

Constraints

  • HTTP functions do not distinguish between programming languages. The handler must be set in the bootstrap file. You can directly write the startup command, and allow access over port 8000. The bound IP address is 127.0.0.1.
  • The HTTP response body cannot exceed 6 MB.

    A valid HTTP function response must contain body(String), statusCode(int), headers(Map), and isBase64Encoded(boolean). By default, the response is encoded using Base64. The default value of isBase64Encoded is true. The same applies to other frameworks.

  • The bootstrap file is the startup file of the HTTP function. The HTTP function can only read bootstrap as the startup file name. If the file name is not bootstrap, the service cannot be started. For more information, see the bootstrap file example.

    If you run the JAR package, you are advised to add the JVM parameter -Dfile.encoding=utf-8 to bootstrap. Otherwise, garbled Chinese characters may be displayed.

  • Only APIG and APIC triggers can be created for HTTP functions. For details, see Using an APIG Trigger.
  • HTTP functions cannot be executed for a long time, invoked asynchronously, or retried.
  • When a function initiates an HTTP request, the request IP address is dynamic for private network access and fixed for public network access. For more information, contact technical support.

Creating and Configuring an HTTP Function

For details about how to build a FunctionGraph HTTP function using Go, see Building a FunctionGraph HTTP Function Using Go.

The following uses an example to describe how to create and configure an HTTP function.

Before calling an API, ensure that the network of your service system can communicate with the API access domain name or address.

  • If the service system and the HTTP functions are in the same VPC, the API can be directly accessed.
  • If the service system and the HTTP functions are in different VPCs of a region, connect them using a peering connection. For details, see .
  • If the service system and the HTTP functions are in different VPCs of different regions, create a cloud connection and load the two VPCs to connect them.
  • If the service system and the HTTP functions are connected over the public network, ensure that the HTTP function has been bound with an EIP.