是否可以在Azure静态Web应用程序中从另一个调用一个Azure函数



我正在开发Azure静态Web应用程序,在从静态Web应用的网站以外的来源调用Azure函数时遇到了一些困难。

例如,如果我有函数/api/FunctionA和另一个函数/api/FunctionB,我希望能够通过HTTP请求从FunctionA调用FunctionB

我可以在本地执行此操作,但尝试在生产中执行此操作会触发401未经授权的响应。我假设这与CORS有关,但我不确定是否可以在静态Web应用程序中手动配置CORS。有没有";官方的";或者通过HTTP请求从另一个函数调用一个函数的推荐方式?我知道耐用功能的功能链接,但耐用功能在静态Web应用程序中不受支持。即使他们是,对于我正在努力实现的目标来说,这也太过分了。如果有任何建议,我将不胜感激,谢谢!

请检查以下步骤是否有助于解决问题

我相信从另一个Azure函数调用一个Azure功能有三种方式:

  1. 向另一个函数的公共URL发送HTTP请求。

  2. 将消息放入Azure队列,并让其他Azure功能处理它。-当两个功能都在同一个Azure功能应用程序中时,这是我认为最好的方法。当我们用队列触发器定义第二个函数时,一旦一个对象进入队列,就会自动调用另一个函数,并且该对象会退出队列。

    请参阅此处了解更多信息。

  3. 使用耐用功能


如果可以在静态Web应用中手动配置CORS

默认情况下,静态网站不支持CORS,但CORS由Azure自动为Azure静态Web应用程序处理。

当您从Azure静态Web应用程序站点的静态页面调用函数端点时,默认情况下会为您设置所有CORS设置。

如果您需要在静态Web应用程序或HTTP函数中使用CORS设置Azure CDN,请参阅此处。

最新更新