Как получить метаданные и добавить в существующий HTML-файл - PullRequest
0 голосов
/ 30 января 2019

Я пишу скрипт на YAML для запуска веб-сервера Ubuntu в Amazon Web Services.Я хочу получить метаданные (в частности, общедоступное имя DNS и текущий регион AWS) и добавить эту информацию в HTML-файл, который уже присутствует.

Я не уверен, как реализовать способ как получить метаданные и добавить их в HTML-файл.https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html#instancedata-data-retrieval показывает команду и URL, которые я должен использовать для получения необходимых метаданных, но я не уверен, как записать их в мой код, чтобы эти данные были записаны в мой файл index.html.

UserData:
        'Fn::Base64': |
          #!/bin/bash -x

          # set timezone
          timedatectl set-timezone America/New_York

          # install and setup apache
          apt-get update
          apt-get install -y nginx
          cd /var/www/html
          echo "<title>User #1</title> <h1>You are User #1</h1> <h2></h2>" > index.html
          service nginx start

Прямо сейчас, когда отображается html-файл, «Пользователь № 1» находится в заголовке, а «Вы - Пользователь № 1» на странице.Я хочу знать, как сделать так, чтобы область Public DNS и AWS отображалась ниже.

1 Ответ

0 голосов
/ 30 января 2019

Механизм, который вы используете прямо сейчас, не приводит к действительному файлу HTML .Поэтому вы должны исправить это.

Самое простое решение для внедрения общедоступного имени хоста DNS и региона AWS в статический HTML-файл, вероятно, заключается в использовании файла шаблона index.html с заполнителями для имени хоста DNS и региона AWS, например.:

<!DOCTYPE html>
<html lang="en">
<head>
    <title>Here is a title</title>
</head>
<body>
    <p>AWS region: %AWS_REGION%</p>
    <p>Public hostname: %DNS_HOSTNAME%</p>
</body>
</html>

А затем используйте sed для замены %AWS_REGION% и %DNS_HOSTNAME% фактическими значениями времени выполнения, полученными с помощью curl, например:

Обратите внимание, что для получения региона AWS вам необходимо проанализировать его из AZ .

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