问题标签 [azure-function-app]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
399 浏览

python - 使用 Python 一次性初始化的 Azure 函数应用

我正在使用带有 Python 的 Azure 函数应用程序。我有两打功能应用程序,它们都使用 Postgres DB 和 Custom Vision。所有功能应用程序都设置为 HttpTriggers。现在,当一个函数被触发时,一个新的数据库处理程序(或自定义视觉处理程序)对象被创建、使用并在函数应用程序调用完成时终止。

在每个传入的请求上实例化一个新对象似乎会适得其反。有没有办法实例化一次共享对象,然后在调用它们时将它们传递给函数?

0 投票
1 回答
939 浏览

visual-studio - Azure Function v2 Web Deploy 遇到与服务器的连接问题,不得不终止连接

尝试从 Visual Studio 发布 V2 函数时,出现发布错误:

发布遇到错误。发布失败。

来自输出窗口的消息是:

Web 部署任务失败。(Web Deploy 遇到与服务器的连接问题,必须终止连接。如果问题仍然存在,请联系您的服务器管理员。Web Deploy 遇到与服务器的连接问题,必须终止连接。如果问题仍然存在,请联系您的服务器管理员. 文件意外结束。以下元素未关闭:结果。第 1 行,位置 550。

诊断日志的内容是:

06/05/2019 11:32:37 System.AggregateException:发生一个或多个错误。---> System.Exception:发布失败。--- 内部异常堆栈跟踪结束 --- 在 System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions) 在 System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancelToken) 在 Microsoft.Publish.Framework。 Model.DefaultPublishSteps.<>c__DisplayClass26_0.b__2() at System.Threading.Tasks.Task`1.InnerInvoke() at System.Threading.Tasks.Task.Execute() --- 堆栈跟踪从以前的异常位置结束抛出 --- 在 Microsoft.Publish 的 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)的 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务)。

我创建了一个新的 HTTP 函数,在本地对其进行了测试并尝试发布它。

有人知道怎么修这个东西吗?

0 投票
1 回答
1314 浏览

azure-functions - Azure Functions Premium 计划超时

Azure Functions高级计划是否有 10 分钟的最大超时,与消费计划的应用方式相同吗?是否可以配置更大的超时?

在应用服务计划上使用 Azure Functions 时,我可以通过将函数应用配置为“始终打开”并使用 host.json 上的设置“functionTimeout”来获得基本上任何超时的函数。

但是,在高级计划的情况下,此设置似乎被忽略,而配置菜单上没有“始终开启”选项。

虽然高级计划是一个很大的改进,但我希望可以选择将 functionTimeout 配置为超过 10 分钟。

0 投票
1 回答
447 浏览

azure-functions - 从 Azure Function 应用中的文本中删除 HTML 标记

我正在编写一个简单的 Azure 函数应用程序,它应该接收包含 HTML 标记的字符串,删除 HTML 标记并返回“净化”文本。

代码会很简单,比如

据我在 SO 上看到的,使用 RegEx 来做这件事是一个很大的不可行,但我能找到的其他解决方案都是基于 DOM(处理document对象,比如添加一个包含req.body内容的 DIV它并从中获取干净的文本。

但是在我的 Azure 函数中,我无法使用 DOM(因为没有浏览器执行请求。

那么我的选择是什么?

0 投票
1 回答
227 浏览

azure - 无法在 Azure 的“创建事件订阅”中选择资源

我可以从事件网格的“创建事件订阅”窗口的下拉列表中选择以下内容:(1) 主题类型 (2) 订阅 (3) 资源组。

在我选择资源组后,“资源”的下拉菜单开始加载,但是其中没有填充任何内容。我在此资源组中有多个存储帐户。为什么这些资源没有显示在下拉列表中?在选择资源之前,我无法创建事件订阅。有没有其他方法可以在“高级编辑器”中引用资源?我正在关注Microsoft 的本教程,但我遇到了资源未填充在下拉列表中的障碍。

在此处输入图像描述

0 投票
1 回答
184 浏览

azure - 解密 Azure Function App 操作机密

我正在寻找 Azure 函数应用程序的每个函数的操作端点列表,特别是需要传入调用函数的密码。我在 SO 中尝试了很多当前的答案,但似乎都只适用于使用Files作为秘密存储类型的 Function App。

我们需要使用 Blob 存储,这也是 V2 函数应用程序中的默认设置。

我真正想要的是从 Azure 门户中检索到的函数名称之后的代码片段,我可以自己制造所有其他片段。

例如https://mytestfunapp-onazure-apidev03.azurewebsites.net/api/AcceptQuote?code=XYZABCYkVeEj8zkabgSUTRsCm7za4jj2OLIQWnbvFRZ6ZIiiB3RNFg==

我可以看到机密存储在 Azure Blob 存储中的位置,因为无论如何我们在脚本中创建所有资源时都需要对其进行配置。

我真正要寻找的是如何解密存储在文件中的秘密。我不在乎解决方案可能是用什么编程语言或脚本编写的,我会使用它,或者将它转换为我们可以使用的另一种语言。

这是 Blob 存储中存储的秘密的片段,它只是一个 JSON 文件。

在此处输入图像描述

我想知道是否有人对这个问题有一些经验,并且可以帮助我。

0 投票
2 回答
189 浏览

azure - 如何查找/解决函数应用吞吐量问题的根源

我有一个由 HttpRequest 触发的 Azure 函数应用。函数应用程序读取请求,将它的一个副本扔到存储表中以进行保管,并将另一个副本发送到队列以供系统的另一个元素进一步处理。我有一个运行 ApacheBench 测试的客户端,该测试报告每秒处理大约 148 个请求。这种处理速度不足以满足我们的预期负载。

我对函数式应用程序的理解是,它应该根据需要生成尽可能多的实例来处理发送给它的负载。但是这个函数应用程序的扩展速度可能不够快,因为它每秒只能处理 148 个请求。我需要它每秒处理至少 200 个请求。

不过,我不是 100% 确定问题出在我头上。在分析我的函数应用程序的性能时,我发现了很多 429 错误。我在网上发现的内容,特别是https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-manager-request-limits表明这些错误可能是由于发送的请求过多一个IP。一天内的几次 ApacheBench 10K 和 20K 请求负载测试会导致 429 错误吗?

但是,如果不是这样,如果问题出在我的函数应用程序上,我如何才能强制我的函数应用程序更快地生成更多实例?我认为这是每秒获得更多吞吐量的方法。但我在使用功能应用程序方面仍然很陌生,所以如果有不同的方式,我非常欢迎您的意见。

也许公共预览版的高级应用服务计划可以处理更多的吞吐量?我已经考虑过切换到那个并运行一个快速测试,但不确定我是否能够切换回来?

也许 EventHub 是我需要调查的东西?这是否可以通过捕获更多请求并保持它们直到函数应用程序可以接受和处理它们来增加我的明显吞吐量?

提前感谢您提供的任何帮助。

0 投票
1 回答
1022 浏览

azure - Azure Function App - 尝试从 v2 工具发布到 v1 函数应用

我已经创建并成功测试了一个函数应用程序。由于遗留库,它需要 .net 框架,并设置为使用运行时版本 ~1。使用发布配置文件直接从 Visual Studio 2017 发布正常工作。但是,尝试使用 Azure CLI 发布让我很伤心。

在此处遵循 MS 文章: https ://docs.microsoft.com/en-us/azure/azure-functions/functions-create-first-azure-function-azure-cli

  • 天蓝色-cli v2.0.64
  • 天蓝色功能核心工具@2.7.1158 (npm)
  • .NET 框架 4.8 开发包

如何降级我的工具?

0 投票
3 回答
2240 浏览

azure - Azure Function App - 如何获取 Invoke Url 和代码

由于遗留库,我创建并成功测试了一个需要 .net 框架的函数应用程序,并设置为使用运行时版本 ~1。我正在寻找 Invoke Url 和代码,以帮助自动化部署。

按照这篇MS 文章并使用azure-functions-core-tools v2 ( npm i -g azure-functions-core-tools@^2),我可以在使用选项调用发布时看到Invoke Url--verbose

但是,由于 .net Framework 要求和运行时版本 ~1,我们必须使用azure-functions-core-tools v1 ( npm i -g azure-functions-core-tools@^1)(请参阅此处)。从 func azure functionapp 执行任何命令不包括 Invoke Url。该--verbose选项不可用。

相同的list-functions

我还没有尝试过ARM。

有没有办法在运行时版本 ~1 上获取函数应用程序的调用 URL ?

0 投票
2 回答
697 浏览

c# - 为什么我的 EF Core DbContext 不受 DI 约束?

我有一个 Azure 函数应用程序,其函数在 blob 触发器上运行。我已经证明这个函数可以通过 Azure 门户运行,并且可以毫无问题地响应这个 blob 触发器......或者至少它确实如此。

现在我添加了使用 EF Core (2.2.4) 的功能,在本地调试和发布到 Azure 时都会出现以下错误:

Microsoft.Azure.WebJobs.Host:索引方法“ParseThings”出错。Microsoft.Azure.WebJobs.Host:无法将参数“上下文”绑定到 AvastusContext 类型。确保绑定支持参数类型。如果您正在使用绑定扩展(例如 Azure 存储、ServiceBus、计时器等),请确保您已在启动代码中调用了扩展的注册方法(例如 builder.AddAzureStorage()、builder.AddServiceBus( )、builder.AddTimers() 等)。

我有一个按照 Azure Function App 文档hereStartup指示的课程,并按照他们的示例进行操作,除了以下行代替他们配置的示例服务:

我的功能的开始:

我可以确认该AddDbContext行在调试器被击中,所以大概这里幕后发生了一些错误,或者我正在做一些非常愚蠢的事情。

我尝试过但没有奏效的事情包括:

  • 添加.BuildServiceProvider(true)AddDbContext
  • 使用WebJobsStartup而不是最近发布的FunctionsStartup
  • 降级到 .NET Core 2.2.0
  • 将 Function 类和Run方法从静态更改为实例
  • 修复注入的不正确的命名空间AvastusContext

还值得注意的是,这个 Function App 项目中还有另外两个函数似乎没有任何严重的问题,而且我已经能够使用与 EF Core 类似的方法来实现依赖注入工作(ASP.NET此解决方案中的核心 MVC)项目。

提前感谢您提供的任何帮助!

PS 我觉得非常奇怪的是,在互联网上没有任何描述这种情况的 .NET Core、Azure Function Apps 和 EF Core 的更高版本,这让我相信这可能是一个简单的错误。希望不会。