Skip to main content

Functions Framework Quick Start

This article introduces using the @cloudbase/functions-framework framework for development, which provides a more concise functional programming experience.

Prerequisites

Before you begin, make sure you have:

  • Have Node.js installed (v18 or later versions recommended)
  • Have a Tencent Cloud account with CloudBase service activated
  • Have basic knowledge of Node.js development

Step 1: Create a Project Directory

Create a new directory named my-web-function and go to the directory:

mkdir my-web-function
cd my-web-function

Step 2: Initialize Project Configuration

`package.json File:

{
"name": "my-web-function",
"version": "1.0.0",
"main": "index.js",
"dependencies": {
"@cloudbase/functions-framework": "^1.14.0"
}
}

Step 3: Write Sample Code

`index.js File:

exports.main = async function(event, context) {
const { method, path, headers, body } = event;

// Handle different HTTP methods
switch (method) {
case 'GET':
return {
statusCode: 200,
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
message: 'Hello from Web Function',
path,
timestamp: new Date().toISOString()
})
};

case 'POST':
return {
statusCode: 201,
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
message: 'Data received',
data: JSON.parse(body || '{}')
})
};

default:
return {
statusCode: 405,
body: JSON.stringify({ error: 'Method not allowed' })
};
}
};

Step 4: Write a Startup Script

Create the scf_bootstrap file:

#!/bin/bash
node node_modules/@cloudbase/functions-framework/bin/tcb-ff.js --port=9000 --logDirname=/tmp/logs --interceptOutput=false --extendedContextKey=X-Cloudbase-Context
Note

The scf_bootstrap file must have executable permissions. On Linux/macOS systems, use the chmod +x scf_bootstrap command to set the permissions.

Step 5: Deploy to CloudBase HTTP cloud function

Prepare Deployment Files

Ensure your project directory contains the following files:

my-web-function/
|-- scf_bootstrap
├── package.json
└── index.js

Deploy via the Console

  1. Log in to the CloudBase Console
  2. Select your environment and go to the [Cloud Function] page
  3. Click [New Cloud Function]
  4. Select [HTTP cloud function]
  5. Fill in the function name (for example: helloworld)
  6. Select runtime: Node.js 18.x
  7. Select the [Local upload] method
  8. Package the project files into a zip file and upload it
  9. Click [OK] to complete the deployment

Deploy via CLI

For more details, please refer to CLI Deploy HTTP Function

Package the Project

If you need to package manually, you can use the following command:

# Create zip package
zip -r helloworld.zip package.json index.js

Step 7: Access Your Application

After successful deployment, you can refer to Web Client Invocation to configure custom domain access for

Next Steps