Проблемы с инициализацией в облаке с переменными

#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. Еще раз спасибо за помощь. Токен $ устанавливается в строке, предшествующей этой. Было бы намного проще, если бы я не мог использовать переменные, однако в моем исполнении значения переменных меняются от одного развертывания к другому.