Аутентификация для HTTP-запроса в узле-КРАСНЫЙ

#azure #http #httprequest #node-red #azure-blob-storage

#azure #http #httprequest #узел-красный #azure-blob-хранилище

Вопрос:

Я пытаюсь использовать запрос PUT в Node-RED для сохранения данных в моей учетной записи хранилища больших двоичных объектов Azure. Запрос GET работает отлично, но остальные просто отправляют сообщения с ошибками. Я обнаружил, что мне нужно использовать аутентификацию, чтобы использовать их, и в этом вся проблема.

Для запроса PUT (в основном отправка чего-либо в учетную запись хранилища) Я пишу это:

https://myaccount.blob.core.windows.net/mycontainer/myblob и замените «myaccount» на имя моей учетной записи хранения. Но я получаю следующее сообщение обратно (в message.payload):

ResourceNotFound Указанный ресурс не существует. Идентификатор запроса: 9b69378d-201e-0082-6da2-eba158000000 Время: 2019-04-05T11:28:35.3349540Z

Моя проблема сейчас в том, что я понятия не имею, где получить имя пользователя и пароль для базовой аутентификации. Я могу найти только ключи доступа и подпись общего доступа (SAS) в службе Azure, и я не знаю, как интегрировать их в мою ссылку HTTP-запроса. Любая помощь?

********* РЕДАКТИРОВАТЬ Если я напишу SAS после ссылки для запроса, я получу это сообщение обратно в полезной нагрузке: <?xml version="1.0" encoding="utf-8"?><Error><Code>MissingRequiredHeader</Code><Message>An HTTP header that's mandatory for this request is not specified.RequestId:cdaa8fbc-201e-002b-2373-ef602a000000Time:2019-04-10T07:59:21.3226304Z</Message><HeaderName>x-ms-blob-type</HeaderName></Error>

В заголовках:

 {"content-length":"295","content-type":"application/xml","server":"Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0","x-ms-request-id":"cdaa8fbc-201e-002b-2373-ef602a000000","x-ms-version":"2018-03-28","x-ms-error-code":"MissingRequiredHeader","date":"Wed, 10 Apr 2019 07:59:20 GMT","connection":"close","x-node-red-request-node":"e24237e0"}
  

Комментарии:

1. Попробуйте передать токен sas, например https://myaccount.blob.core.windows.net/mycontainer/myblob?sp=ramp;st=2019-04-02T04:09:45Zamp;se=2019-04-02T12:09:45Zamp;spr=httpsamp;sv=2018-03-28amp;sig=xxxxxxZA0g=amp;sr=b , будет ли он работать?

2. Привет @JoyWang спасибо за вашу помощь. Я добавил токен SAS сразу после, как вы сказали. Я отредактировал свой вопрос и добавил вывод, который я получаю при этом. В нем говорится, что мне не хватает заголовка. Я новичок в этом, поэтому я не уверен, что это значит. Вы знаете, как это исправить? Спасибо.