Безопасно ли использовать статический класс C # в качестве средства обмена данными из одной функции Azure в другую? - PullRequest
0 голосов
/ 08 мая 2019

У меня есть две функции в плане функций Azure.Также включен статический класс с общедоступной статической строкой.Могу ли я использовать эту статическую строку как средство передачи данных из одной функции в другую?

Основная проблема, которую я имею, касается случаев.Если каждый триггер создает новую копию статического класса и его строкового содержимого, то я считаю, что это не должно быть проблемой.Так каждый ли триггер первой функции, вызывающей статический класс, создает для себя новую копию или он совместно используется различными клиентами одновременных функций?

Стоит ли искать альтернативный подход, такой как кэш Redis или что-то подобное?

Ответы [ 3 ]

1 голос
/ 09 мая 2019

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

Поддержание состояния вне функции является наилучшим подходом.

Я использовал Redis для того же и видел много улучшений производительности в моем приложении. Если у вас есть частое чтение / запись, Redis - лучший вариант, и вы должны заплатить выделенную сумму за экземпляр Redis.

Если запрос функции выполняется не часто или бюджет постоянен, вы также можете использовать «Таблицу хранилища Azure». вам не нужно платить выделенную сумму.

0 голосов
/ 09 мая 2019

Лучший способ добиться того, что вы пытаетесь сделать, - это использовать очереди с полезными нагрузками.

В основном одна функция помещает данные, которые вы хотите передать, в очередь.Другая функция имеет Queuetrigger, который при запуске показа сообщений будет запущен (возможность доступа к данным)

0 голосов
/ 08 мая 2019

Функции Azure предлагает альтернативу для создания функций с состоянием , называемых Durable Функции . Durable Functions является расширением среды выполнения Azure , которая позволяет определять рабочие процессы с сохранением состояния в коде.

Для получения дополнительной информации следуйте приведенным ниже документам.

https://docs.microsoft.com/en-us/dotnet/standard/serverless-architecture/durable-azure-functions https://docs.microsoft.com/en-us/azure/azure-functions/durable/durable-functions-overview

...