У меня есть файл данных объемом 64 МБ, к которому моя функция Azure должна будет повторно обращаться (100 раз). В идеале мне хотелось бы иметь статический экземпляр этого буферизованного файла в памяти, который я мог бы совместно использовать через вызовы функций в экземпляре приложения функции. Ниже приведен пример кода, который пытается добиться этого статического буфера в памяти (это мой первый удар по этой проблеме):
import { AzureFunction, Context } from '@azure/functions';
import { promises as fsPromises } from 'fs';
let buffer: Buffer;
const eventHubTrigger: AzureFunction = async function(context: Context, eventHubMessages: any[]): Promise<void> {
context.log(`Eventhub trigger function called for message array ${eventHubMessages}`);
if (!buffer) {
buffer = await fsPromises.readFile('myDataFile');
}
eventHubMessages.forEach((message, index) => {
// Manibulate message using buffered file
});
};
export default eventHubTrigger;
Это подводит меня к сути моего вопроса. Как загрузить файл в буфер в памяти в функции Azure?