-
Notifications
You must be signed in to change notification settings - Fork 123
/
Copy pathdeploymentscript-jsonEscape.json
68 lines (68 loc) · 1.78 KB
/
deploymentscript-jsonEscape.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"tables": {
"type": "object",
"defaultValue": {
"abc": [
{
"partitionKey": "emotion",
"rowKey": "happy",
"blah": "asdf",
"test": 5
},
{
"partitionKey": "emotion",
"rowKey": "angry",
"blah": "bdfae",
"test": 221,
"another": "testing"
}
],
"def": [
{
"partitionKey": "emotion",
"rowKey": "sad",
"blah": "jiuo",
"test": 2
}
],
"ghi": [
]
}
}
},
"variables": {
"apostrophe": "'"
},
"resources": [
{
"type": "Microsoft.Resources/deploymentScripts",
"apiVersion": "2020-10-01",
"name": "runPowerShellInline",
"location": "[resourceGroup().location]",
"kind": "AzurePowerShell",
"properties": {
"forceUpdateTag": "1",
"azPowerShellVersion": "8.3",
"arguments": "[concat('-tables', ' ', concat(variables('apostrophe'), replace(string(parameters('tables')), '\"', '\\\"'), variables('apostrophe')))]",
"scriptContent": "
param([string] $tables)
$output = ConvertFrom-Json $tables -AsHashtable | ConvertTo-Json -Depth 5 -Compress
$DeploymentScriptOutputs = @{}
$DeploymentScriptOutputs['text'] = $output
",
"timeout": "PT30M",
"cleanupPreference": "OnSuccess",
"retentionInterval": "P1D"
}
}
],
"outputs": {
"result": {
"value": "[reference('runPowerShellInline').outputs.text]",
"type": "string"
}
}
}