Я пытаюсь создать общий ресурс файла на существующей учетной записи хранилища Azure с помощью сценария bash. У меня есть только имя учетной записи и ключ, но я не хочу использовать учетные данные для входа. Это то, что я до сих пор:вызов API службы хранения
#!/bin/sh
DATE_ISO=$(date +"%Y-%m-%dT%H:%M:%S")
VERSION="2015-02-21"
curl --header "x-ms-version: ${VERSION}" --header "x-ms-date: ${DATE_ISO}" --header "Authorization: SharedKey mystorageaccount:?????" https://mystorageaccount.file.core.windows.net/myshare?restype=share
documentation говорит, «Authorization» требуется (синтаксис: Authorization="[SharedKey|SharedKeyLite] <AccountName>:<Signature>"
) и "Signature" is a Hash-based Message Authentication Code (HMAC) constructed from the request and computed by using the SHA256 algorithm, and then encoded by using Base64 encoding. Так как же я могу генерировать эту подпись?
Я не уверен, что я понимаю ваш вопрос, но вам нужно будет написать код для создания подписи. Этот процесс описан во 2-й ссылке, которую вы поделили. –
Мой вопрос: как выглядит этот код? Может ли кто-нибудь привести пример? – Munchkin
См. Ответ в этом вопросе: http://stackoverflow.com/questions/41829911/azure-rest-api-put-blob. Посмотрите на функцию AuthorizationHeader. Вам нужно будет написать что-то подобное. НТН. –