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.

228 lines
9.1 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. "LocationsSubscriptionName": "Locations",
  18. "MarketingSubscriptionName": "Marketing",
  19. "GracePeriodSubscriptionName": "GracePeriod",
  20. "PaymentSubscriptionName": "Payment",
  21. "location": "[resourceGroup().location]",
  22. "sbVersion": "2015-08-01",
  23. "defaultSASKeyName": "Root",
  24. "namespace":"[concat(parameters('namespaceprefix'), uniqueString(resourceGroup().id))]",
  25. "authRuleResourceId": "[resourceId('Microsoft.ServiceBus/namespaces/topics/authorizationRules', variables('namespace'), variables('serviceBusTopicName'), variables('defaultSASKeyName'))]"
  26. },
  27. "resources": [
  28. {
  29. "apiVersion": "[variables('sbVersion')]",
  30. "name": "[variables('namespace')]",
  31. "type": "Microsoft.ServiceBus/Namespaces",
  32. "location": "[variables('location')]",
  33. "sku": {
  34. "name": "Standard",
  35. "tier": "Standard"
  36. },
  37. "resources": [
  38. {
  39. "apiVersion": "[variables('sbVersion')]",
  40. "name": "[variables('serviceBusTopicName')]",
  41. "type": "Topics",
  42. "dependsOn": [
  43. "[concat('Microsoft.ServiceBus/namespaces/', variables('namespace'))]"
  44. ],
  45. "properties": {
  46. "path": "[variables('serviceBusTopicName')]",
  47. "defaultMessageTimeToLive": "14.00:00:00",
  48. "maxSizeInMegabytes": 1024,
  49. "requiresDuplicateDetection": false,
  50. "enableBatchedOperations": true,
  51. "sizeInBytes": 0,
  52. "filteringMessagesBeforePublishing": false,
  53. "isAnonymousAccessible": false,
  54. "status": "Active",
  55. "supportOrdering": false,
  56. "autoDeleteOnIdle": "10675199.02:48:05.4775807",
  57. "enablePartitioning": true,
  58. "isExpress": false,
  59. "enableSubscriptionPartitioning": false,
  60. "enableExpress": false
  61. },
  62. "resources": [
  63. {
  64. "type": "AuthorizationRules",
  65. "name": "[variables('defaultSASKeyName')]",
  66. "apiVersion": "[variables('sbVersion')]",
  67. "properties": {
  68. "rights": [
  69. "Manage",
  70. "Send",
  71. "Listen"
  72. ]
  73. },
  74. "dependsOn": [
  75. "[variables('serviceBusTopicName')]"
  76. ]
  77. },
  78. {
  79. "apiVersion": "[variables('sbVersion')]",
  80. "name": "[variables('BasketSubscriptionName')]",
  81. "type": "Subscriptions",
  82. "dependsOn": [
  83. "[variables('serviceBusTopicName')]"
  84. ],
  85. "properties": {
  86. "lockDuration": "00:00:30",
  87. "requiresSession": false,
  88. "defaultMessageTimeToLive": "14.00:00:00",
  89. "deadLetteringOnMessageExpiration": true,
  90. "deadLetteringOnFilterEvaluationExceptions": true,
  91. "maxDeliveryCount": 10,
  92. "enableBatchedOperations": false,
  93. "status": "Active",
  94. "autoDeleteOnIdle": "10675199.02:48:05.4775807",
  95. "entityAvailabilityStatus": "Available"
  96. }
  97. },
  98. {
  99. "apiVersion": "[variables('sbVersion')]",
  100. "name": "[variables('OrderingSubscriptionName')]",
  101. "type": "Subscriptions",
  102. "dependsOn": [
  103. "[variables('serviceBusTopicName')]"
  104. ],
  105. "properties": {
  106. "lockDuration": "00:00:30",
  107. "requiresSession": false,
  108. "defaultMessageTimeToLive": "14.00:00:00",
  109. "deadLetteringOnMessageExpiration": true,
  110. "deadLetteringOnFilterEvaluationExceptions": true,
  111. "maxDeliveryCount": 10,
  112. "enableBatchedOperations": false,
  113. "status": "Active",
  114. "autoDeleteOnIdle": "10675199.02:48:05.4775807",
  115. "entityAvailabilityStatus": "Available"
  116. }
  117. },
  118. {
  119. "apiVersion": "[variables('sbVersion')]",
  120. "name": "[variables('CatalogSubscriptionName')]",
  121. "type": "Subscriptions",
  122. "dependsOn": [
  123. "[variables('serviceBusTopicName')]"
  124. ],
  125. "properties": {
  126. "lockDuration": "00:00:30",
  127. "requiresSession": false,
  128. "defaultMessageTimeToLive": "14.00:00:00",
  129. "deadLetteringOnMessageExpiration": true,
  130. "deadLetteringOnFilterEvaluationExceptions": true,
  131. "maxDeliveryCount": 10,
  132. "enableBatchedOperations": false,
  133. "status": "Active",
  134. "autoDeleteOnIdle": "10675199.02:48:05.4775807",
  135. "entityAvailabilityStatus": "Available"
  136. }
  137. },
  138. {
  139. "apiVersion": "[variables('sbVersion')]",
  140. "name": "[variables('LocationsSubscriptionName')]",
  141. "type": "Subscriptions",
  142. "dependsOn": [
  143. "[variables('serviceBusTopicName')]"
  144. ],
  145. "properties": {
  146. "lockDuration": "00:00:30",
  147. "requiresSession": false,
  148. "defaultMessageTimeToLive": "14.00:00:00",
  149. "deadLetteringOnMessageExpiration": true,
  150. "deadLetteringOnFilterEvaluationExceptions": true,
  151. "maxDeliveryCount": 10,
  152. "enableBatchedOperations": false,
  153. "status": "Active",
  154. "autoDeleteOnIdle": "10675199.02:48:05.4775807",
  155. "entityAvailabilityStatus": "Available"
  156. }
  157. },
  158. {
  159. "apiVersion": "[variables('sbVersion')]",
  160. "name": "[variables('MarketingSubscriptionName')]",
  161. "type": "Subscriptions",
  162. "dependsOn": [
  163. "[variables('serviceBusTopicName')]"
  164. ],
  165. "properties": {
  166. "lockDuration": "00:00:30",
  167. "requiresSession": false,
  168. "defaultMessageTimeToLive": "14.00:00:00",
  169. "deadLetteringOnMessageExpiration": true,
  170. "deadLetteringOnFilterEvaluationExceptions": true,
  171. "maxDeliveryCount": 10,
  172. "enableBatchedOperations": false,
  173. "status": "Active",
  174. "autoDeleteOnIdle": "10675199.02:48:05.4775807",
  175. "entityAvailabilityStatus": "Available"
  176. }
  177. },
  178. {
  179. "apiVersion": "[variables('sbVersion')]",
  180. "name": "[variables('GracePeriodSubscriptionName')]",
  181. "type": "Subscriptions",
  182. "dependsOn": [
  183. "[variables('serviceBusTopicName')]"
  184. ],
  185. "properties": {
  186. "lockDuration": "00:00:30",
  187. "requiresSession": false,
  188. "defaultMessageTimeToLive": "14.00:00:00",
  189. "deadLetteringOnMessageExpiration": true,
  190. "deadLetteringOnFilterEvaluationExceptions": true,
  191. "maxDeliveryCount": 10,
  192. "enableBatchedOperations": false,
  193. "status": "Active",
  194. "autoDeleteOnIdle": "10675199.02:48:05.4775807",
  195. "entityAvailabilityStatus": "Available"
  196. }
  197. },
  198. {
  199. "apiVersion": "[variables('sbVersion')]",
  200. "name": "[variables('PaymentSubscriptionName')]",
  201. "type": "Subscriptions",
  202. "dependsOn": [
  203. "[variables('serviceBusTopicName')]"
  204. ],
  205. "properties": {
  206. "lockDuration": "00:00:30",
  207. "requiresSession": false,
  208. "defaultMessageTimeToLive": "14.00:00:00",
  209. "deadLetteringOnMessageExpiration": true,
  210. "deadLetteringOnFilterEvaluationExceptions": true,
  211. "maxDeliveryCount": 10,
  212. "enableBatchedOperations": false,
  213. "status": "Active",
  214. "autoDeleteOnIdle": "10675199.02:48:05.4775807",
  215. "entityAvailabilityStatus": "Available"
  216. }
  217. }
  218. ]
  219. }
  220. ]
  221. }
  222. ],
  223. "outputs": {
  224. "NamespaceConnectionString": {
  225. "type": "string",
  226. "value": "[listkeys(variables('authRuleResourceId'), variables('sbVersion')).primaryConnectionString]"
  227. }
  228. }
  229. }