【问题标题】:Webhook event not received from Autodesk Forge API未从 Autodesk Forge API 收到 Webhook 事件
【发布时间】:2021-02-17 20:29:00
【问题描述】:

我正在使用 Autodesk Forge API 将一系列模型从各种格式转换为 SVF 文件,并尝试使用 Webhooks API 来监听发布到模型衍生服务的作业的转换完成事件。

我已经成功创建了 webhook,并通过调用 get Hooks API 端点验证了它的存在。以下是我收到的基本回复。

        {
            "hookId": "<my-hook-id>",
            "tenant": "<my tennant>",
            "callbackUrl": "<ngrok url>",
            "createdBy": "...",
            "event": "extraction.finished",
            "createdDate": "2020-11-05T05:48:39.016+0000",
            "system": "derivative",
            "creatorType": "Application",
            "status": "active",
            "scope": {
                "workflow": "<my-workflow-key>"
            },
            "urn": "<webhook-urn>",
            "__self__": "..."
        }

在我的 ngrok 端点,我有一个基本的 Node ExpressJS 服务器正在运行。服务器设置为响应我指定的回调 url 中的所有方法。我还通过邮递员验证了我的回调 url 有效且处于活动状态,成功接收到 POST 请求并返回有效的 2XX 响应。

然后,我将如下所示的翻译作业发布到 Model Derivative API,该作业成功启动并处理该作业。我可以通过 Model Derivative API 手动调用来检查作业的状态来验证这一点,但是我的 webhook 回调端点从未收到任何转换完成事件的通知。

{
    "input": {
        "urn": "<Input Urn>"
    },
    "output": {
        "destination": {
            "region": "us"
        },
        "formats": [
            {
                "type": "svf",
                "views": ["3d"]
            }
        ],
        "misc": {
            "wokflow": "<my-workflow-key>"
        }
    }
}

关于为什么 webhook 事件似乎从未被触发,或者我可以通过任何其他方式查看是否尝试从 Autodesks/Forges 端触发 webhook 事件,是否有任何明显的我可能遗漏的信息?

【问题讨论】:

    标签: autodesk-forge autodesk-model-derivative autodesk-data-management


    【解决方案1】:

    作业负载中似乎有一个错字:wokflow 应该是 workflow

    请注意,您还可以使用 https://webhook.site 等在线工具测试传入的 webhook 请求。

    【讨论】:

    • 好发现!我已经重新部署了所有内容并纠正了错字,但不幸的是仍然没有成功。我还使用 webhook.site 部署了一个额外的 webhook - 但这里也没有收到任何事件。
    • 除了错字之外,您在此处发布的其他内容似乎还可以,应该可以正常工作。我最近添加了对在我们的Forge extension for Visual Studio Code 中翻译对象时指定“工作流 ID”的支持。你能试一试吗?创建一个新的 webhook,并使用 Translate Object (Custom) 命令开始新的翻译,提供您的工作流 ID。
    • 我刚刚尝试了您的 VS Code 扩展,现在一切正常!在我提供的 webhook 与来自 VS Code 的 webhook 之间,我可以看到的唯一明显区别是“workflowAttributes”参数 - 我在原始 webhook 中省略了该参数 - 但包含在新的 webhook 中。不知道这是否是主要问题,或者我的结果是否有其他问题......
    • workflowAttributes 是可选的,所以这不应该是问题。在创建 webhook 和提交作业时,尝试使用您发送到 Forge 的确切请求(仅排除不记名令牌)更新您的问题。也许我们可以在那里找到更多的东西。
    猜你喜欢
    • 2021-02-21
    • 1970-01-01
    • 2016-11-02
    • 1970-01-01
    • 2020-07-01
    • 2018-01-28
    • 2017-01-12
    • 1970-01-01
    • 2021-09-24
    相关资源
    最近更新 更多