Как получить идентификатор экземпляра компьютера с Windows EC2 в переменную пакета - PullRequest
0 голосов
/ 02 июня 2009

У меня есть командный файл, который я хотел бы запустить при запуске EC2 Windows AMI. Программа, которую я хотел бы запустить из этого пакетного файла, принимает в качестве параметра идентификатор экземпляра машины EC2. Как проще всего передать этот идентификатор экземпляра в качестве аргумента этой программе?

Из Документации Amazon по этому вопросу я вижу, что вы должны отправить WGET по указанному URL и проанализировать ответ. Поэтому альтернативный способ сформулировать этот вопрос может быть «Как передать содержимое HTTP-запроса программе в качестве аргумента в пакетном файле Windows»

В псевдокоде это то, что я хотел бы сделать:

set ID = GET http://169.254.169.254/2008-08-08/meta-data/instance-id
myprogram.exe /instanceID=%ID%

Любые предложения о том, как мне поступить?

1 Ответ

1 голос
/ 02 июня 2009

Невозможно открыть URL-адреса непосредственно в командном файле. Вы, конечно, можете использовать wget или подобное для получения содержимого этого URL. Затем вы либо получаете файл (содержимое которого вы можете назначить переменной среды [см., Например, Set = log.txt в пакете ]), либо вы получите вывод из программы, и в этом случае вы можете обернуть это в

for /f "usebackq delims=" %%x in (`print_contents_of_url http://169.254.169.254/2008-08-08/meta-data/instance-id`) do set ID=%%x

, который установит %ID% в ответ сервера на этот URL [при условии, что программа делает то, что я назвал]).

В обоих случаях вам понадобится отдельная программа для разговора по HTTP.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...