我想在本地开发我的Azure功能应用程序,然后将其发布到Azure门户。 我正在使用Azure Functions Core Tools命令行,我的所有功能都在Node.js中 目前,我设法在本地下载我的功能并使用命令获取其设置:
[10.12.2017 13:03:47] Found the following functions:
[10.12.2017 13:03:47] Host.Functions.HttpTriggerJS1
[10.12.2017 13:03:47]
[10.12.2017 13:03:47] Job host started
[10.12.2017 13:03:47] The following 1 functions are in error:
[10.12.2017 13:03:47] EventHubTriggerJS1: The binding type 'eventHubTrigger' is not registered. Please ensure the type is correct and the binding extension is installed.
之后我的local.settings.json具有正确的设置值。当我进行任何更改时,我也能够成功地将它们发布到Azure门户。
问题是我的应用程序中有两个函数,一个是Http Triggered,第二个是EventHub触发。 当我尝试在本地运行主机:
curl --request POST -H "Content-Type:application/json" --data '{"input":"sample queue data"}' http://localhost:7071/admin/functions/EventHubTriggerJS1
我从控制台获得以下输出:
http://localhost:7071/api/HttpTriggerJS1
当我尝试使用curl:
在本地运行此EventHubTriggerJS1函数时{% load staticfiles %}
<!DOCTYPE html>
<html>
<head>
<title style="font-weight:bold; font-family:cursive">Font Maker </title>
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap-theme.min.css">
<link href='//fonts.googleapis.com/css?family=Lobster&subset=latin,latin-ext' rel='stylesheet' type='text/css'>
<link href='ank1.css' rel='stylesheet' type='text/css'>
<link rel="stylesheet" href="{% static 'css/blog.css' %}">
</head>
<div class="embed-responsive embed-responsive-4by3">
<body>
<div class="page-header">
<h1><a href="/"style="font-weight:bold; font-family:cursive">FoNt MaKeR</a></h1>
</div>
<video autoplay loop muted="background">
<source src="//player.vimeo.com/external/158148793.hd.mp4?s=8e8741dbee251d5c35a759718d4b0976fbf38b6f&profile_id=119&oauth2_token_id=57447761"type="video/mp4"></source>
</video>
<div class="content container">
<div class="row">
<div class="col-md-8">
{% block content %}
{% endblock %}
</div>
</div>
</div>
</div>
</body>
</div>
</html>
然后没有任何反应,所以我猜这是触发器注册的问题。 HttpTriggerJS1运行完美,我可以在
下访问它FROM keymetrics/pm2:8
那么,您是否知道配置中可能存在哪些问题? BTW是否可以在本地运行并连接到门户中的远程EventHub?
答案 0 :(得分:0)
我无法在Version 1.0运行时重现您的错误。
我在2.0中重现了错误。我相信2.0还不支持事件中心, https://github.com/Azure/azure-webjobs-sdk-script/wiki/Azure-Functions-runtime-2.0-known-issues#functional-gaps
尝试安装扩展程序
func extensions install --package Microsoft.Azure.WebJobs.Extensions.EventHubs -v 3.0.0-beta4
您能否提供有关您的功能的更多详细信息,以及您创建它们的步骤?
HttpTriggerJS1是在本地创建的,然后按照https://docs.microsoft.com/en-us/azure/azure-functions/functions-run-local中列出的步骤发布到门户网站?
在门户网站中创建了EventHubTriggerJS1?在相同的功能应用程序?
不要在同一个功能应用程序中将本地开发与门户开发混合使用。从本地项目创建和发布函数时,不应尝试在门户中维护或修改项目代码。