1

Azure 포털에서 Stream Analytics Job의 출력을 생성하는 단계에서 documentDB 데이터베이스 및 컬렉션을 만들 수 있습니다. 스트림 작업을 생성하고 ARM 템플릿을 사용하여 출력하는 동안 동일한 작업을 수행 할 수 있습니까?ARM 템플릿에서 documentDB 데이터베이스 및 계정을 만들 수 있습니까

포털에서와 같이 작업의 출력을 설정하면서 데이터베이스 및 콜렉션을 만들 수 있습니까? 예를 들어 ARM 템플릿을 사용하여 documentDB 계정을 자원으로 만 만들 수 있습니다.

답변

2

내 경험상 현재 ARM 템플릿에 documentDB 데이터베이스와 컬렉션을 생성하는 것은 지원되지 않습니다. Azure 팀과 확인하겠습니다. 의견이 있으면 여기에 게시 할 것입니다.

제 해결 방법은 REST API을 사용하여 해결할 수 있다는 것입니다. documentDB 데이터베이스와 컬렉션이 존재하면 documentDb 데이터베이스로 작업 출력을 만들고 ARM 템플릿을 통해 컬렉션을 생성 할 수 있습니다.

{ 
    "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json", 
    "contentVersion": "1.1.0.0", 
    "parameters": { 
    "databaseAccountName": { 

     "type": "string", 

     "metadata": { 

     "description": "The DocumentDB database account name." 

     } 

    }, 
     "dbname": { 

     "type": "string", 

     "metadata": { 

      "description": "The database name" 

     } 
     }, 
     "collectionname": { 

      "type": "string", 

      "metadata": { 

      "description": "collectionname" 

      } 

     }, 
      "streamAnalyticsJobName": { 
      "type": "string", 
      "minLength": 3, 
      "maxLength": 63, 
      "metadata": { 
       "description": "Stream Analytics Job Name, can contain alphanumeric characters and hypen and must be 3-63 characters long" 
      } 
      }, 
      "numberOfStreamingUnits": { 
      "type": "int", 
      "minValue": 1, 
      "maxValue": 48, 
      "allowedValues": [ 
       1, 
       3, 
       6, 
       12, 
       18, 
       24, 
       30, 
       36, 
       42, 
       48 
      ], 
      "metadata": { 
       "description": "Number of Streaming Units" 
      } 
      } 
     }, 
    "variables": { 

      "offerType": "Standard" 

     }, 
     "resources": [ 
      { 
      "type": "Microsoft.StreamAnalytics/StreamingJobs", 
      "apiVersion": "2016-03-01", 
      "name": "[parameters('streamAnalyticsJobName')]", 
      "location": "[resourceGroup().location]", 
      "properties": { 
       "sku": { 
       "name": "Standard" 
       }, 
       "outputErrorPolicy": "stop", 
       "eventsOutOfOrderPolicy": "adjust", 
       "eventsOutOfOrderMaxDelayInSeconds": 0, 
       "eventsLateArrivalMaxDelayInSeconds": 5, 
       "dataLocale": "en-US", 
       "inputs": [], 
       "Outputs": [ 
       { 
        "Name": "relateddb", 
        "Properties": { 
        "DataSource": { 
         "Properties": { 
         "AccountId": "[parameters('databaseAccountName')]", 
         "AccountKey": "[listKeys(resourceId('Microsoft.DocumentDB/databaseAccounts', parameters('databaseAccountName')), '2015-11-06').primaryMasterKey]", 
         "CollectionNamePattern": "[parameters('collectionname')]", 
         "Database": "[parameters('dbname')]", 
         "DocumentId": null, 
         "PartitionKey": null 
         }, 
         "Type": "Microsoft.Storage/DocumentDB" 
        }, 
        "Diagnostics": null, 
        "Etag": null, 
        "Serialization": null 
        } 
       } 
       ], 
       "transformation": { 
       "name": "Transformation", 
       "properties": { 
        "streamingUnits": "[parameters('numberOfStreamingUnits')]", 
        "query": "SELECT\r\n *\r\nINTO\r\n [YourOutputAlias]\r\nFROM\r\n [YourInputAlias]" 
       } 
       } 
      } 
      } 
     ] 
     } 
+1

예, 저도 결론입니다. 추가 스크립트를 사용하여 더 복잡한 작업을 수행하지 않고도 포털 에서처럼 템플릿을 사용하여 동일한 작업을 수행 할 수는 없습니다. 그러나 나는 그들이 무엇이 가장 필요하며 그것이 결국 가능할 것이라고 생각한다. 대답 주셔서 감사합니다 btw! – getpsyched