使用 javascript UDA 创建 ASA 作业的 ARM 模板

ARM template to create ASA job with javascript UDAs

我有一个使用大量 javascript UDF 和 UDA 的流分析作业。我希望能够使用 Azure 资源管理器模板进行部署。

https://docs.microsoft.com/en-us/rest/api/streamanalytics/stream-analytics-function 上的文档似乎相当过时并且只描述了 Scalar 函数,我认为这意味着 UDF。

是否有说明如何使用 ARM 模板创建 UDA 的文档或示例?

如果您已经使用 UDA 创建了作业,请使用 PowerShell 命令 Get-AzureRMStreamAnalyticsJob 检索作业定义,您将了解 UDA 是如何定义的。

https://docs.microsoft.com/en-us/azure/stream-analytics/stream-analytics-monitor-and-manage-jobs-use-powershell

对于 UDA,您应该在模板的函数部分使用 "type":"Aggregate"。下面的例子。

{
  "properties": {
    "type": "Aggregate",  //Aggregate type.
    "properties": {
      "inputs": [ // accumulate input parameter(s).
        {
          "dataType": "any", // Input data type
        }
      ],
      "output": { // Output
        "dataType": "any" // Output data type
      },
      "binding": {
        "type": "Microsoft.StreamAnalytics/JavascriptUdf",
        "properties": { // Aggregate definition
          "script": "function main() {
                          this.init = function () {
                              this.state = 0;
                          }

                          this.accumulate = function (value, timestamp) {
                              this.state += value;
                          }

                          this.computeResult = function () {
                              return this.state;
                          }
                     }"
        }
      }
    }
  }
}

微软文档参考:https://docs.microsoft.com/en-us/rest/api/streamanalytics/stream-analytics-aggregate