View a markdown version of this page

Applicazioni di esempio di Web Function - AWS Lambda

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Applicazioni di esempio di Web Function

Ogni esempio viene utilizzato index.js come file di ingresso e viene ascoltato sull'host e sulla porta daAWS_LAMBDA_HTTP_ENDPOINT. Package dell'applicazione con le sue dipendenze di produzione e distribuiscila da un oggetto Amazon S3 con versione.

La tabella seguente elenca ogni esempio e cosa puoi imparare da esso.

Project N.E.M.O. Usalo per imparare
Minima Express applicazione Avvia un server HTTP conExpress.
Hono API e file statici Servi percorsi API e file statici conHono.
Server-sent eventi Trasmetti in streaming gli eventi inviati dal server e interrompi il lavoro quando il client si disconnette.
Multi-Region percorso di verifica Restituisci la regione di servizio durante la convalida del routing multiregionale.

Minima Express applicazione

Questo esempio basato sul framework è un'alternativa allo starter a dipendenza zero creato da. --hello-world Per la distribuzione iniziale, vedere. Implementa e testa la tua funzione Web

Installare Express:

npm init -y npm install express

Creaindex.js:

const express = require('express'); const app = express(); const [host, port] = (process.env.AWS_LAMBDA_HTTP_ENDPOINT || 'localhost:3000').split(':'); app.get('/', (request, response) => { response.send('Hello from Lambda Web Functions!'); }); app.listen(port, host);

Per indicazioni sull'imballaggio, vederePackage e distribuzione di un campione.

Hono API e file statici

Installare le dipendenze:

npm init -y npm pkg set type=module npm install hono @hono/node-server

Creaindex.js:

import { serve } from '@hono/node-server'; import { serveStatic } from '@hono/node-server/serve-static'; import { Hono } from 'hono'; import { secureHeaders } from 'hono/secure-headers'; const app = new Hono(); app.use(secureHeaders()); app.use('/static/*', serveStatic({ root: './' })); app.get('/api/health', (context) => context.json({ status: 'ok' })); app.notFound((context) => context.json({ error: 'not found' }, 404)); const [host, port] = (process.env.AWS_LAMBDA_HTTP_ENDPOINT || 'localhost:3000').split(':'); serve({ fetch: app.fetch, port: Number(port), hostname: host });

Inserisci i file statici in una static directory e includi la directory nel pacchetto di distribuzione.

Server-sent eventi

Aggiungi il seguente percorso a un'Expressapplicazione:

app.get('/events', (request, response) => { response.setHeader('Content-Type', 'text/event-stream'); response.setHeader('Cache-Control', 'no-cache'); response.flushHeaders(); const interval = setInterval(() => { response.write(`data: ${JSON.stringify({ time: Date.now() })}\n\n`); }, 1000); response.on('close', () => { clearInterval(interval); }); });

La richiesta rimane attiva fino a quando l'applicazione non termina la risposta o il client non si disconnette. Imposta il timeout di revisione per la durata massima dello streaming. WebSocketgli aggiornamenti non sono supportati.

Multi-Region percorso di verifica

Aggiungi un percorso che restituisca la regione in cui è stata eseguita la richiesta:

app.get('/region', (request, response) => { response.json({ region: process.env.AWS_REGION, requestId: request.get('lambda-web-request-id') }); });

Chiama il percorso dalle sedi dei client più importanti per la tua applicazione. Per un MultiRegion endpoint, la regione selezionata proviene dal routing basato sulla latenza e può cambiare. Non utilizzare l'ambiente di esecuzione come archivio di sessioni.

Package e distribuzione di un campione

npm ci --omit=dev zip -r function.zip index.js package.json package-lock.json node_modules aws s3 cp function.zip s3://amzn-s3-demo-bucket/samples/function.zip

Include altri file utilizzati dall'esempio selezionato, ad esempio la static directory nell'Honoesempio. Per creare una revisione che faccia riferimento all'oggetto caricato, consultate Distribuzione del codice Web Function da Amazon S3 eGestione delle revisioni delle funzioni Web. Per il deploy flusso di lavoro di livello superiore, consulta. Creazione di una funzione Web (AWS CLI) Dopo aver completato la revisione Active e averla effettuata dall'endpoint, invia una richiesta al dominio dell'endpoint per confermare la risposta del campione. Per una copertura dei test oltre a questo test di fumo, vedi. Test delle funzioni Web Lambda