Utiliser le proxy de développement avec JavaScript Azure Functions
Si vous générez Azure Functions à l’aide de JavaScript et que vous souhaitez utiliser le proxy de développement, suivez les instructions générales relatives à l’utilisation du proxy de développement avec des applications Node.js.
Pour pouvoir facilement basculer entre l’utilisation du proxy de développement dans le développement et ne pas l’utiliser en production, vous pouvez configurer le proxy dans votre application Azure Functions à l’aide de variables d’environnement. Modifiez le local.settings.json
fichier pour inclure la variable d’environnement HTTPS_PROXY
. En outre, désactivez la validation de certificat pour permettre à l’application Azure Functions d’approuver le certificat auto-signé utilisé par le proxy de développement.
{
"IsEncrypted": false,
"Values": {
"FUNCTIONS_WORKER_RUNTIME": "node",
"AzureWebJobsFeatureFlags": "EnableWorkerIndexing",
"AzureWebJobsStorage": "UseDevelopmentStorage=true",
"HTTP_PROXY": "http://127.0.0.1:8000",
"NODE_TLS_REJECT_UNAUTHORIZED": "0"
}
}
Dans votre application Azure Functions, utilisez l’objet process.env
pour lire les variables d’environnement et configurer le proxy pour vos requêtes HTTP.
import { app, HttpRequest, HttpResponseInit, InvocationContext } from "@azure/functions";
import fetch from 'node-fetch';
import { HttpsProxyAgent } from 'https-proxy-agent';
export async function MyFnHttpTrigger(request: HttpRequest, context: InvocationContext): Promise<HttpResponseInit> {
const options = process.env.HTTP_PROXY ? { agent: new HttpsProxyAgent(process.env.HTTP_PROXY) } : {};
const resp = await fetch('https://jsonplaceholder.typicode.com/posts', options);
const data = await resp.json();
return {
status: 200,
jsonBody: data
};
};
app.http('MyFnHttpTrigger', {
methods: ['GET', 'POST'],
authLevel: 'anonymous',
handler: MyFnHttpTrigger
});