Alibaba Cloud Function Compute
Alibaba Cloud Function Compute ist ein vollständig verwalteter, ereignisgesteuerter Computing-Dienst. Mit Function Compute kannst du dich auf das Schreiben und Hochladen von Code konzentrieren, ohne Infrastruktur wie Server verwalten zu müssen.
Diese Anleitung verwendet den Drittanbieter-Adapter rwv/hono-alibaba-cloud-fc3-adapter, um Hono auf Alibaba Cloud Function Compute auszuführen.
1. Einrichtung
mkdir my-app
cd my-app
npm i hono hono-alibaba-cloud-fc3-adapter
npm i -D @serverless-devs/s esbuild
mkdir src
touch src/index.tsmkdir my-app
cd my-app
yarn add hono hono-alibaba-cloud-fc3-adapter
yarn add -D @serverless-devs/s esbuild
mkdir src
touch src/index.tsmkdir my-app
cd my-app
pnpm add hono hono-alibaba-cloud-fc3-adapter
pnpm add -D @serverless-devs/s esbuild
mkdir src
touch src/index.tsmkdir my-app
cd my-app
bun add hono hono-alibaba-cloud-fc3-adapter
bun add -D esbuild @serverless-devs/s
mkdir src
touch src/index.ts2. Hello World
Bearbeite src/index.ts.
import { Hono } from 'hono'
import { handle } from 'hono-alibaba-cloud-fc3-adapter'
const app = new Hono()
app.get('/', (c) => c.text('Hello Hono!'))
export const handler = handle(app)3. serverless-devs einrichten
serverless-devs ist eine quelloffene und offene Serverless-Entwicklungsplattform, die Entwicklern eine leistungsfähige Werkzeugkette bietet. Über diese Plattform können Entwickler nicht nur Serverless-Produkte mehrerer Clouds mit einem Klick ausprobieren und Serverless-Projekte schnell bereitstellen, sondern auch Projekte über den gesamten Lebenszyklus ihrer Serverless-Anwendungen verwalten. Außerdem lässt sich serverless devs einfach und schnell mit anderen Werkzeugen oder Plattformen verbinden, um die Effizienz von Entwicklung, Betrieb und Wartung weiter zu verbessern.
Füge die AccessKeyID und das AccessKeySecret für Alibaba Cloud hinzu.
npx s config add
# Please select a provider: Alibaba Cloud (alibaba)
# Input your AccessKeyID & AccessKeySecretBearbeite s.yaml.
edition: 3.0.0
name: my-app
access: 'default'
vars:
region: 'us-west-1'
resources:
my-app:
component: fc3
props:
region: ${vars.region}
functionName: 'my-app'
description: 'Hello World by Hono'
runtime: 'nodejs20'
code: ./dist
handler: index.handler
memorySize: 1024
timeout: 300Bearbeite den Abschnitt scripts in package.json:
{
"scripts": {
"build": "esbuild --bundle --outfile=./dist/index.js --platform=node --target=node20 ./src/index.ts",
"deploy": "s deploy -y"
}
}4. Bereitstellung
Führe abschließend den folgenden Befehl zur Bereitstellung aus:
npm run build # Compile the TypeScript code to JavaScript
npm run deploy # Deploy the function to Alibaba Cloud Function Compute