You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

249 lines
10 KiB

  1. {
  2. "$schema": "http://schema.management.azure.com/schemas/2014-04-01-preview/deploymentTemplate.json#",
  3. "contentVersion": "1.0.0.0",
  4. "parameters": {
  5. "namespaceprefix": {
  6. "type": "string",
  7. "metadata": {
  8. "description": "Name of the Service Bus namespace"
  9. }
  10. }
  11. },
  12. "variables": {
  13. "serviceBusTopicName": "eshop_event_bus",
  14. "BasketSubscriptionName": "Basket",
  15. "CatalogSubscriptionName": "Catalog",
  16. "OrderingSubscriptionName": "Ordering",
  17. "GracePeriodSubscriptionName": "GracePeriod",
  18. "PaymentSubscriptionName": "Payment",
  19. "BackgroundTaskSubscriptionName": "backgroundtasks",
  20. "OrderingSignalrHubSubscriptionName": "Ordering.signalrhub",
  21. "WebhooksSubscriptionName": "Webhooks",
  22. "location": "[resourceGroup().location]",
  23. "sbVersion": "2015-08-01",
  24. "defaultSASKeyName": "Root",
  25. "namespace":"[concat(parameters('namespaceprefix'), uniqueString(resourceGroup().id))]",
  26. "authRuleResourceId": "[resourceId('Microsoft.ServiceBus/namespaces/topics/authorizationRules', variables('namespace'), variables('serviceBusTopicName'), variables('defaultSASKeyName'))]"
  27. },
  28. "resources": [
  29. {
  30. "apiVersion": "[variables('sbVersion')]",
  31. "name": "[variables('namespace')]",
  32. "type": "Microsoft.ServiceBus/Namespaces",
  33. "location": "[variables('location')]",
  34. "sku": {
  35. "name": "Standard",
  36. "tier": "Standard"
  37. },
  38. "resources": [
  39. {
  40. "apiVersion": "[variables('sbVersion')]",
  41. "name": "[variables('serviceBusTopicName')]",
  42. "type": "Topics",
  43. "dependsOn": [
  44. "[concat('Microsoft.ServiceBus/namespaces/', variables('namespace'))]"
  45. ],
  46. "properties": {
  47. "path": "[variables('serviceBusTopicName')]",
  48. "defaultMessageTimeToLive": "14.00:00:00",
  49. "maxSizeInMegabytes": 1024,
  50. "requiresDuplicateDetection": false,
  51. "enableBatchedOperations": true,
  52. "sizeInBytes": 0,
  53. "filteringMessagesBeforePublishing": false,
  54. "isAnonymousAccessible": false,
  55. "status": "Active",
  56. "supportOrdering": false,
  57. "autoDeleteOnIdle": "10675199.02:48:05.4775807",
  58. "enablePartitioning": true,
  59. "isExpress": false,
  60. "enableSubscriptionPartitioning": false,
  61. "enableExpress": false
  62. },
  63. "resources": [
  64. {
  65. "type": "AuthorizationRules",
  66. "name": "[variables('defaultSASKeyName')]",
  67. "apiVersion": "[variables('sbVersion')]",
  68. "properties": {
  69. "rights": [
  70. "Manage",
  71. "Send",
  72. "Listen"
  73. ]
  74. },
  75. "dependsOn": [
  76. "[variables('serviceBusTopicName')]"
  77. ]
  78. },
  79. {
  80. "apiVersion": "[variables('sbVersion')]",
  81. "name": "[variables('BasketSubscriptionName')]",
  82. "type": "Subscriptions",
  83. "dependsOn": [
  84. "[variables('serviceBusTopicName')]"
  85. ],
  86. "properties": {
  87. "lockDuration": "00:00:30",
  88. "requiresSession": false,
  89. "defaultMessageTimeToLive": "14.00:00:00",
  90. "deadLetteringOnMessageExpiration": true,
  91. "deadLetteringOnFilterEvaluationExceptions": true,
  92. "maxDeliveryCount": 10,
  93. "enableBatchedOperations": false,
  94. "status": "Active",
  95. "autoDeleteOnIdle": "10675199.02:48:05.4775807",
  96. "entityAvailabilityStatus": "Available"
  97. }
  98. },
  99. {
  100. "apiVersion": "[variables('sbVersion')]",
  101. "name": "[variables('OrderingSubscriptionName')]",
  102. "type": "Subscriptions",
  103. "dependsOn": [
  104. "[variables('serviceBusTopicName')]"
  105. ],
  106. "properties": {
  107. "lockDuration": "00:00:30",
  108. "requiresSession": false,
  109. "defaultMessageTimeToLive": "14.00:00:00",
  110. "deadLetteringOnMessageExpiration": true,
  111. "deadLetteringOnFilterEvaluationExceptions": true,
  112. "maxDeliveryCount": 10,
  113. "enableBatchedOperations": false,
  114. "status": "Active",
  115. "autoDeleteOnIdle": "10675199.02:48:05.4775807",
  116. "entityAvailabilityStatus": "Available"
  117. }
  118. },
  119. {
  120. "apiVersion": "[variables('sbVersion')]",
  121. "name": "[variables('CatalogSubscriptionName')]",
  122. "type": "Subscriptions",
  123. "dependsOn": [
  124. "[variables('serviceBusTopicName')]"
  125. ],
  126. "properties": {
  127. "lockDuration": "00:00:30",
  128. "requiresSession": false,
  129. "defaultMessageTimeToLive": "14.00:00:00",
  130. "deadLetteringOnMessageExpiration": true,
  131. "deadLetteringOnFilterEvaluationExceptions": true,
  132. "maxDeliveryCount": 10,
  133. "enableBatchedOperations": false,
  134. "status": "Active",
  135. "autoDeleteOnIdle": "10675199.02:48:05.4775807",
  136. "entityAvailabilityStatus": "Available"
  137. }
  138. },
  139. {
  140. "apiVersion": "[variables('sbVersion')]",
  141. "name": "[variables('GracePeriodSubscriptionName')]",
  142. "type": "Subscriptions",
  143. "dependsOn": [
  144. "[variables('serviceBusTopicName')]"
  145. ],
  146. "properties": {
  147. "lockDuration": "00:00:30",
  148. "requiresSession": false,
  149. "defaultMessageTimeToLive": "14.00:00:00",
  150. "deadLetteringOnMessageExpiration": true,
  151. "deadLetteringOnFilterEvaluationExceptions": true,
  152. "maxDeliveryCount": 10,
  153. "enableBatchedOperations": false,
  154. "status": "Active",
  155. "autoDeleteOnIdle": "10675199.02:48:05.4775807",
  156. "entityAvailabilityStatus": "Available"
  157. }
  158. },
  159. {
  160. "apiVersion": "[variables('sbVersion')]",
  161. "name": "[variables('PaymentSubscriptionName')]",
  162. "type": "Subscriptions",
  163. "dependsOn": [
  164. "[variables('serviceBusTopicName')]"
  165. ],
  166. "properties": {
  167. "lockDuration": "00:00:30",
  168. "requiresSession": false,
  169. "defaultMessageTimeToLive": "14.00:00:00",
  170. "deadLetteringOnMessageExpiration": true,
  171. "deadLetteringOnFilterEvaluationExceptions": true,
  172. "maxDeliveryCount": 10,
  173. "enableBatchedOperations": false,
  174. "status": "Active",
  175. "autoDeleteOnIdle": "10675199.02:48:05.4775807",
  176. "entityAvailabilityStatus": "Available"
  177. }
  178. },
  179. {
  180. "apiVersion": "[variables('sbVersion')]",
  181. "name": "[variables('BackgroundTaskSubscriptionName')]",
  182. "type": "Subscriptions",
  183. "dependsOn": [
  184. "[variables('serviceBusTopicName')]"
  185. ],
  186. "properties": {
  187. "lockDuration": "00:00:30",
  188. "requiresSession": false,
  189. "defaultMessageTimeToLive": "14.00:00:00",
  190. "deadLetteringOnMessageExpiration": true,
  191. "deadLetteringOnFilterEvaluationExceptions": true,
  192. "maxDeliveryCount": 10,
  193. "enableBatchedOperations": false,
  194. "status": "Active",
  195. "autoDeleteOnIdle": "10675199.02:48:05.4775807",
  196. "entityAvailabilityStatus": "Available"
  197. }
  198. },
  199. {
  200. "apiVersion": "[variables('sbVersion')]",
  201. "name": "[variables('OrderingSignalrHubSubscriptionName')]",
  202. "type": "Subscriptions",
  203. "dependsOn": [
  204. "[variables('serviceBusTopicName')]"
  205. ],
  206. "properties": {
  207. "lockDuration": "00:00:30",
  208. "requiresSession": false,
  209. "defaultMessageTimeToLive": "14.00:00:00",
  210. "deadLetteringOnMessageExpiration": true,
  211. "deadLetteringOnFilterEvaluationExceptions": true,
  212. "maxDeliveryCount": 10,
  213. "enableBatchedOperations": false,
  214. "status": "Active",
  215. "autoDeleteOnIdle": "10675199.02:48:05.4775807",
  216. "entityAvailabilityStatus": "Available"
  217. }
  218. },
  219. {
  220. "apiVersion": "[variables('sbVersion')]",
  221. "name": "[variables('WebhooksSubscriptionName')]",
  222. "type": "Subscriptions",
  223. "dependsOn": [
  224. "[variables('serviceBusTopicName')]"
  225. ],
  226. "properties": {
  227. "lockDuration": "00:00:30",
  228. "requiresSession": false,
  229. "defaultMessageTimeToLive": "14.00:00:00",
  230. "deadLetteringOnMessageExpiration": true,
  231. "deadLetteringOnFilterEvaluationExceptions": true,
  232. "maxDeliveryCount": 10,
  233. "enableBatchedOperations": false,
  234. "status": "Active",
  235. "autoDeleteOnIdle": "10675199.02:48:05.4775807",
  236. "entityAvailabilityStatus": "Available"
  237. }
  238. }
  239. ]
  240. }
  241. ]
  242. }
  243. ],
  244. "outputs": {
  245. "NamespaceConnectionString": {
  246. "type": "string",
  247. "value": "[listkeys(variables('authRuleResourceId'), variables('sbVersion')).primaryConnectionString]"
  248. }
  249. }
  250. }