<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Umar Abdulqadri</title>
    <description>The latest articles on DEV Community by Umar Abdulqadri (@umar_abdulqadri_3e900d548).</description>
    <link>https://dev.to/umar_abdulqadri_3e900d548</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F833200%2F1ecc89aa-0372-440d-bbcd-aeea6a2e400e.jpeg</url>
      <title>DEV Community: Umar Abdulqadri</title>
      <link>https://dev.to/umar_abdulqadri_3e900d548</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/umar_abdulqadri_3e900d548"/>
    <language>en</language>
    <item>
      <title>Create an Azure Policy</title>
      <dc:creator>Umar Abdulqadri</dc:creator>
      <pubDate>Thu, 05 May 2022 22:00:06 +0000</pubDate>
      <link>https://dev.to/umar_abdulqadri_3e900d548/create-an-azure-policy-1bkk</link>
      <guid>https://dev.to/umar_abdulqadri_3e900d548/create-an-azure-policy-1bkk</guid>
      <description>&lt;p&gt;&lt;strong&gt;Task 1: Create a Policy assignment&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Sign in to the Azure portal.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;search for and select &lt;strong&gt;Policy&lt;/strong&gt;, under the &lt;strong&gt;Authoring&lt;/strong&gt; section click &lt;strong&gt;Definitions&lt;/strong&gt;. Take a moment to review the list of built-in policy definitions. For example, in the Category drop-down select only Compute. Notice the Allowed virtual machine size SKUs definition enables you to specify a set of virtual machine SKUs that your organization can deploy.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--vLYM6Rp---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2v5og3szfp00whimwi56.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--vLYM6Rp---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2v5og3szfp00whimwi56.png" alt="Image description" width="880" height="469"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Return to the &lt;strong&gt;Policy page&lt;/strong&gt;, under the** Authoring** section click &lt;strong&gt;Assignments&lt;/strong&gt;. An assignment is a policy that has been assigned to take place within a specific scope. For example, a definition could be assigned to the subscription scope.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Click &lt;strong&gt;Assign Policy&lt;/strong&gt; at the top of the Policy - Assignments page.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;On the Assign Policy page, keep the default Scope&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Fnb3Ehje--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/om68gsp1d4ap6s03utae.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Fnb3Ehje--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/om68gsp1d4ap6s03utae.png" alt="Image description" width="880" height="469"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;On the Parameters tab, select Japan West. Click Review + create, and then Create.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--gbTmS9hP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kztsyc3wqpl3ah7rspdo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--gbTmS9hP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kztsyc3wqpl3ah7rspdo.png" alt="Image description" width="880" height="423"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Note: A scope determines what resources or grouping of resources the policy assignment applies to. In our case we could assign this policy to a specific resource group, however we chose to assign the policy at subscription level. Be aware that resources can be excluded based on the scope configuration. Exclusions are optional.&lt;/p&gt;

&lt;p&gt;Note: This Allowed Locations policy definition will specify a location into which all resources must be deployed. If a different location is chosen, deployment will not be allowed. For more information view the Azure Policy Samples page.&lt;/p&gt;

&lt;p&gt;The Allowed locations policy assignment is now listed on the Policy - Assignments pane and it is now in place, enforcing the policy at the scope level we specified (subscription level).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Task 2: Test Allowed location policy&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;In the Azure Portal, search for and select Storage accounts, and then click + Create.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Configure the storage account  letters and digits such that the name is globally unique. Leave the defaults for everything else.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--NhB0Xcgm--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/pcd18dgkk6ehb0ub0sg2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--NhB0Xcgm--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/pcd18dgkk6ehb0ub0sg2.png" alt="Image description" width="880" height="423"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Click Review + create and then click Create.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You will receive the deployment failed error stating that resource was disallowed by policy, including the Allowed locations policy name&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--yo9pouGK--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dpvzt4ohwhkhj896gm8v.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--yo9pouGK--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dpvzt4ohwhkhj896gm8v.png" alt="Image description" width="880" height="469"&gt;&lt;/a&gt;&lt;br&gt;
 . &lt;br&gt;
&lt;strong&gt;Task 3: Delete the policy assignment&lt;/strong&gt;&lt;br&gt;
In this task, we will remove the Allowed location policy assignment and test.&lt;/p&gt;

&lt;p&gt;We will delete the policy assignment to ensure we are not blocked on any future work we wish to do.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;search for and select Policy, and then click your Allowed locations policy.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Note: On the Policy blade, you can view the compliance state of the various policies you have assigned.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--L58enOyS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xe6uz9rjeyift7n8jjn1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--L58enOyS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xe6uz9rjeyift7n8jjn1.png" alt="Image description" width="880" height="469"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Note: The Allowed location policy may show non-compliant resources. If so, these are resources created prior to the policy assignment.&lt;/p&gt;

&lt;p&gt;Click Allowed Locations It will open an Allowed locations Policy Compliance window.&lt;/p&gt;

&lt;p&gt;Click Delete Assignment in the top menu. Confirm you wish to delete the policy assignment by clicking Yes&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--xSPF6z0m--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/j2y54hu4bunvncu6f2p7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--xSPF6z0m--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/j2y54hu4bunvncu6f2p7.png" alt="Image description" width="880" height="469"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Try to create another storage account to ensure the policy is no longer in effect.&lt;/p&gt;

&lt;p&gt;Note: Common scenarios where the Allowed locations policy can be useful include:&lt;/p&gt;

&lt;p&gt;Cost Tracking: You could have different subscriptions for different regional locations. The policy will ensure that all resources are deployed in the intended region to help cost tracking.&lt;br&gt;
Data Residency and Security compliance: You could also have data residency requirements, and create subscriptions per customer or specific workloads, and define that all resources must be deployed in a particular datacenter to ensure data and security compliance requirements.&lt;br&gt;
Congratulations! You have created an Azure Policy to restrict deployment of Azure resources to a particular datacenter.&lt;/p&gt;

&lt;p&gt;Note: To avoid additional costs, you can optionally remove this resource group. Search for resource groups, click your resource group, and then click Delete resource group. Verify the name of the resource group and then click Delete. Monitor the Notifications to see how the delete is proceeding.&lt;/p&gt;

</description>
      <category>cloud</category>
    </item>
    <item>
      <title>Manage resource locks</title>
      <dc:creator>Umar Abdulqadri</dc:creator>
      <pubDate>Thu, 05 May 2022 00:43:19 +0000</pubDate>
      <link>https://dev.to/umar_abdulqadri_3e900d548/manage-resource-locks-3flh</link>
      <guid>https://dev.to/umar_abdulqadri_3e900d548/manage-resource-locks-3flh</guid>
      <description>&lt;p&gt;Task 1: Adding a Lock to the resource group and test deletion&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Sign in to the Azure portal.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;In the Azure portal, navigate to the resource group umarproject.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;You can apply a lock to a subscription, resource group, or individual resource to prevent accidental deletion or modification of critical resources.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;In the Settings section, click Locks, and then click + Add fill the details and click ok.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--3Q1VuFTK--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/y7s6yeo2bngd8d9y0e3p.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--3Q1VuFTK--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/y7s6yeo2bngd8d9y0e3p.jpg" alt="Image description" width="880" height="495"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--2IXCGGQ9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/l2s3s7s90l26iv6esemq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--2IXCGGQ9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/l2s3s7s90l26iv6esemq.png" alt="Image description" width="880" height="495"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Click Overview and click Delete resource group. Type the name of the resource group and click OK. You receive an error message stating the resource group is locked and can’t be deleted.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--TXZ00I8a--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/t9hqchj5tapfdjc1jp4w.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--TXZ00I8a--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/t9hqchj5tapfdjc1jp4w.jpg" alt="Image description" width="880" height="495"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Task 2: Test deleting a member of the resource group&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Search for and select Storage accounts, and then  + Create&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;On the Storage Accounts page +Create, pick the name of the resource group that was lock earlier and then fill in the  storage name. Leave the defaults for everything else. as shown in the below image&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--0bZUAHtu--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/86ehuosai40f8k75aq3w.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--0bZUAHtu--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/86ehuosai40f8k75aq3w.jpg" alt="Image description" width="880" height="495"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Click Review + Create to review your storage account settings and allow Azure to validate the configuration.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Once validated, click Create. Wait for the notification that the account was successfully created.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Wait for the notification that the storage account was successfully created.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Access your new storage account and from the Overview pane, click Delete. You receive an error message stating the resource or its parent has a delete lock.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--cJSCuyQE--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gky11s72a8f93dwlwklt.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--cJSCuyQE--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gky11s72a8f93dwlwklt.jpg" alt="Image description" width="880" height="495"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Note:&lt;/strong&gt; Although we did not create a lock specifically for the storage account, we did create a lock at the resource group level, which contains the storage account. As such, this parent level lock prevents us from deleting the resource and the storage account inherits the lock from the parent.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Task 3: Remove the resource lock&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Return to the umarproject resource group blade and, in the Settings section, click Locks.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Click Delete link to the far right of the umarproject entry, to the right of Edit.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--dkhyvb6x--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/z9qbs0rsl8tj1fe252en.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--dkhyvb6x--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/z9qbs0rsl8tj1fe252en.jpg" alt="Image description" width="880" height="495"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Return to the storage account blade and confirm you can now delete the resource.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;*&lt;em&gt;Congratulations! You created a resource group, added a lock to resource group and tested deletion, tested deleting a resource in the resource group, and removed the resource lock.&lt;br&gt;
*&lt;/em&gt;&lt;br&gt;
**Note: **To avoid additional costs, you can optionally remove this resource group. Search for resource groups, click your resource group, and then click Delete resource group. Verify the name of the resource group and then click Delete. Monitor the Notifications to see how the delete is proceeding.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Implementation of Azure IoT Hub</title>
      <dc:creator>Umar Abdulqadri</dc:creator>
      <pubDate>Wed, 04 May 2022 23:45:29 +0000</pubDate>
      <link>https://dev.to/umar_abdulqadri_3e900d548/implementation-of-azure-iot-hub-3l31</link>
      <guid>https://dev.to/umar_abdulqadri_3e900d548/implementation-of-azure-iot-hub-3l31</guid>
      <description>&lt;p&gt;&lt;strong&gt;Task 1: Creating IoT Hub&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Sign in to the Azure portal.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;search for and select IoT Hub&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;click  Create and fill in the fields as shown in the image below&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--cyL6LF-S--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/opdu07w2q4tf8ifo1llo.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--cyL6LF-S--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/opdu07w2q4tf8ifo1llo.jpg" alt="Image description" width="880" height="495"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Go to the Management tab, and use the dropdown to set the Pricing and scale tier to S1: Standard tier.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Click the Review + create button.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Click the Create button to begin creating your new Azure IoT Hub instance.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--cbFMFb0---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/u3yudcua9073jnhmry9r.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--cbFMFb0---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/u3yudcua9073jnhmry9r.jpg" alt="Image description" width="880" height="495"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Wait until the Azure IoT Hub instance is deployed.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Task 2: Adding an IoT Device&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;When the deployment has completed, click Go to resource from the deployment blade. Alternatively, search for and select IoT Hub and locate your new IoT Hub instance&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Go to  resource scroll down to the Device management section and click Devices. Then, click + Add Device.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--2_jDmiEu--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wvkmlmi5xhntx52lvjas.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--2_jDmiEu--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wvkmlmi5xhntx52lvjas.jpg" alt="Image description" width="880" height="495"&gt;&lt;/a&gt;&lt;br&gt;
Provide a name for your new IoT device, qadriumar, and click the Save button. This will create a new IoT device identity in your Azure IoT Hub.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--keByZIPY--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wf72rz0atln64inmflvs.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--keByZIPY--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wf72rz0atln64inmflvs.jpg" alt="Image description" width="880" height="495"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;If you do not see your new device, Refresh the IoT Devices page.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Select qadriumar and copy the Primary Connection String value. You will use this key in the next task to authenticate a connection to the Raspberry Pi simulator.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--sYEqj9T6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/v8lp9tnsaksqu5l57wxh.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--sYEqj9T6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/v8lp9tnsaksqu5l57wxh.jpg" alt="Image description" width="880" height="495"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Task 3: Testing the device using a Raspberry Pi Simulator&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Open a new tab in the web browser and type this shortcut link &lt;strong&gt;(&lt;a href="https://aka.ms/RaspPi"&gt;https://aka.ms/RaspPi&lt;/a&gt;)&lt;/strong&gt; It will take you to a Raspberry Pi Simulator site. When done select “X” to close the pop-up window.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;In the code area on the right side, locate the line with ‘const connectionString =’. (line 15)Replace it with the connection string you copied from the Azure portal. Note that the connection sting includes the DeviceId (qadriumar) and SharedAccessKey entries.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--bWjBZvH3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5nlrk5n2g16rs540ixyt.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--bWjBZvH3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5nlrk5n2g16rs540ixyt.jpg" alt="Image description" width="880" height="495"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Click Run (below the code area) to run the application. The console output should show the sensor data and messages that are sent from the Raspberry Pi simulator to your Azure IoT Hub. Data and messages are sent each time the Raspberry Pi simulator LED flashes.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Click Stop to stop sending data.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--fHuZpuxG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/tdnjafw540s1h8v90pt9.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--fHuZpuxG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/tdnjafw540s1h8v90pt9.jpg" alt="Image description" width="880" height="495"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Return to Azure Portal&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Switch the IoT Hub Overview blade and scroll down to the IoT Hub Usage information to view usage. Change your timeframe in the show data for last to see data in the last hour.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--a8LRjl9K--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qkpzkk5bi5t7fy62jemx.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--a8LRjl9K--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qkpzkk5bi5t7fy62jemx.jpg" alt="Image description" width="880" height="495"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--eqTjmq7v--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/g9qs2p9v7pnothv2789q.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--eqTjmq7v--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/g9qs2p9v7pnothv2789q.png" alt="Image description" width="880" height="495"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Congratulations! You have set up Azure IoT Hub to collect sensor data from an IoT device.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; To avoid additional costs, you can optionally remove this resource group. Search for resource groups, click your resource group, and then click Delete resource group. Verify the name of the resource group and then click Delete. Monitor the Notifications to see how the delete is proceeding.&lt;/p&gt;

&lt;p&gt;Thank you all&lt;/p&gt;

</description>
    </item>
    <item>
      <title>How to create blob storage in Azure</title>
      <dc:creator>Umar Abdulqadri</dc:creator>
      <pubDate>Tue, 03 May 2022 21:08:04 +0000</pubDate>
      <link>https://dev.to/umar_abdulqadri_3e900d548/how-to-create-blob-storage-in-azure-5cdj</link>
      <guid>https://dev.to/umar_abdulqadri_3e900d548/how-to-create-blob-storage-in-azure-5cdj</guid>
      <description>&lt;p&gt;&lt;strong&gt;Creating a storage account&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Sign in to Azure portal&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;From the all service blade search for storage account&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Click on create fill the resource and storage account name as shown in the below image proceed to create and review&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--FowtpCgV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/14ifixm0avmhexq9ig8b.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--FowtpCgV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/14ifixm0avmhexq9ig8b.jpg" alt="storage account creation" width="880" height="495"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;once validated click on create and wait for the storage to deployed. Search for storage to verify if the storage account name entered earlier is created &lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--KXPTkiOe--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sieo4d6s3dc52y1gx6ki.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--KXPTkiOe--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sieo4d6s3dc52y1gx6ki.jpg" alt="storage account creation" width="880" height="495"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;Working with blob storage *&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Click the name of the new storage account(qadriumarr), scroll to the Data storage section in the left menu, and then click Containers.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Click + Container and complete the information. When done click Create as shown in the below images&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--kvw9Q-pT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ic6xg4vzbug8y41gsfj1.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--kvw9Q-pT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ic6xg4vzbug8y41gsfj1.jpg" alt="blob storage" width="880" height="495"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--I9AKkJZ7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4h7rhaslxgna5y402z3w.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--I9AKkJZ7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4h7rhaslxgna5y402z3w.jpg" alt="Image description" width="880" height="495"&gt;&lt;/a&gt;&lt;br&gt;
Back in the Portal, click on (qadriumarr) , and then select Upload.&lt;/p&gt;

&lt;p&gt;Browse for the image file you just saved on your local computer. Select it and then select upload.&lt;/p&gt;

&lt;p&gt;Click the Advanced arrow, leave the default values but review the available options, and then click Upload.&lt;/p&gt;

&lt;p&gt;Note: You can upload as many blobs as you like in this way. New blobs will be listed within the container.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--EQ6bGLrW--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5xokmi1goklvku1jstda.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--EQ6bGLrW--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5xokmi1goklvku1jstda.jpg" alt="Image description" width="880" height="495"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Once the file is uploaded, right-click on the file and notice the &lt;br&gt;
options including View/edit, Download, Properties, and Delete.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--BT0ZY5AV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/iuffwcb0gxqs8mxavvgv.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--BT0ZY5AV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/iuffwcb0gxqs8mxavvgv.jpg" alt="Image description" width="880" height="495"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Monitoring the created storage account&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Return to the storage account blade and click Diagnose and solve problems.&lt;/p&gt;

&lt;p&gt;Explore some of the most common storage problems. Notice there are multiple troubleshooters here.&lt;/p&gt;

&lt;p&gt;On the storage account blade, scroll down to the Monitoring section and click Insights. Notice there is information on Failures, Performance, Availability, and Capacity. as shown in the below images&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--IPtTYy9J--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kq7xf04xvpvdcvbussvg.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--IPtTYy9J--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kq7xf04xvpvdcvbussvg.jpg" alt="Image description" width="880" height="495"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--w9jAzl5v--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/z6c589beoqric8n5iwib.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--w9jAzl5v--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/z6c589beoqric8n5iwib.jpg" alt="Image description" width="880" height="495"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Note: To avoid additional costs, you can optionally remove this resource group. Search for resource groups, click your resource group, and then click Delete resource group. Verify the name of the resource group and then click Delete. Monitor the Notifications to see how the delete is proceeding.&lt;/p&gt;

&lt;p&gt;Thank you allll&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Creating and implementing key vault in Azure</title>
      <dc:creator>Umar Abdulqadri</dc:creator>
      <pubDate>Tue, 03 May 2022 16:38:15 +0000</pubDate>
      <link>https://dev.to/umar_abdulqadri_3e900d548/creating-and-implementing-key-vault-in-azure-pgk</link>
      <guid>https://dev.to/umar_abdulqadri_3e900d548/creating-and-implementing-key-vault-in-azure-pgk</guid>
      <description>&lt;p&gt;The below steps are used in creating and implementing key vault in Azure portal&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Sign in to Azure portal&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;search for and select Key vaults, then select Create&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--sqHhL3rM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6au2x3w0g5d0tysjlmos.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--sqHhL3rM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6au2x3w0g5d0tysjlmos.gif" alt="Image description" width="274" height="154"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fill in the resource group, key vault name and click on create as shown in the below image &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--aGivTcnk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/i5tbfl542h3u1ckmc5m1.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--aGivTcnk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/i5tbfl542h3u1ckmc5m1.jpg" alt="Image description" width="880" height="495"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;click on go to resource &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--N05TtZbG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3njtah4ktn8co57z14oz.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--N05TtZbG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3njtah4ktn8co57z14oz.jpg" alt="Image description" width="880" height="495"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;note take note of your Vault URL&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;ADDING A SECRET TO THE VAULT CREATED ABOVE&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Go to setting, click on secret and click generate/import as shown in the below image &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--F6UezOPX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/c4hoont64lvpph9gpnpq.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--F6UezOPX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/c4hoont64lvpph9gpnpq.jpg" alt="Image description" width="880" height="495"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fill in name and vault value&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--3ElL21nq--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/w5p7bdecs42gqh1p28pm.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--3ElL21nq--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/w5p7bdecs42gqh1p28pm.jpg" alt="Image description" width="880" height="495"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Select the secret you just created, note the the Secret Identifier. This is the url value that you can now use with applications. It provides a centrally managed and securely stored password.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Click the button Show Secret Value, to display the password you typed earlier.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--fpQa7Wt8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/98bgjlkii9y8qpogxqbr.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--fpQa7Wt8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/98bgjlkii9y8qpogxqbr.jpg" alt="Image description" width="880" height="495"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Thank you all and i hope this article help &lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
