title: Azure Storage Emulator 403 Forbidden
body: <p>Via Nuget, I upgraded <code>WindowsAzure.Storage</code> to <code>8.1.1</code>.</p>
  
  <p>I then downloaded the <code>AzureStorageEmulator 5.1.0.0</code> client.</p>
  
  <p>My connection string:</p>
  
  <pre><code>UseDevelopmentStorage=true;
  </code></pre>
  
  <p>I've made no code changes since previously when it was apparently working fine.  I know get the exception:</p>
  
  <pre><code>Microsoft.WindowsAzure.Storage.StorageException: The remote server returned an error: (403) Forbidden. ---&gt; System.Net.WebException: The remote server returned an error: (403) Forbidden.
     at System.Net.HttpWebRequest.GetResponse()
     at Microsoft.WindowsAzure.Storage.Core.Executor.Executor.ExecuteSync[T](RESTCommand`1 cmd, IRetryPolicy policy, OperationContext operationContext) in c:\Program Files (x86)\Jenkins\workspace\release_dotnet_master\Lib\ClassLibraryCommon\Core\Executor\Executor.cs:line 677
     --- End of inner exception stack trace ---
     at Microsoft.WindowsAzure.Storage.Core.Executor.Executor.ExecuteSync[T](RESTCommand`1 cmd, IRetryPolicy policy, OperationContext operationContext) in c:\Program Files (x86)\Jenkins\workspace\release_dotnet_master\Lib\ClassLibraryCommon\Core\Executor\Executor.cs:line 604
     at Microsoft.WindowsAzure.Storage.Blob.CloudBlobContainer.CreateIfNotExists(BlobContainerPublicAccessType accessType, BlobRequestOptions requestOptions, OperationContext operationContext) in c:\Program Files (x86)\Jenkins\workspace\release_dotnet_master\Lib\ClassLibraryCommon\Blob\CloudBlobContainer.cs:line 233
     at C3.Code.Controls.Application.Storage.Blob.Blob.GetContainer(String containerName) in C:\Dropbox\Dropbox (Scirra Ltd)\Tom\C3 Website\C3Alpha2\Code\Controls\Application\Storage\Blob\Blob.cs:line 112
  Request Information
  RequestID:621bc19f-eb6a-4a98-b19e-f5b01ac22c26
  RequestDate:Thu, 27 Apr 2017 16:17:34 GMT
  StatusMessage:Server failed to authenticate the request. Make sure the value of Authorization header is formed correctly including the signature.
  ErrorCode:AuthenticationFailed
  ErrorMessage:Server failed to authenticate the request. Make sure the value of Authorization header is formed correctly including the signature.
  RequestId:621bc19f-eb6a-4a98-b19e-f5b01ac22c26
  Time:2017-04-27T16:17:34.5166522Z
  </code></pre>
  
  <p>When I call</p>
  
  <pre><code>var blobClient = GetClient();
  var container = blobClient.GetContainerReference(containerName);
  container.CreateIfNotExists(BlobContainerPublicAccessType.Blob);
  </code></pre>
  
  <p>I saw that system time can impact this, so I checked:</p>
  
  <pre><code>Server DateTime.UtcNow = 27/04/2017 16:17:34
  Exception RequestDate = Thu, 27 Apr 2017 16:17:34 GMT
  </code></pre>
  
  <p>Any ideas why I'm seeing this error after updating the client and the nuget package?</p>
  
  <p><strong>Edit: GetClient() Code:</strong></p>
  
  <pre><code>private static CloudBlobClient GetClient()
  {
      var account = CloudStorageAccount.Parse(Settings.Deployment.AzureConnectionString);
      return account.CreateCloudBlobClient();
  }
  </code></pre>
  
  <p><strong>Edit: BaseUri</strong></p>
  
  <p>Base URI is:
      <a href="http://127.0.0.1:10000/devstoreaccount1" rel="noreferrer">http://127.0.0.1:10000/devstoreaccount1</a></p>
  
  <p>Visit this I get:</p>
  
  <pre><code>&lt;Error&gt;
  &lt;Code&gt;InvalidQueryParameterValue&lt;/Code&gt;
  &lt;Message&gt;
  Value for one of the query parameters specified in the request URI is invalid. RequestId:9cc906b0-eec6-44b2-bb3d-f77020af4a4c Time:2017-04-27T16:43:16.8538679Z
  &lt;/Message&gt;
  &lt;QueryParameterName&gt;comp&lt;/QueryParameterName&gt;
  &lt;QueryParameterValue/&gt;
  &lt;Reason/&gt;
  &lt;/Error&gt;
  </code></pre>
  
  <p>During storage emulator init, it shows it's installed it to:<br>
  <code>(localdb)\MSSQLLocalDB</code> as <code>AzureStorageEmulatorDb51</code></p>
  
  <p>Visiting: <a href="http://127.0.0.1:10000/azurestorageemulatordb51" rel="noreferrer">http://127.0.0.1:10000/azurestorageemulatordb51</a></p>
  
  <p>Shows:</p>
  
  <pre><code>&lt;Error&gt;
  &lt;Code&gt;OutOfRangeInput&lt;/Code&gt;
  &lt;Message&gt;
  One of the request inputs is out of range. RequestId:dab5e6c1-bc4a-4c65-a4d9-6d44634cb36a Time:2017-04-27T16:47:20.3093597Z
  &lt;/Message&gt;
  &lt;/Error&gt;
  </code></pre>