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

时间:2017-11-07 14:11:36

标签: azure-resource-manager azure-stream-analytics arm-template

我有一个流分析工作,它使用了许多javascript UDF和UDA。我希望能够使用Azure资源管理器模板部署它。

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

是否有任何文档或示例显示如何使用ARM模板创建UDA?

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:1)

对于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;
                          }
                     }"
        }
      }
    }
  }
}

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