CreateIfNotExistsAsyn c - этот запрос не авторизован для выполнения этой операции - PullRequest
0 голосов
/ 01 мая 2020

Я использую пример клиентского приложения Microsoft, которое помещает изображение в хранилище BLOB-объектов.

Оно работает на моем ноутбуке, но когда я помещаю его в службу Azure VM Windows, я получаю следующую ошибку:

ERROR: This request is not authorized to perform this operation. -    at 
Microsoft.Azure.Storage.Core.Executor.Executor.<ExecuteAsync>d__1`1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.Azure.Storage.Blob.CloudBlobContainer.<CreateAsync>d__9.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.Azure.Storage.Blob.CloudBlobContainer.<CreateIfNotExistsAsync>d__21.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()

Оба IP-адреса (ноутбук и виртуальная машина) были добавлены в настройки брандмауэра.

Я использую один и тот же ключ доступа для обоих. Я также попробовал второй ключ.

            string containerName = ContainerPrefix + Guid.NewGuid();
        CloudStorageAccount storageAccount = Common.CreateStorageAccountFromConnectionString();
        CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();
        CloudBlobContainer container = blobClient.GetContainerReference(containerName);
        try
        {
            BlobRequestOptions requestOptions = new BlobRequestOptions() { RetryPolicy = new NoRetry() };
            await container.CreateIfNotExistsAsync(requestOptions, null);
        }
        catch (StorageException ex)
        {
            Console.WriteLine($"ERROR: {ex.Message} - {ex.StackTrace}");
            Console.ReadLine();
            throw;
        }

Мысли?

Джина

1 Ответ

0 голосов
/ 02 мая 2020

Попробуйте разрешить доступ из: всех сетей, чтобы исключить возможность выдачи IP-адреса.

enter image description here

...