Функция Azure не сообщает о сбое в сетку событий

@azuresupport #azTechHelp У меня есть тема сетки событий с подписчиком функции Azure, который имеет выходную привязку CosmosDB. Вот функция

export default async (context, eventGridEvent) => {

    try {

        context.log(`Saving Asset`);
        context.log(`subject : ${eventGridEvent.subject}`)
        context.log(`eventType : ${eventGridEvent.eventType}`)

        var importObject = eventGridEvent.data;

        if(!importObject.asset.id)
        {
            throw new Error("Supplied Asset does not have an ID specified, aborting!");
        }
        else
        {
            context.log(`Successfully exported asset(${eventGridEvent.data.objectId}) to Cosmos`);
            context.bindings.outputDocument = importObject.asset;
        }

    }
    catch (err) {
        context.log.error(err);
        context.log.error(`Error Processing Event Grid Object : ${eventGridEvent}`);
        throw(err);
    }
};

Логика в этой функции (как правило) никогда не выйдет из строя, однако привязка к базе данных Cosmos может быть неудачной (и происходит сбой из-за ограничения пропускной способности). Так что функция не работает, но это нормально, наша Сетка Событий будет повторяться, верно? Неправильно!

Изображение: сбои функции Azure

Проблема в том, что Event Grid не регистрирует ошибку и, в свою очередь, никогда не повторяет событие.

Изображение: EG Logs

Теперь мы можем закодировать функцию, чтобы сделать CROS Cosmos внутри функции и вызвать ошибку, или, возможно, создать нашу собственную привязку, но мы хотели бы придерживаться встроенной привязки Cosmos.

Может кто-то в Azure взглянуть пожалуйста?

1 ответ

Решение

Вероятно, это связано с тем, что как только событие достигло функции Azure, оно считалось доставленным успешно, а результат выполнения функции не способствовал ответу http.

Это была известная проблема, исправленная в последнем выпуске расширений сетки событий, я бы сказал, что вы должны получить ее через неделю или две, если нет, откройте проблему здесь.

Другие вопросы по тегам