#linux #azure #ubuntu #cloud #cloud-init
#linux #azure #ubuntu #облако #инициализация в облаке
Вопрос:
Все, я пытаюсь запустить эту команду в скрипте инициализации в облаке на Ubuntu: dcs = $(https: // $KEYVAULTNAME.vault.azure.net/secrets/deviceConnectionString?api-version=2016-10-01 -H «Авторизация: токен на предъявителя в размере $»)
Однако он завершается не так, как ожидалось, и когда я устанавливаю echo для dcs…то, что я вижу, это:
https://MyKeyvaultName.vault.azure.net/secrets/deviceConnectionString?api-version=2016-10-01
но я не уверен, почему он отбрасывает все после -H.
Спасибо за любую помощь
Ответ №1:
Вам нужно изменить команду следующим образом:
dcs=$(curl "https://$KEYVAULTNAME.vault.azure.net/secrets/deviceConnectionString?api-version=2016-10-01" -H "Authorization: Bearer $token")
Тогда это будет работать на вас.
Комментарии:
1. Спасибо за ответ. Я изменил свой облачный инициализационный процесс с помощью строки, которую вы разместили выше, и я получаю следующий ответ: runcmd.13: {‘dcs= $ (curl ‘https: // $KEYVAULTNAME.vault.azure.net/secrets/deviceConnectionString?api-version=2016-10-01 ‘ -H «Авторизация’: ‘Предъявитель $токен»)’} недопустимо ни при какихо данных схемах мысли?
2. @KeithHill Извините, это моя ошибка. Когда вы используете переменную в URL, вам также необходимо использовать двойные кавычки. Я забыл об этом.
3. Спасибо за ответ… Я попробовал ваше предложение: моя команда настроена как: dcs= $(curl «https: // $KEYVAULTNAME.vault.azure.net/secrets/deviceConnectionString?api-version=2016-10-01 » -H Авторизация: токен на предъявителя в размере $) Однако в файле cloud-init-output я получаю эту ошибку: runcmd.13: {‘dcs= $ (curl «https: // $KEYVAULTNAME.vault.azure.net/secrets/deviceConnectionString?api-version=2016-10-01 » -H Авторизация’: ‘Предъявитель $токен)’} недействительна ни в одной из приведенных схем мысли?
4. @KeithHill Что насчет токена? Как я вижу, это тоже переменная, вы используете двойные кавычки? Или вместо всех переменных с точным значением.
5. Еще раз спасибо за помощь. Токен $ устанавливается в строке, предшествующей этой. Было бы намного проще, если бы я не мог использовать переменные, однако в моем исполнении значения переменных меняются от одного развертывания к другому.