Merge pull request #717 from JocaPC/master

Adding synapse analytic deployment template
This commit is contained in:
Jovan Popovic (MSFT)
2020-01-19 00:52:41 +01:00
committed by GitHub
10 changed files with 374 additions and 0 deletions
@@ -0,0 +1,59 @@
{
"$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"name": {
"type": "String"
},
"sqlAdministratorLogin": {
"type": "String"
},
"sqlAdministratorPassword": {
"type": "SecureString"
},
"tagValues": {
"defaultValue": {"Created with":"Synapse Azure Resource Manager deploment template"},
"type": "Object"
}
},
"resources": [
{
"type": "Microsoft.Resources/deployments",
"apiVersion": "2018-05-01",
"name": "storage",
"properties": {
"mode": "Incremental",
"templateLink": {
"uri": "[uri(deployment().properties.templateLink.uri, '/microsoft/sql-server-samples/master/samples/manage/synapse-analytics/storage/azuredeploy.json')]",
"contentVersion": "1.0.0.0"
},
"parameters":{
"storageAccount":{"value": "[parameters('name')]"}
}
}
},
{
"type": "Microsoft.Resources/deployments",
"apiVersion": "2018-05-01",
"name": "workspace",
"properties": {
"mode": "Incremental",
"templateLink": {
"uri": "[uri(deployment().properties.templateLink.uri, '/microsoft/sql-server-samples/master/samples/manage/synapse-analytics/workspace/azuredeploy.json')]",
"contentVersion": "1.0.0.0"
},
"parameters":{
"name":{"value": "[parameters('name')]"},
"sqlAdministratorLogin":{"value": "[parameters('sqlAdministratorLogin')]"},
"sqlAdministratorPassword":{"value": "[parameters('sqlAdministratorPassword')]"},
"defaultDataLakeStorageAccountName":{"value": "[parameters('name')]"},
"tagValues":{"value": "[parameters('tagValues')]"}
}
},
"dependsOn": [
"storage"
]
}
],
"outputs": {}
}
@@ -0,0 +1,12 @@
# Deploy Azure Synapse workspace
This template deploys Azure Synapse workspace with underlying Data Lake Storage.
<a href="https://portal.azure.com/#create/Microsoft.Template/uri/https%3A%2F%2Fraw.githubusercontent.com%2Fmicrosoft%2Fsql-server-samples%2Fmaster%2Fsamples%2Fmanage%2Fsynapse-analytics%2Fazuredeploy.json" target="_blank">
<img src="https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/1-CONTRIBUTION-GUIDE/images/deploytoazure.png"/>
</a>
<a href="http://armviz.io/#/?load=https%3A%2F%2Fraw.githubusercontent.com%2Fmicrosoft%2Fsql-server-samples%2Fmaster%2Fsamples%2Fmanage%2Fsynapse-analytics%2Fworkspace%2Fazuredeploy.json" target="_blank">
<img src="https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/1-CONTRIBUTION-GUIDE/images/visualizebutton.png"/>
</a>
`Tags: Azure, Synapse, Analytics`
@@ -0,0 +1,77 @@
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"storageAccount": {
"type": "string"
}
},
"variables": {},
"resources": [
{
"type": "Microsoft.Storage/storageAccounts",
"apiVersion": "2019-04-01",
"name": "[parameters('storageAccount')]",
"location": "[resourceGroup().location]",
"tags": {
"Type": "Synapse Data Lake Storage",
"Created with":"Synapse Azure Resource Manager deploment template"
},
"sku": {
"name": "Standard_RAGRS",
"tier": "Standard"
},
"kind": "StorageV2",
"properties": {
"isHnsEnabled": true,
"networkAcls": {
"bypass": "AzureServices",
"virtualNetworkRules": [],
"ipRules": [],
"defaultAction": "Allow"
},
"supportsHttpsTrafficOnly": true,
"encryption": {
"services": {
"file": {
"enabled": true
},
"blob": {
"enabled": true
}
},
"keySource": "Microsoft.Storage"
},
"accessTier": "Hot"
}
},
{
"type": "Microsoft.Storage/storageAccounts/blobServices",
"apiVersion": "2019-04-01",
"name": "[concat(parameters('storageAccount'), '/default')]",
"dependsOn": [
"[resourceId('Microsoft.Storage/storageAccounts', parameters('storageAccount'))]"
],
"properties": {
"cors": {
"corsRules": []
},
"deleteRetentionPolicy": {
"enabled": false
}
}
},
{
"type": "Microsoft.Storage/storageAccounts/blobServices/containers",
"apiVersion": "2019-04-01",
"name": "[concat(parameters('storageAccount'), '/default/workspace')]",
"dependsOn": [
"[resourceId('Microsoft.Storage/storageAccounts/blobServices', parameters('storageAccount'), 'default')]",
"[resourceId('Microsoft.Storage/storageAccounts', parameters('storageAccount'))]"
],
"properties": {
"publicAccess": "None"
}
}
]
}
@@ -0,0 +1,9 @@
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"clusterStorageAccountName": {
"value": "GEN-UNIQUE"
}
}
}
@@ -0,0 +1,10 @@
{
"$schema": "https://aka.ms/azure-quickstart-templates-metadata-schema#",
"type": "QuickStart",
"itemDisplayName": "Deploy Azure Storage account for Synapse Workspace",
"description": "This template allows you to deploy Azure Storage account for Synapse Workspace.",
"summary": "Deploy Azure Storage account for Synapse Workspace.",
"githubUsername": "jocapc",
"dateUpdated": "2019-10-10"
}
@@ -0,0 +1,15 @@
# Deploy Azure Storage account for Synapse workspace
This template deploys configured Azure Storage account for Synapse workspace.
<a href="https://portal.azure.com/#create/Microsoft.Template/uri/https%3A%2F%2Fraw.githubusercontent.com%2Fmicrososft%2Fsql-server-samples%2Fmaster%2Fsamples%2Fmanage%2Fsynapse-analytics%2Fstorage%2Fazuredeploy.json" target="_blank">
<img src="https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/1-CONTRIBUTION-GUIDE/images/deploytoazure.png"/>
</a>
<a href="http://armviz.io/#/?load=https%3A%2F%2Fraw.githubusercontent.com%2Fmicrosoft%2Fsql-server-samples%2Fmaster%2Fsamples%2Fmanage%2Fsynapse-analytics%2Fstorage%2Fazuredeploy.json" target="_blank">
<img src="https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/1-CONTRIBUTION-GUIDE/images/visualizebutton.png"/>
</a>
When you create storage, use [this link](https://portal.azure.com/?feature.customportal=false&feature.canmodifystamps=true&SqlAzureExtension=synapse&microsoft_azure_synapse_assettypeoptions=%7B%22SynapseWorkspace%22%3A%7B%22options%22%3A%22%22%7D%2C%22SparkPool%22%3A%7B%22options%22%3A%22hideassettype%22%7D%7D&microsoft_azure_marketplace_ItemHideKey=SynapseExtensionPreview#blade/Microsoft_Azure_Marketplace/MarketplaceOffersBlade/selectedMenuItemId/home/searchQuery/Azure%2BSynapse%2BAnalytics%2B(preview)
) to create Azure Synapse Analytics workspace **(not former DataWarehouse)** and assign the Azure Storage account created with this template.
`Tags: Azure, Synapse, Storage`
@@ -0,0 +1,128 @@
{
"$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"name": {
"type": "String"
},
"defaultDataLakeStorageAccountName": {
"type": "String",
"metadata": {
"description": "Data Lake Storage account that you will use for Synapse Workspace."
}
},
"defaultDataLakeStorageFilesystemName": {
"defaultValue": "workspace",
"type": "String",
"metadata": {
"description": "Container in Data Lake Storage account that you will use for Synapse Workspace."
}
},
"sqlAdministratorLogin": {
"type": "String"
},
"sqlAdministratorPassword": {
"type": "SecureString"
},
"tagValues": {
"defaultValue": {"Created with":"Synapse Azure Resource Manager deploment template"},
"type": "Object"
},
"storageSubscriptionID": {
"defaultValue": "[subscription().subscriptionId]",
"type": "String",
"metadata": {
"description": "Do not change this value if Data Lake Storage is placed in the same subscription as Synapse Workspace(recommended)."
}
},
"storageResourceGroupName": {
"defaultValue": "[resourceGroup().name]",
"type": "String",
"metadata": {
"description": "Do not change this value if Data Lake Storage is placed in the same resource group as Synapse Workspace."
}
},
"storageLocation": {
"defaultValue": "[resourceGroup().location]",
"type": "String",
"metadata": {
"description": "Do not change this value if Data Lake Storage is placed in the same region as Synapse Workspace(recommended)."
}
}
},
"variables": {
"storageBlobDataContributorRoleID": "ba92f5b4-2d11-453d-a403-e96b0029c9fe",
"defaultDataLakeStorageAccountUrl": "[concat('https://', parameters('defaultDataLakeStorageAccountName'), '.dfs.core.windows.net')]"
},
"resources": [
{
"type": "Microsoft.Synapse/workspaces",
"apiVersion": "2019-06-01-preview",
"name": "[parameters('name')]",
"location": "[resourceGroup().location]",
"tags": "[parameters('tagValues')]",
"identity": {
"type": "SystemAssigned"
},
"properties": {
"defaultDataLakeStorage": {
"accountUrl": "[variables('defaultDataLakeStorageAccountUrl')]",
"filesystem": "[parameters('defaultDataLakeStorageFilesystemName')]"
},
"virtualNetworkProfile": {
"computeSubnetId": ""
},
"sqlAdministratorLogin": "[parameters('sqlAdministratorLogin')]",
"sqlAdministratorLoginPassword": "[parameters('sqlAdministratorPassword')]"
},
"resources": [
{
"type": "firewallrules",
"apiVersion": "2019-06-01-preview",
"name": "allowAll",
"location": "[resourceGroup().location]",
"dependsOn": [
"[concat('Microsoft.Synapse/workspaces/', parameters('name'))]"
],
"properties": {
"startIpAddress": "0.0.0.0",
"endIpAddress": "255.255.255.255"
}
}
]
},
{
"type": "Microsoft.Resources/deployments",
"apiVersion": "2019-05-01",
"name": "storageRoleDeploymentResource",
"dependsOn": [
"[concat('Microsoft.Synapse/workspaces/', parameters('name'))]"
],
"properties": {
"mode": "Incremental",
"template": {
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {},
"variables": {},
"resources": [
{
"type": "Microsoft.Storage/storageAccounts/blobServices/containers/providers/roleAssignments",
"apiVersion": "2018-09-01-preview",
"name": "[concat(parameters('defaultDataLakeStorageAccountName'), '/default/', parameters('defaultDataLakeStorageFilesystemName'), '/Microsoft.Authorization/', guid(concat(resourceGroup().id, '/', variables('storageBlobDataContributorRoleID'), '/', parameters('name'))))]",
"location": "[parameters('storageLocation')]",
"properties": {
"roleDefinitionId": "[resourceId('Microsoft.Authorization/roleDefinitions', variables('storageBlobDataContributorRoleID'))]",
"principalId": "[reference(concat('Microsoft.Synapse/workspaces/', parameters('name')), '2019-06-01-preview', 'Full').identity.principalId]",
"principalType": "ServicePrincipal"
}
}
]
}
},
"subscriptionId": "[parameters('storageSubscriptionID')]",
"resourceGroup": "[parameters('storageResourceGroupName')]"
}
],
"outputs": {}
}
@@ -0,0 +1,42 @@
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"name": {
"value": ""
},
"location": {
"value": ""
},
"defaultDataLakeStorageAccountName": {
"value": ""
},
"defaultDataLakeStorageFilesystemName": {
"value": ""
},
"sqlAdministratorLogin": {
"value": ""
},
"setWorkspaceIdentityRbacOnFilesystem": {
"value": true
},
"allowAllConnections": {
"value": true
},
"poolSubnetId": {
"value": ""
},
"tagValues": {
"value": {}
},
"storageSubscriptionID": {
"value": "9932f414-50cd-474d-8a1a-bf0649225d73"
},
"storageResourceGroupName": {
"value": ""
},
"storageLocation": {
"value": ""
}
}
}
@@ -0,0 +1,10 @@
{
"$schema": "https://aka.ms/azure-quickstart-templates-metadata-schema#",
"type": "QuickStart",
"itemDisplayName": "Deploy Azure Synapse Workspace",
"description": "This template allows you to deploy Azure Synapse Workspace.",
"summary": "Deploy Azure Synapse Workspace.",
"githubUsername": "jocapc",
"dateUpdated": "2019-10-10"
}
@@ -0,0 +1,12 @@
# Deploy Azure Synapse workspace
This template deploys Azure Synapse workspace.
<a href="https://portal.azure.com/#create/Microsoft.Template/uri/https%3A%2F%2Fraw.githubusercontent.com%2Fmicrosoft%2Fsql-server-samples%2Fmaster%2Fsamples%2Fmanage%2Fsynapse-analytics%2Fworkspace%2Fazuredeploy.json" target="_blank">
<img src="https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/1-CONTRIBUTION-GUIDE/images/deploytoazure.png"/>
</a>
<a href="http://armviz.io/#/?load=https%3A%2F%2Fraw.githubusercontent.com%2Fmicrosoft%2Fsql-server-samples%2Fmaster%2Fsamples%2Fmanage%2Fsynapse-analytics%2Fworkspace%2Fazuredeploy.json" target="_blank">
<img src="https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/1-CONTRIBUTION-GUIDE/images/visualizebutton.png"/>
</a>
`Tags: Azure, Synapse, Analytics`