如何动态地将参数传递给 Azure 中带有以太坊连接器的逻辑应用程序调用的函数?

How to dynamically pass an argument to a function being called by a logic app with ethereum connector in Azure?

我正在使用 Azure 区块链服务,并且我制作了一个逻辑应用程序,以便在特定触发器发生时调用智能合约内的函数。 在创建逻辑应用程序时,它会询问我要调用该函数的参数。 现在,我不想硬编码这个论点。

就像我的网站一样,有多种产品可供选择,无论用户选择哪种产品,都应该以产品名称作为参数调用该函数。

这里有两个选择

  1. HTTP 触发函数并使用 POST 请求传递参数
  2. 队列触发函数并使用 Azure 存储队列传递参数

在第一种情况下,您只需创建 HTTP 触发器

正文配置为

{
    "type": "object",
    "properties": {
        "product": {
            "type": "string"
        }
    }
}

这意味着逻辑应用请求需要 JSON 这样的

{
    "product" : "abc"
}

这样您就可以使用触发器

中的产品

并使用它作为使用 HTTP 操作的函数调用的参数

或 Azure 函数操作

如果您想了解有关逻辑应用程序的更多信息,请随时查看我的视频介绍 https://youtu.be/ZvsOzji_8ow

如果您担心逻辑应用程序的可公开访问的 webhook,请使用带有 Azure AD 身份验证的 Azure 存储队列或使用 API 管理覆盖逻辑应用程序,如此处所述 https://marczak.io/posts/2019/08/secure-logic-app-with-api-management/