仅在执行另一个函数后才激活 azure 函数?
Activate azure function only after another function have executed?
我有一个 PostStartupSetup
azure 函数,每次启动时都会 运行
[FunctionName(nameof(PostStartupSetup))]
public async Task PostStartupSetup([TimerTrigger("0 0 0 29 2 6", RunOnStartup = true)]TimerInfo t)
{
// do startup tasks
}
然后我有一些 ServiceBusTrigger
的功能依赖于我的 PostStartupSetup
才能完成。是否有可能以某种方式仅在我的 PostStartupSetup
函数执行完毕后才激活这些函数?
没有直接的方法,但这里有几个选项:
- 如果您是专用计划,您可以使用 Durable Functions,将一些共享变量设置为 true/false 以指示“启动”是否完成,如果未完成,则所有其他功能将继续失败并显示适当的错误代码。
- 如果您有消费计划,那么您可以使用一些便宜的选项(例如存储表)来跨函数共享状态并执行相同的操作。
- 您可以真正禁用(未测试)功能并动态启用它们:
- Disable all your functions 部署中。
- 内部
PostStartupSetup()
enable all functions 通过更新应用程序设置以启用所有功能。
我有一个 PostStartupSetup
azure 函数,每次启动时都会 运行
[FunctionName(nameof(PostStartupSetup))]
public async Task PostStartupSetup([TimerTrigger("0 0 0 29 2 6", RunOnStartup = true)]TimerInfo t)
{
// do startup tasks
}
然后我有一些 ServiceBusTrigger
的功能依赖于我的 PostStartupSetup
才能完成。是否有可能以某种方式仅在我的 PostStartupSetup
函数执行完毕后才激活这些函数?
没有直接的方法,但这里有几个选项:
- 如果您是专用计划,您可以使用 Durable Functions,将一些共享变量设置为 true/false 以指示“启动”是否完成,如果未完成,则所有其他功能将继续失败并显示适当的错误代码。
- 如果您有消费计划,那么您可以使用一些便宜的选项(例如存储表)来跨函数共享状态并执行相同的操作。
- 您可以真正禁用(未测试)功能并动态启用它们:
- Disable all your functions 部署中。
- 内部
PostStartupSetup()
enable all functions 通过更新应用程序设置以启用所有功能。