Маркер Azure SAS AuthorizationResourceTypeMismatch - PullRequest
0 голосов
/ 12 июня 2019

Я создал учетную запись хранения Azure.Я создал хранилище файлов.Я сгенерировал токен SAS.Когда я пытаюсь получить доступ к файлу с помощью токена SAS, показывающего ошибку «Удаленный сервер возвратил ошибку: (403) Запрещено».

Я могу сгенерировать токен SAS.когда я пытаюсь получить доступ к файлу в файловом хранилище, бросая исключение.Я пытался скопировать и вставить URL-адрес в браузере сгенерировал ошибку "

<Error>
       <Code>AuthorizationResourceTypeMismatch</Code>
       <Message>
       This request is not authorized to perform this operation using 
        this resource type. RequestId:4cbc0cbe-401a-00c2-2edf- 
        202bc4000000 Time:2019-06-12T05:26:39.4816687Z
        </Message>
        </Error>"

Код, который я использую для генерации токена SAS

Статическая строка GetAccountSASToken ()

      SharedAccessAccountPolicy policy = new 
                          SharedAccessAccountPolicy()
    {
        Permissions = SharedAccessAccountPermissions.Read | 
                    SharedAccessAccountPermissions.Write | 
                    SharedAccessAccountPermissions.List,
                     Services = SharedAccessAccountServices.File,
        ResourceTypes = SharedAccessAccountResourceTypes.Service,
        SharedAccessExpiryTime = DateTime.UtcNow.AddHours(24),
        Protocols = SharedAccessProtocol.HttpsOnly,


    };

Код, который я использую для доступа к файлу

 XDocument objdoc = XDocument.Load(filepath+ sasToken);

После загрузки файла в XDocument мне нужно выполнить некоторые операции чтения и записи. Пожалуйста, помогите мне найти ошибку, которую я делаю

1 Ответ

0 голосов
/ 13 июня 2019

В SharedAccessAccountPolicy я изменил

ResourceTypes =SharedAccessAccountResourceTypes.Service to
 ResourceTypes = SharedAccessAccountResourceTypes.Object. Then It's working for me. 
...