Azure Functions
Azure Functions est une plateforme serverless de Microsoft Azure. Vous pouvez exécuter votre code en réponse à des événements ; la plateforme gère automatiquement les ressources de calcul sous-jacentes.
Hono n'a pas été conçu initialement pour Azure Functions, mais l'adaptateur Azure Functions lui permet également de s'y exécuter.
Il fonctionne avec Azure Functions V4 sous Node.js 18 ou une version ultérieure.
1. Installation de la CLI
Pour créer une fonction Azure, vous devez d'abord installer Azure Functions Core Tools.
Sur macOS
brew tap azure/functions
brew install azure-functions-core-tools@4Pour les autres systèmes d'exploitation, suivez ce lien :
2. Configuration
Créez un projet TypeScript Node.js V4 dans le dossier courant.
func init --typescriptModifiez le préfixe de route par défaut de l'hôte. Ajoutez cette propriété à l'objet JSON racine de host.json :
"extensions": {
"http": {
"routePrefix": ""
}
}Information
Le préfixe de route par défaut d'Azure Functions est /api. Si vous ne le modifiez pas comme ci-dessus, veillez à commencer toutes vos routes Hono par /api.
Vous pouvez maintenant installer Hono et l'adaptateur Azure Functions avec :
npm i @marplex/hono-azurefunc-adapter honoyarn add @marplex/hono-azurefunc-adapter honopnpm add @marplex/hono-azurefunc-adapter honobun add @marplex/hono-azurefunc-adapter hono3. Bonjour le monde
Créez src/app.ts :
// src/app.ts
import { Hono } from 'hono'
const app = new Hono()
app.get('/', (c) => c.text('Hello Azure Functions!'))
export default appCréez src/functions/httpTrigger.ts :
// src/functions/httpTrigger.ts
import { app } from '@azure/functions'
import { azureHonoHandler } from '@marplex/hono-azurefunc-adapter'
import honoApp from '../app'
app.http('httpTrigger', {
methods: [
//Add all your supported HTTP methods here
'GET',
'POST',
'DELETE',
'PUT',
],
authLevel: 'anonymous',
route: '{*proxy}',
handler: azureHonoHandler(honoApp.fetch),
})4. Exécution
Démarrez le serveur de développement localement. Ensuite, ouvrez http://localhost:7071 dans votre navigateur web.
npm run startyarn startpnpm startbun run start5. Déploiement
Information
Avant de pouvoir déployer sur Azure, vous devez créer certaines ressources dans votre infrastructure cloud. Consultez la documentation Microsoft sur la création des ressources Azure nécessaires à votre fonction.
Compilez le projet pour le déploiement :
npm run buildyarn buildpnpm buildbun run buildDéployez votre projet dans l'application de fonctions sur Azure Cloud. Remplacez <YourFunctionAppName> par le nom de votre application.
func azure functionapp publish <YourFunctionAppName>