masaaki fee99a0974 Merged PR 583: [ライセンスアラート改善]AzureAdB2Cアクセスの効率化
## 概要
[Task3023: [ライセンスアラート改善]AzureAdB2Cアクセスの効率化](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/3023)

ADB2Cからユーザーを取得する際に、Redisによるキャッシュ保存・キャッシュからの取得を行う処理を実装しました。

## レビューポイント
処理の妥当性などを全体的にお願いします。

## UIの変更
なし

## 動作確認状況
ローカルで動作確認済み

## 補足
なし
2023-12-01 01:39:18 +00:00

30 lines
856 B
TypeScript

import { app, InvocationContext, Timer } from "@azure/functions";
import * as dotenv from "dotenv";
import { promisify } from "util";
import { createRedisClient } from "../redis/redis";
export async function redisTimerTest(
myTimer: Timer,
context: InvocationContext
): Promise<void> {
context.log("---Timer function processed request.");
dotenv.config({ path: ".env" });
dotenv.config({ path: ".env.local", override: true });
const redisClient = createRedisClient();
const setAsync = promisify(redisClient.set).bind(redisClient);
const getAsync = promisify(redisClient.get).bind(redisClient);
await setAsync("foo", "bar");
const value = await getAsync("foo");
context.log(`value=${value}`); // returns 'bar'
await redisClient.quit;
}
app.timer("redisTimerTest", {
schedule: "*/30 * * * * *",
handler: redisTimerTest,
});