{ "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "parameters": { "factoryName": { "type": "string", "metadata": "Data Factory name", "defaultValue": "TrainingFactoryDev" }, "AzureSqlDatabase1_connectionString": { "type": "secureString", "metadata": "Secure string for 'connectionString' of 'AzureSqlDatabase1'" }, "EmailSenderFunction_functionKey": { "type": "secureString", "metadata": "Secure string for 'functionKey' of 'EmailSenderFunction'" }, "TrainingStore01_connectionString": { "type": "secureString", "metadata": "Secure string for 'connectionString' of 'TrainingStore01'" }, "traininglak01_accountKey": { "type": "secureString", "metadata": "Secure string for 'accountKey' of 'traininglak01'" }, "traininglake01noneKV_accountKey": { "type": "secureString", "metadata": "Secure string for 'accountKey' of 'traininglake01noneKV'" }, "AzureDataLakeStorage1_properties_typeProperties_url": { "type": "string", "defaultValue": "https://adayfullofadfsa.dfs.core.windows.net" }, "EmailSenderFunction_properties_typeProperties_functionAppUrl": { "type": "string", "defaultValue": "https://frameworksupportfunctions.azurewebsites.net" }, "GenericKeys_properties_typeProperties_baseUrl": { "type": "string", "defaultValue": "@{linkedService().baseUrl}" }, "HTTP_AWGitHub_properties_typeProperties_url": { "type": "string", "defaultValue": "https://raw.githubusercontent.com/microsoft/sql-server-samples/master/samples/databases/adventure-works/oltp-install-script/" }, "HTTP_AWProduct_properties_typeProperties_url": { "type": "string", "defaultValue": "https://raw.githubusercontent.com/microsoft/sql-server-samples/master/samples/databases/adventure-works/oltp-install-script/Product.csv" }, "TrainingKeys01_properties_typeProperties_baseUrl": { "type": "string", "defaultValue": "https://TrainingKeys01.vault.azure.net/" }, "traininglak01_properties_typeProperties_url": { "type": "string", "defaultValue": "https://traininglake01.dfs.core.windows.net" }, "traininglake01noneKV_properties_typeProperties_url": { "type": "string", "defaultValue": "https://traininglake01.dfs.core.windows.net" }, "PaulsLaptopIR_properties_typeProperties_linkedInfo_resourceId": { "type": "string", "defaultValue": "/subscriptions/77a3e40b-dd36-433c-90ca-a09f39724af3/resourcegroups/CommunityDemos/providers/Microsoft.DataFactory/factories/PaulsFunFactoryV2/integrationruntimes/WINAP71rY2YabRV" } }, "variables": { "factoryId": "[concat('Microsoft.DataFactory/factories/', parameters('factoryName'))]" }, "resources": [ { "name": "[concat(parameters('factoryName'), '/1950 Activities')]", "type": "Microsoft.DataFactory/factories/pipelines", "apiVersion": "2018-06-01", "properties": { "activities": [ { "name": "50", "type": "ForEach", "dependsOn": [], "userProperties": [], "typeProperties": { "items": { "value": "@json('[\"1\",\n\"2\",\n\"3\",\n\"4\",\n\"5\",\n\"6\",\n\"7\",\n\"8\",\n\"9\",\n\"10\",\n\"11\",\n\"12\",\n\"13\",\n\"14\",\n\"15\",\n\"16\",\n\"17\",\n\"18\",\n\"19\",\n\"20\",\n\"21\",\n\"22\",\n\"23\",\n\"24\",\n\"25\",\n\"26\",\n\"27\",\n\"28\",\n\"29\",\n\"30\",\n\"31\",\n\"32\",\n\"33\",\n\"34\",\n\"35\",\n\"36\",\n\"37\",\n\"38\",\n\"39\",\n\"40\",\n\"41\",\n\"42\",\n\"43\",\n\"44\",\n\"45\",\n\"46\",\n\"47\",\n\"48\",\n\"49\",\n\"50\"]\n')", "type": "Expression" }, "batchCount": 50, "activities": [ { "name": "Wait 1 Minute 1", "type": "Wait", "dependsOn": [], "userProperties": [], "typeProperties": { "waitTimeInSeconds": 600 } }, { "name": "Wait 1 Minute 2", "type": "Wait", "dependsOn": [], "userProperties": [], "typeProperties": { "waitTimeInSeconds": 600 } }, { "name": "Wait 1 Minute 3", "type": "Wait", "dependsOn": [], "userProperties": [], "typeProperties": { "waitTimeInSeconds": 600 } }, { "name": "Wait 1 Minute 4", "type": "Wait", "dependsOn": [], "userProperties": [], "typeProperties": { "waitTimeInSeconds": 600 } }, { "name": "Wait 1 Minute 5", "type": "Wait", "dependsOn": [], "userProperties": [], "typeProperties": { "waitTimeInSeconds": 600 } }, { "name": "Wait 1 Minute 6", "type": "Wait", "dependsOn": [], "userProperties": [], "typeProperties": { "waitTimeInSeconds": 600 } }, { "name": "Wait 1 Minute 7", "type": "Wait", "dependsOn": [], "userProperties": [], "typeProperties": { "waitTimeInSeconds": 600 } }, { "name": "Wait 1 Minute 8", "type": "Wait", "dependsOn": [], "userProperties": [], "typeProperties": { "waitTimeInSeconds": 600 } }, { "name": "Wait 1 Minute 9", "type": "Wait", "dependsOn": [], "userProperties": [], "typeProperties": { "waitTimeInSeconds": 600 } }, { "name": "Wait 1 Minute 10", "type": "Wait", "dependsOn": [], "userProperties": [], "typeProperties": { "waitTimeInSeconds": 600 } }, { "name": "Wait 1 Minute 11", "type": "Wait", "dependsOn": [], "userProperties": [], "typeProperties": { "waitTimeInSeconds": 600 } }, { "name": "Wait 1 Minute 12", "type": "Wait", "dependsOn": [], "userProperties": [], "typeProperties": { "waitTimeInSeconds": 600 } }, { "name": "Wait 1 Minute 13", "type": "Wait", "dependsOn": [], "userProperties": [], "typeProperties": { "waitTimeInSeconds": 600 } }, { "name": "Wait 1 Minute 14", "type": "Wait", "dependsOn": [], "userProperties": [], "typeProperties": { "waitTimeInSeconds": 600 } }, { "name": "Wait 1 Minute 15", "type": "Wait", "dependsOn": [], "userProperties": [], "typeProperties": { "waitTimeInSeconds": 600 } }, { "name": "Wait 1 Minute 16", "type": "Wait", "dependsOn": [], "userProperties": [], "typeProperties": { "waitTimeInSeconds": 600 } }, { "name": "Wait 1 Minute 17", "type": "Wait", "dependsOn": [], "userProperties": [], "typeProperties": { "waitTimeInSeconds": 600 } }, { "name": "Wait 1 Minute 18", "type": "Wait", "dependsOn": [], "userProperties": [], "typeProperties": { "waitTimeInSeconds": 600 } }, { "name": "Wait 1 Minute 19", "type": "Wait", "dependsOn": [], "userProperties": [], "typeProperties": { "waitTimeInSeconds": 600 } }, { "name": "Wait 1 Minute 20", "type": "Wait", "dependsOn": [], "userProperties": [], "typeProperties": { "waitTimeInSeconds": 600 } }, { "name": "Wait 1 Minute 21", "type": "Wait", "dependsOn": [], "userProperties": [], "typeProperties": { "waitTimeInSeconds": 600 } }, { "name": "Wait 1 Minute 22", "type": "Wait", "dependsOn": [], "userProperties": [], "typeProperties": { "waitTimeInSeconds": 600 } }, { "name": "Wait 1 Minute 23", "type": "Wait", "dependsOn": [], "userProperties": [], "typeProperties": { "waitTimeInSeconds": 600 } }, { "name": "Wait 1 Minute 24", "type": "Wait", "dependsOn": [], "userProperties": [], "typeProperties": { "waitTimeInSeconds": 600 } }, { "name": "Wait 1 Minute 25", "type": "Wait", "dependsOn": [], "userProperties": [], "typeProperties": { "waitTimeInSeconds": 600 } }, { "name": "Wait 1 Minute 26", "type": "Wait", "dependsOn": [], "userProperties": [], "typeProperties": { "waitTimeInSeconds": 600 } }, { "name": "Wait 1 Minute 27", "type": "Wait", "dependsOn": [], "userProperties": [], "typeProperties": { "waitTimeInSeconds": 600 } }, { "name": "Wait 1 Minute 28", "type": "Wait", "dependsOn": [], "userProperties": [], "typeProperties": { "waitTimeInSeconds": 600 } }, { "name": "Wait 1 Minute 29", "type": "Wait", "dependsOn": [], "userProperties": [], "typeProperties": { "waitTimeInSeconds": 600 } }, { "name": "Wait 1 Minute 30", "type": "Wait", "dependsOn": [], "userProperties": [], "typeProperties": { "waitTimeInSeconds": 600 } }, { "name": "Wait 1 Minute 31", "type": "Wait", "dependsOn": [], "userProperties": [], "typeProperties": { "waitTimeInSeconds": 600 } }, { "name": "Wait 1 Minute 32", "type": "Wait", "dependsOn": [], "userProperties": [], "typeProperties": { "waitTimeInSeconds": 600 } }, { "name": "Wait 1 Minute 33", "type": "Wait", "dependsOn": [], "userProperties": [], "typeProperties": { "waitTimeInSeconds": 600 } }, { "name": "Wait 1 Minute 34", "type": "Wait", "dependsOn": [], "userProperties": [], "typeProperties": { "waitTimeInSeconds": 600 } }, { "name": "Wait 1 Minute 35", "type": "Wait", "dependsOn": [], "userProperties": [], "typeProperties": { "waitTimeInSeconds": 600 } }, { "name": "Wait 1 Minute 36", "type": "Wait", "dependsOn": [], "userProperties": [], "typeProperties": { "waitTimeInSeconds": 600 } }, { "name": "Wait 1 Minute 37", "type": "Wait", "dependsOn": [], "userProperties": [], "typeProperties": { "waitTimeInSeconds": 600 } }, { "name": "Wait 1 Minute 38", "type": "Wait", "dependsOn": [], "userProperties": [], "typeProperties": { "waitTimeInSeconds": 600 } }, { "name": "Wait 1 Minute 39", "type": "Wait", "dependsOn": [], "userProperties": [], "typeProperties": { "waitTimeInSeconds": 600 } } ] } } ], "policy": { "elapsedTimeMetric": {}, "cancelAfter": {} }, "folder": { "name": "Demo Pipelines/Scaling Out" }, "annotations": [], "lastPublishTime": "2022-02-03T14:39:03Z" }, "dependsOn": [] }, { "name": "[concat(parameters('factoryName'), '/Wait 10')]", "type": "Microsoft.DataFactory/factories/pipelines", "apiVersion": "2018-06-01", "properties": { "activities": [ { "name": "Wait 10", "type": "Wait", "dependsOn": [], "userProperties": [], "typeProperties": { "waitTimeInSeconds": 10 } } ], "policy": { "elapsedTimeMetric": {}, "cancelAfter": {} }, "folder": { "name": "Demo Pipelines/Misc" }, "annotations": [] }, "dependsOn": [] }, { "name": "[concat(parameters('factoryName'), '/AzureDataLakeStorage1')]", "type": "Microsoft.DataFactory/factories/linkedServices", "apiVersion": "2018-06-01", "properties": { "annotations": [], "type": "AzureBlobFS", "typeProperties": { "url": "[parameters('AzureDataLakeStorage1_properties_typeProperties_url')]" } }, "dependsOn": [] }, { "name": "[concat(parameters('factoryName'), '/AzureSqlDatabase1')]", "type": "Microsoft.DataFactory/factories/linkedServices", "apiVersion": "2018-06-01", "properties": { "annotations": [], "type": "AzureSqlDatabase", "typeProperties": { "connectionString": "[parameters('AzureSqlDatabase1_connectionString')]" } }, "dependsOn": [] }, { "name": "[concat(parameters('factoryName'), '/EmailSenderFunction')]", "type": "Microsoft.DataFactory/factories/linkedServices", "apiVersion": "2018-06-01", "properties": { "annotations": [], "type": "AzureFunction", "typeProperties": { "functionAppUrl": "[parameters('EmailSenderFunction_properties_typeProperties_functionAppUrl')]", "functionKey": { "type": "SecureString", "value": "[parameters('EmailSenderFunction_functionKey')]" }, "authentication": "Anonymous" } }, "dependsOn": [] }, { "name": "[concat(parameters('factoryName'), '/GenericKeys')]", "type": "Microsoft.DataFactory/factories/linkedServices", "apiVersion": "2018-06-01", "properties": { "description": "https://TrainingKeys01.vault.azure.net", "parameters": { "baseUrl": { "type": "String" } }, "annotations": [], "type": "AzureKeyVault", "typeProperties": { "baseUrl": "[parameters('GenericKeys_properties_typeProperties_baseUrl')]" } }, "dependsOn": [] }, { "name": "[concat(parameters('factoryName'), '/HTTP_AWGitHub')]", "type": "Microsoft.DataFactory/factories/linkedServices", "apiVersion": "2018-06-01", "properties": { "annotations": [], "type": "HttpServer", "typeProperties": { "url": "[parameters('HTTP_AWGitHub_properties_typeProperties_url')]", "enableServerCertificateValidation": true, "authenticationType": "Anonymous" } }, "dependsOn": [] }, { "name": "[concat(parameters('factoryName'), '/HTTP_AWProduct')]", "type": "Microsoft.DataFactory/factories/linkedServices", "apiVersion": "2018-06-01", "properties": { "annotations": [], "type": "HttpServer", "typeProperties": { "url": "[parameters('HTTP_AWProduct_properties_typeProperties_url')]", "enableServerCertificateValidation": true, "authenticationType": "Anonymous" } }, "dependsOn": [] }, { "name": "[concat(parameters('factoryName'), '/TrainingKeys01')]", "type": "Microsoft.DataFactory/factories/linkedServices", "apiVersion": "2018-06-01", "properties": { "annotations": [], "type": "AzureKeyVault", "typeProperties": { "baseUrl": "[parameters('TrainingKeys01_properties_typeProperties_baseUrl')]" } }, "dependsOn": [] }, { "name": "[concat(parameters('factoryName'), '/TrainingStore01')]", "type": "Microsoft.DataFactory/factories/linkedServices", "apiVersion": "2018-06-01", "properties": { "annotations": [], "type": "AzureBlobStorage", "typeProperties": { "connectionString": "[parameters('TrainingStore01_connectionString')]" } }, "dependsOn": [] }, { "name": "[concat(parameters('factoryName'), '/traininglak01')]", "type": "Microsoft.DataFactory/factories/linkedServices", "apiVersion": "2018-06-01", "properties": { "annotations": [], "type": "AzureBlobFS", "typeProperties": { "url": "[parameters('traininglak01_properties_typeProperties_url')]", "accountKey": { "type": "SecureString", "value": "[parameters('traininglak01_accountKey')]" } } }, "dependsOn": [] }, { "name": "[concat(parameters('factoryName'), '/traininglake01noneKV')]", "type": "Microsoft.DataFactory/factories/linkedServices", "apiVersion": "2018-06-01", "properties": { "annotations": [], "type": "AzureBlobFS", "typeProperties": { "url": "[parameters('traininglake01noneKV_properties_typeProperties_url')]", "accountKey": { "type": "SecureString", "value": "[parameters('traininglake01noneKV_accountKey')]" } } }, "dependsOn": [] }, { "name": "[concat(parameters('factoryName'), '/trigger1')]", "type": "Microsoft.DataFactory/factories/triggers", "apiVersion": "2018-06-01", "properties": { "annotations": [], "runtimeState": "Stopped", "pipelines": [], "type": "ScheduleTrigger", "typeProperties": { "recurrence": { "frequency": "Minute", "interval": 15, "startTime": "2023-02-06T14:56:00Z", "timeZone": "UTC" } } }, "dependsOn": [] }, { "name": "[concat(parameters('factoryName'), '/ForDataFlowDemos')]", "type": "Microsoft.DataFactory/factories/integrationRuntimes", "apiVersion": "2018-06-01", "properties": { "type": "Managed", "typeProperties": { "computeProperties": { "location": "UK South", "dataFlowProperties": { "computeType": "General", "coreCount": 8, "timeToLive": 240 } } } }, "dependsOn": [] }, { "name": "[concat(parameters('factoryName'), '/PaulsLaptopIR')]", "type": "Microsoft.DataFactory/factories/integrationRuntimes", "apiVersion": "2018-06-01", "properties": { "type": "SelfHosted", "typeProperties": { "linkedInfo": { "resourceId": "[parameters('PaulsLaptopIR_properties_typeProperties_linkedInfo_resourceId')]", "authorizationType": "Rbac" } } }, "dependsOn": [] }, { "name": "[concat(parameters('factoryName'), '/TrainingCredential01')]", "type": "Microsoft.DataFactory/factories/credentials", "apiVersion": "2018-06-01", "properties": { "type": "ManagedIdentity", "typeProperties": { "resourceId": "/subscriptions/450eaf4d-1124-4b6d-b490-95dedc991c1e/resourceGroups/Training/providers/Microsoft.ManagedIdentity/userAssignedIdentities/TrainingUMI" } }, "dependsOn": [] }, { "name": "[concat(parameters('factoryName'), '/default')]", "type": "Microsoft.DataFactory/factories/managedVirtualNetworks", "apiVersion": "2018-06-01", "properties": {}, "dependsOn": [] }, { "name": "[concat(parameters('factoryName'), '/Laptop')]", "type": "Microsoft.DataFactory/factories/integrationRuntimes", "apiVersion": "2018-06-01", "properties": { "type": "SelfHosted", "typeProperties": {} }, "dependsOn": [] }, { "name": "[concat(parameters('factoryName'), '/EmailSender')]", "type": "Microsoft.DataFactory/factories/pipelines", "apiVersion": "2018-06-01", "properties": { "activities": [ { "name": "Send Email", "type": "AzureFunctionActivity", "dependsOn": [], "policy": { "timeout": "0.12:00:00", "retry": 0, "retryIntervalInSeconds": 30, "secureOutput": false, "secureInput": false }, "userProperties": [], "typeProperties": { "functionName": "SendEmail", "method": "POST", "headers": {}, "body": { "value": "@concat('\n{\n\"emailRecipients\": \"',pipeline().parameters.Recipients,'\",\n\"emailSubject\": \"',pipeline().parameters.Subject,'\",\n\"emailBody\": \"',pipeline().parameters.Body,'\",\n\"emailImportance\": \"',pipeline().parameters.Importance,'\"\n}')", "type": "Expression" } }, "linkedServiceName": { "referenceName": "EmailSenderFunction", "type": "LinkedServiceReference" } } ], "policy": { "elapsedTimeMetric": {}, "cancelAfter": {} }, "parameters": { "Recipients": { "type": "string" }, "Subject": { "type": "string" }, "Body": { "type": "string" }, "Importance": { "type": "string", "defaultValue": "High" } }, "folder": { "name": "Demo Pipelines/Misc" }, "annotations": [] }, "dependsOn": [ "[concat(variables('factoryId'), '/linkedServices/EmailSenderFunction')]" ] }, { "name": "[concat(parameters('factoryName'), '/HTTP_BIN_AWProduct')]", "type": "Microsoft.DataFactory/factories/datasets", "apiVersion": "2018-06-01", "properties": { "linkedServiceName": { "referenceName": "HTTP_AWProduct", "type": "LinkedServiceReference" }, "folder": { "name": "Labs1" }, "annotations": [], "type": "Binary", "typeProperties": { "location": { "type": "HttpServerLocation" } } }, "dependsOn": [ "[concat(variables('factoryId'), '/linkedServices/HTTP_AWProduct')]" ] } ] }