当前位置: 首页 > 知识库问答 >
问题:

如何确定为什么一个Azure函数应用程序没有被webhook触发

师赤岩
2023-03-14

我有:

    null
    null
    null
https://<app_name>.azurewebsites.net/api/content?code=<api_key>
  • 允许的HTTP方法:getpost
  • 授权级别:函数
{
  "headers": {
    "Expect": "100-continue",
    "Host": "redacted",
    "X-Telligent-Webhook-Sender": "redacted",
    "Content-Length": "16908",
    "Content-Type": "application/json; charset=utf-8"
  },
  "body": {
    "events": [{
      "TypeId": "ec9da4f4-0703-4029-b01e-7ca9c9ed6c85",
      "DateOccurred": "2018-12-17T22:55:37.7846546Z",
      "EventData": {
        "ActorUserId": 9999,
        "ContentId": "redacted",
        "ContentTypeId": "redacted",
        "ForumReplyId": 9999,
        "ForumThreadId": 9999,
        "ForumId": 9999
      }
    }]
  }
}

我也用下面的测试代码尝试了相同的结果。它与软件公司提供的样例有效载荷数据更接近:

我所尝试的

{
  "events": [{
    "TypeId": "ec9da4f4-0703-4029-b01e-7ca9c9ed6c85",
    "DateOccurred": "2018-12-17T22:55:37.7846546Z",
    "EventData": {
      "ActorUserId": 9999,
      "ContentId": "redacted",
      "ContentTypeId": "redacted",
      "ForumReplyId": 9999,
      "ForumThreadId": 9999,
      "ForumId": 9999
    }
  }]
}
{
  "events": [
    {
      "TypeId": "407ad3bc-8269-493e-ac56-9127656527df",
      "DateOccurred": "2015-12-04T16:31:55.5383926Z",
      "EventData": {
        "ActorUserId": 2100,
        "ContentId": "4c792b81-6f09-4a45-be8c-476198ba47be"
      }
    },
    {
      "TypeId": "3b75c5b9-4705-4a97-93f5-a4941dc69bc9",
      "DateOccurred": "2015-12-04T16:48:03.7343926Z",
      "EventData": {
        "ActorUserId": 2100,
        "ContentId": "4c792b81-6f09-4a45-be8c-476198ba47be"
      }
    }
  ]
}

共有1个答案

寿阳华
2023-03-14

这就是我从Azure Alerts获得JSON文件的方法。

  1. 在服务器上安装Ruby
  2. 使用以下命令安装Sinatragem安装Sinatra
  3. 创建文件webhook.rb并粘贴bellow代码
require 'sinatra'

set :port, 80
set :bind, '0.0.0.0'

post '/event' do
  status 204 #successful request with no body content

  request.body.rewind
  request_payload = JSON.parse(request.body.read)

  #append the payload to a file
  File.open("events.txt", "a") do |f|
    f.puts(request_payload)
  end
end
 类似资料:
  • 我正在学习Java,正在使用java 8,spring 5.3.9和Apache Tomcat 9。我已经将我的jar文件添加到我的构建路径中的类路径中,将Apache Tomcat添加到我的服务器中,我的项目运行得非常好。现在我开始使用beans和xml文件,我遇到了一个问题。我的代码的一部分被触发,另一部分被忽略。 我有以下界面 FortuneService.java: 和一个快乐财富服务类:

  • 我有一个java应用程序,它在JTabbedPane上加载并显示一个applet。所以基本上GUI是: 小程序-- 我已经在JFrame类中放入了这一标准行: 下面是我在 JFrame 类中的方法,它应该在窗口关闭时调用: 然后,在我的Tabbed Pane类中,我有一个管理Applets的arrayList: 我循环遍历JPanels的ArrayList,如下所示: JPanel类中的stopG

  • 问题内容: 我读到每个应用程序都在自己的JVM中运行。为什么会这样呢?他们为什么不让一个JVM运行2个或更多应用程序? 我说的是通过公共静态void main(String [])方法启动的应用程序…) 问题答案: (我假设您正在谈论通过方法启动的应用程序…) 理论上,您可以在JVM中运行多个应用程序。实际上,它们可以以各种方式相互干扰。例如: JVM具有一组System.in/out/err,一

  • 微软选择不支持AppDomains有什么强有力的理由吗?网芯? AppDomains在构建长时间运行的服务器应用程序时特别有用,我们可能希望以一种优雅的方式更新服务器加载的程序集,而无需关闭服务器。 如果没有 AppDomains,我们将如何在长时间运行的服务器进程中替换程序集? 应用程序域还为我们提供了一种隔离服务器代码不同部分的方法。例如,自定义 Websocket 服务器可以在主应用程序域中

  • wanner测试spring boot(1.5.20)aop(最小代码) 类被aopped时, 请让我知道我错过了什么

  • 我已经创建了一个触发Azure功能的服务总线,并希望在应用程序洞察中记录自定义事件。 我只能看到该日志记录在跟踪中。但自定义事件和度量不记录到应用程序洞察中。知道会发生什么吗?