首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >宇宙上的Azure函数触发器更改但不运行

宇宙上的Azure函数触发器更改但不运行
EN

Stack Overflow用户
提问于 2021-06-23 09:04:10
回答 1查看 63关注 0票数 1

我设置了两个天蓝色函数:

  1. Nodejs函数触发CosmosDbCollection并使用该函数特有的租约前缀进行租赁。这个很好用。我可以看到它在日志流中触发,我可以看到它在运行(我可以从函数中看到我自己的日志,我还可以看到它对宇宙项
  2. 函数(称为parseProduct)进行输出更改,该函数还有一个cosmos触发器和另一个租约前缀。这一个触发,但不运行。日志流如下所示(在更新了cosmos中的项之后):

代码语言:javascript
运行
复制
    2021-06-23T07:24:19Z   [Information]   Executing 'Functions.parseProduct' (Reason='New changes on collection products at .....)
    2021-06-23T07:24:19Z   [Verbose]   Sending invocation id:...
    2021-06-23T07:24:19Z   [Verbose]   Posting invocation id:... on workerId:...

然后什么都没发生。它不运行任何代码,也不会产生任何错误。我们的function.json看起来如下:

代码语言:javascript
运行
复制
{
  "scriptFile" : "../product-parser-0.0.0-SNAPSHOT.jar",
  "entryPoint" : "ourPackageName.productparser.Function.run",
  "bindings" : [ {
    "type" : "cosmosDBTrigger",
    "direction" : "in",
    "name" : "productDocuments",
    "maxItemsPerInvocation" : 1,
    "leaseCollectionName" : "leases",
    "databaseName" : "product-management",
    "leaseCollectionPrefix" : "parse-product",
    "connectionStringSetting" : "OUR_CONNECTION_STRING",
    "createLeaseCollectionIfNotExists" : true,
    "collectionName" : "products"
  }, {
    "type" : "cosmosDB",
    "direction" : "out",
    "name" : "productDocumentOut",
    "databaseName" : "product-management",
    "connectionStringSetting" : "OUR_CONNECTION_STRING",
    "collectionName" : "products"
  } ]
}

hosts.json文件如下所示

代码语言:javascript
运行
复制
{
  "version": "2.0",
  "extensionBundle": {
    "id": "Microsoft.Azure.Functions.ExtensionBundle",
    "version": "[1.*, 2.0.0)"
  },
  "functions": [
    "parseProduct"
  ],
  "extensions": {
    "cosmosDB": {
      "connectionMode": "Gateway",
      "protocol": "Https"
    }
  }
}

该函数运行在消费计划Linux上,并通过ARM模板进行部署。

EN

回答 1

Stack Overflow用户

发布于 2021-06-23 11:38:39

我们搞清楚了。该函数是从ARM模板部署的,在Linux版本中有一个错误。我们有过

代码语言:javascript
运行
复制
"linux_fx_version": "JAVA|11",

但本来应该是

代码语言:javascript
运行
复制
"linuxFxVersion": "JAVA|11",

但是,如果ARM模板验证或函数中出现了一个错误,那就太好了。我们只是偶然发现的。

此错误触发了函数,但没有实际运行。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68096782

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档