{"id":182,"date":"2017-12-14T10:16:18","date_gmt":"2017-12-14T09:16:18","guid":{"rendered":"https:\/\/www.cogin.com\/blog\/?p=182"},"modified":"2017-12-15T14:13:29","modified_gmt":"2017-12-15T13:13:29","slug":"queues-azure-service-bus-msmq-users-part-3","status":"publish","type":"post","link":"https:\/\/www.cogin.com\/blog\/azure-service-bus\/queues-azure-service-bus-msmq-users-part-3\/","title":{"rendered":"More about queues &#8211; Azure Service Bus for MSMQ users, Part 3"},"content":{"rendered":"<h2>Special subqueues<\/h2>\n<p>Each Azure Service Bus queue has several subqueues. There&#8217;s no possibility to create your own custom\u00a0subqueue like you can in MSMQ. Also, there&#8217;s no journal like we have in MSMQ to keep all received messages (if turned on). There are no outgoing nor 3 system MSMQ queues. Let&#8217;s see what we do have.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-208\" src=\"https:\/\/www.cogin.com\/blog\/wp-content\/uploads\/2017\/12\/Subqueues.png\" alt=\"\" width=\"201\" height=\"130\" \/><\/p>\n<h3>Azure Service Bus Deadletter<\/h3>\n<p>It works more or less like MSMQ&#8217;s system deadletter queue &#8211; messages than for some reason can&#8217;t be handled are moved there. The main difference is &#8211; MSMQ has two deadletter\u00a0queues for entire machine (one for transactional, and one for non-transactional messages) and all messages end up there, while Service Bus has separate\u00a0deadletter for each queue.<\/p>\n<p>There could be various reasons why message ends up in a deadletter queue. Maybe it failed too many times, expired, or even manually\u00a0deadlettered by receiving application\u00a0for business reasons (e.g. product is no longer sold). Thankfully, each message ends contains a reason why it was moved there, and that can be seen from\u00a0<a href=\"\/mq\/\">QueueExplorer<\/a>:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-209\" src=\"https:\/\/www.cogin.com\/blog\/wp-content\/uploads\/2017\/12\/Deadletter-reason.png\" alt=\"\" width=\"491\" height=\"94\" srcset=\"https:\/\/www.cogin.com\/blog\/wp-content\/uploads\/2017\/12\/Deadletter-reason.png 491w, https:\/\/www.cogin.com\/blog\/wp-content\/uploads\/2017\/12\/Deadletter-reason-300x57.png 300w\" sizes=\"auto, (max-width: 491px) 100vw, 491px\" \/><\/p>\n<h3>Transfer and Transfer Deadletter queues<\/h3>\n<p>Apart from deadletter queue, each queue also has Transfer and Transfer Deadletter queues. These queues are used while messages\u00a0is forwarded by Azure or if it\u2019s a part of transactional operation spanning multiple queues.<\/p>\n<h3>Scheduled and deferred messages<\/h3>\n<p>These two are NOT real\u00a0subqueues. They are just a way for <a href=\"\/mq\/\">QueueExplorer<\/a> to show these special messages separate from regular ones. These messages also reside in main queue but they&#8217;re not visible by regular Receivers. That&#8217;s why it&#8217;s more convenient to see them separated. We&#8217;ll talk about them in next part of this series.<\/p>\n<h2>Queue Properties<\/h2>\n<p>There are some properties which affect how queues behave in a significant way, and we should really know when we should use them and when not.<\/p>\n<h3>Partitioned queues<\/h3>\n<p>When you turn on &#8220;Partitioned&#8221; when you create a queue, it will be split into fragments and hosted on multiple machines. Partition consists of 16 machines on Standard ties. Partitioning affects size, and you&#8217;ll get 16 times bigger queue in that case. Partitioning also improves throughput and reliability, since Service Bus can work with multiple machines in parallel, or even continue operations if some of queues are down. However, it brings a problem with the order of messages &#8211; when you perform Receive operation, Azure Service Bus will pick one of the\u00a0fragments more or less randomly and get you a message from top of it. So if order is important, you&#8217;ll have to use Sessions, which we&#8217;ll discuss next.<\/p>\n<p>You can affect how your messages are distributed to these fragments using partition key. Partition key can be set manually, or taken from Session or Message Id. If you want some subset of messages to be stored on same fragment, e.g. to keep their ordering, you should set same partition key on each one. In other cases it\u2019s better that Azure handles this distribution, first &#8211; to make sure fragments are filled up evenly, and second &#8211; to allow messages to be sent to a queue even if some fragments are down.<\/p>\n<p>You can choose whether queue is partitioned only when it\u2019s created, it can\u2019t be modified later.<\/p>\n<h3>Session queues (i.e. Require Session)<\/h3>\n<p>Sessions allow you to group multiple messages by giving them\u00a0the same session id. That way, you can handle all connected messages together, without interfering with other sessions and their receivers even if they all work in the\u00a0same queue. Also, messages within a\u00a0session will be ordered. For partition queues, all messages with the\u00a0same session will be stored on the\u00a0same partition and thus won\u2019t be randomly ordered when you receive them.<\/p>\n<p>If you need to store something that should be shared for entire session, each session has a state &#8211; it\u2019s a binary storage where you can put whatever you want. Same as with Partition mode, whether queue uses Sessions can be configured only when it&#8217;s created.<\/p>\n<h3>Max delivery count<\/h3>\n<p>This is a number which represents how many times receiving of a message can fail. After that, Azure Service Bus automatically moves that\u00a0message to deadletter queue. Default is 10. This number is a tradeoff. If we set it too low, some messages will end up in deadletter queue because of some short temporary issues. If it&#8217;s too high, a message which has permanent issues could stay on top of the queue for too long, blocking our processing.<\/p>\n<p>We&#8217;ll talk more about this in <a href=\"https:\/\/www.cogin.com\/blog\/msmq\/messages-azure-service-bus-msmq-users-part-4\/\">next post<\/a>.<\/p>\n<p><a href=\"https:\/\/www.cogin.com\/articles\/Introduction-to-azure-service-bus-for-MSMQ-users.php\">Links to all 5 parts<\/a>\u00a0of this series.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Special subqueues Each Azure Service Bus queue has several subqueues. There&#8217;s no possibility to create your own custom\u00a0subqueue like you can in MSMQ. Also, there&#8217;s no journal like we have in MSMQ to keep all received messages (if turned on). There are no outgoing nor 3 system MSMQ queues. Let&#8217;s see what we do have. [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":212,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[10,2],"tags":[11,5],"class_list":["post-182","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-azure-service-bus","category-msmq","tag-azure-service-bus","tag-msmq"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>More about queues - Azure Service Bus for MSMQ users, Part 3<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.cogin.com\/blog\/azure-service-bus\/queues-azure-service-bus-msmq-users-part-3\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"More about queues - Azure Service Bus for MSMQ users, Part 3\" \/>\n<meta property=\"og:description\" content=\"Special subqueues Each Azure Service Bus queue has several subqueues. There&#8217;s no possibility to create your own custom\u00a0subqueue like you can in MSMQ. Also, there&#8217;s no journal like we have in MSMQ to keep all received messages (if turned on). There are no outgoing nor 3 system MSMQ queues. Let&#8217;s see what we do have. [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.cogin.com\/blog\/azure-service-bus\/queues-azure-service-bus-msmq-users-part-3\/\" \/>\n<meta property=\"og:site_name\" content=\"Cogin blog\" \/>\n<meta property=\"article:published_time\" content=\"2017-12-14T09:16:18+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2017-12-15T13:13:29+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.cogin.com\/blog\/wp-content\/uploads\/2017\/12\/Queue-properties.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1088\" \/>\n\t<meta property=\"og:image:height\" content=\"605\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Dejan Grujic\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Dejan Grujic\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.cogin.com\\\/blog\\\/azure-service-bus\\\/queues-azure-service-bus-msmq-users-part-3\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.cogin.com\\\/blog\\\/azure-service-bus\\\/queues-azure-service-bus-msmq-users-part-3\\\/\"},\"author\":{\"name\":\"Dejan Grujic\",\"@id\":\"https:\\\/\\\/www.cogin.com\\\/blog\\\/#\\\/schema\\\/person\\\/e0c4fd92043868daa052d5978d69ed22\"},\"headline\":\"More about queues &#8211; Azure Service Bus for MSMQ users, Part 3\",\"datePublished\":\"2017-12-14T09:16:18+00:00\",\"dateModified\":\"2017-12-15T13:13:29+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.cogin.com\\\/blog\\\/azure-service-bus\\\/queues-azure-service-bus-msmq-users-part-3\\\/\"},\"wordCount\":781,\"image\":{\"@id\":\"https:\\\/\\\/www.cogin.com\\\/blog\\\/azure-service-bus\\\/queues-azure-service-bus-msmq-users-part-3\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.cogin.com\\\/blog\\\/wp-content\\\/uploads\\\/2017\\\/12\\\/Queue-properties.png\",\"keywords\":[\"Azure Service Bus\",\"MSMQ\"],\"articleSection\":[\"Azure Service Bus\",\"MSMQ\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.cogin.com\\\/blog\\\/azure-service-bus\\\/queues-azure-service-bus-msmq-users-part-3\\\/\",\"url\":\"https:\\\/\\\/www.cogin.com\\\/blog\\\/azure-service-bus\\\/queues-azure-service-bus-msmq-users-part-3\\\/\",\"name\":\"More about queues - Azure Service Bus for MSMQ users, Part 3\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.cogin.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.cogin.com\\\/blog\\\/azure-service-bus\\\/queues-azure-service-bus-msmq-users-part-3\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.cogin.com\\\/blog\\\/azure-service-bus\\\/queues-azure-service-bus-msmq-users-part-3\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.cogin.com\\\/blog\\\/wp-content\\\/uploads\\\/2017\\\/12\\\/Queue-properties.png\",\"datePublished\":\"2017-12-14T09:16:18+00:00\",\"dateModified\":\"2017-12-15T13:13:29+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.cogin.com\\\/blog\\\/#\\\/schema\\\/person\\\/e0c4fd92043868daa052d5978d69ed22\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.cogin.com\\\/blog\\\/azure-service-bus\\\/queues-azure-service-bus-msmq-users-part-3\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.cogin.com\\\/blog\\\/azure-service-bus\\\/queues-azure-service-bus-msmq-users-part-3\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.cogin.com\\\/blog\\\/azure-service-bus\\\/queues-azure-service-bus-msmq-users-part-3\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.cogin.com\\\/blog\\\/wp-content\\\/uploads\\\/2017\\\/12\\\/Queue-properties.png\",\"contentUrl\":\"https:\\\/\\\/www.cogin.com\\\/blog\\\/wp-content\\\/uploads\\\/2017\\\/12\\\/Queue-properties.png\",\"width\":1088,\"height\":605},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.cogin.com\\\/blog\\\/azure-service-bus\\\/queues-azure-service-bus-msmq-users-part-3\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.cogin.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"More about queues &#8211; Azure Service Bus for MSMQ users, Part 3\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.cogin.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.cogin.com\\\/blog\\\/\",\"name\":\"Cogin blog\",\"description\":\"Queuing tools and articles\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.cogin.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.cogin.com\\\/blog\\\/#\\\/schema\\\/person\\\/e0c4fd92043868daa052d5978d69ed22\",\"name\":\"Dejan Grujic\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/7edfd9071a535694242755af2736da7972b73f5d026be6563586a9b0ff7829d0?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/7edfd9071a535694242755af2736da7972b73f5d026be6563586a9b0ff7829d0?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/7edfd9071a535694242755af2736da7972b73f5d026be6563586a9b0ff7829d0?s=96&d=mm&r=g\",\"caption\":\"Dejan Grujic\"},\"sameAs\":[\"http:\\\/\\\/www.cogin.com\"],\"url\":\"https:\\\/\\\/www.cogin.com\\\/blog\\\/author\\\/gruja\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"More about queues - Azure Service Bus for MSMQ users, Part 3","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.cogin.com\/blog\/azure-service-bus\/queues-azure-service-bus-msmq-users-part-3\/","og_locale":"en_US","og_type":"article","og_title":"More about queues - Azure Service Bus for MSMQ users, Part 3","og_description":"Special subqueues Each Azure Service Bus queue has several subqueues. There&#8217;s no possibility to create your own custom\u00a0subqueue like you can in MSMQ. Also, there&#8217;s no journal like we have in MSMQ to keep all received messages (if turned on). There are no outgoing nor 3 system MSMQ queues. Let&#8217;s see what we do have. [&hellip;]","og_url":"https:\/\/www.cogin.com\/blog\/azure-service-bus\/queues-azure-service-bus-msmq-users-part-3\/","og_site_name":"Cogin blog","article_published_time":"2017-12-14T09:16:18+00:00","article_modified_time":"2017-12-15T13:13:29+00:00","og_image":[{"width":1088,"height":605,"url":"https:\/\/www.cogin.com\/blog\/wp-content\/uploads\/2017\/12\/Queue-properties.png","type":"image\/png"}],"author":"Dejan Grujic","twitter_misc":{"Written by":"Dejan Grujic","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.cogin.com\/blog\/azure-service-bus\/queues-azure-service-bus-msmq-users-part-3\/#article","isPartOf":{"@id":"https:\/\/www.cogin.com\/blog\/azure-service-bus\/queues-azure-service-bus-msmq-users-part-3\/"},"author":{"name":"Dejan Grujic","@id":"https:\/\/www.cogin.com\/blog\/#\/schema\/person\/e0c4fd92043868daa052d5978d69ed22"},"headline":"More about queues &#8211; Azure Service Bus for MSMQ users, Part 3","datePublished":"2017-12-14T09:16:18+00:00","dateModified":"2017-12-15T13:13:29+00:00","mainEntityOfPage":{"@id":"https:\/\/www.cogin.com\/blog\/azure-service-bus\/queues-azure-service-bus-msmq-users-part-3\/"},"wordCount":781,"image":{"@id":"https:\/\/www.cogin.com\/blog\/azure-service-bus\/queues-azure-service-bus-msmq-users-part-3\/#primaryimage"},"thumbnailUrl":"https:\/\/www.cogin.com\/blog\/wp-content\/uploads\/2017\/12\/Queue-properties.png","keywords":["Azure Service Bus","MSMQ"],"articleSection":["Azure Service Bus","MSMQ"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.cogin.com\/blog\/azure-service-bus\/queues-azure-service-bus-msmq-users-part-3\/","url":"https:\/\/www.cogin.com\/blog\/azure-service-bus\/queues-azure-service-bus-msmq-users-part-3\/","name":"More about queues - Azure Service Bus for MSMQ users, Part 3","isPartOf":{"@id":"https:\/\/www.cogin.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.cogin.com\/blog\/azure-service-bus\/queues-azure-service-bus-msmq-users-part-3\/#primaryimage"},"image":{"@id":"https:\/\/www.cogin.com\/blog\/azure-service-bus\/queues-azure-service-bus-msmq-users-part-3\/#primaryimage"},"thumbnailUrl":"https:\/\/www.cogin.com\/blog\/wp-content\/uploads\/2017\/12\/Queue-properties.png","datePublished":"2017-12-14T09:16:18+00:00","dateModified":"2017-12-15T13:13:29+00:00","author":{"@id":"https:\/\/www.cogin.com\/blog\/#\/schema\/person\/e0c4fd92043868daa052d5978d69ed22"},"breadcrumb":{"@id":"https:\/\/www.cogin.com\/blog\/azure-service-bus\/queues-azure-service-bus-msmq-users-part-3\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.cogin.com\/blog\/azure-service-bus\/queues-azure-service-bus-msmq-users-part-3\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.cogin.com\/blog\/azure-service-bus\/queues-azure-service-bus-msmq-users-part-3\/#primaryimage","url":"https:\/\/www.cogin.com\/blog\/wp-content\/uploads\/2017\/12\/Queue-properties.png","contentUrl":"https:\/\/www.cogin.com\/blog\/wp-content\/uploads\/2017\/12\/Queue-properties.png","width":1088,"height":605},{"@type":"BreadcrumbList","@id":"https:\/\/www.cogin.com\/blog\/azure-service-bus\/queues-azure-service-bus-msmq-users-part-3\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.cogin.com\/blog\/"},{"@type":"ListItem","position":2,"name":"More about queues &#8211; Azure Service Bus for MSMQ users, Part 3"}]},{"@type":"WebSite","@id":"https:\/\/www.cogin.com\/blog\/#website","url":"https:\/\/www.cogin.com\/blog\/","name":"Cogin blog","description":"Queuing tools and articles","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.cogin.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.cogin.com\/blog\/#\/schema\/person\/e0c4fd92043868daa052d5978d69ed22","name":"Dejan Grujic","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/7edfd9071a535694242755af2736da7972b73f5d026be6563586a9b0ff7829d0?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/7edfd9071a535694242755af2736da7972b73f5d026be6563586a9b0ff7829d0?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/7edfd9071a535694242755af2736da7972b73f5d026be6563586a9b0ff7829d0?s=96&d=mm&r=g","caption":"Dejan Grujic"},"sameAs":["http:\/\/www.cogin.com"],"url":"https:\/\/www.cogin.com\/blog\/author\/gruja\/"}]}},"_links":{"self":[{"href":"https:\/\/www.cogin.com\/blog\/wp-json\/wp\/v2\/posts\/182","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.cogin.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.cogin.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.cogin.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.cogin.com\/blog\/wp-json\/wp\/v2\/comments?post=182"}],"version-history":[{"count":9,"href":"https:\/\/www.cogin.com\/blog\/wp-json\/wp\/v2\/posts\/182\/revisions"}],"predecessor-version":[{"id":234,"href":"https:\/\/www.cogin.com\/blog\/wp-json\/wp\/v2\/posts\/182\/revisions\/234"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.cogin.com\/blog\/wp-json\/wp\/v2\/media\/212"}],"wp:attachment":[{"href":"https:\/\/www.cogin.com\/blog\/wp-json\/wp\/v2\/media?parent=182"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.cogin.com\/blog\/wp-json\/wp\/v2\/categories?post=182"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.cogin.com\/blog\/wp-json\/wp\/v2\/tags?post=182"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}