Найдите ресурсы с помощью AWS CLI

AWSBeginner
Практиковаться сейчас

Введение

Команде отчётности нужно проверить свои тестовые настройки finance, не меняя рабочую среду или настройки другой команды. Вы найдёте нужные ресурсы, сделаете список удобнее для чтения и измените формат экспорта на CSV.

Сначала выполните работы о рабочей области и региональных ресурсах. Подключение CLI и ресурсы подготовлены в новой среде; прежние файлы или учётные данные не нужны. Используйте Terminal для команд и расположенный рядом AWS View для наблюдения за изменениями.

Связь с сертификацией

Эта лабораторная работа помогает на практике изучить следующие темы экзаменов.

  • Cloud Practitioner (CLF-C02) · Задача 3.1: Запросы ресурсов через CLI и ограниченные операционные списки.

Найдите тестовые настройки finance

На этом шаге вы сузите смешанный список ресурсов до настроек finance, назначенных для этой проверки.

В предыдущей работе вы узнали, как регион выбирает место. Здесь подготовленный регион по умолчанию — us-east-1: команды без --region используют это место. Вы по-прежнему можете явно указать --region us-east-1.

Перейдите в рабочий каталог:

cd /home/labex/project

Инвентаризация ресурсов — это перечень ресурсов. Просмотрите подготовленный перечень параметров:

aws ssm describe-parameters

Посмотрите на каждое поле Name и Description. Staging — это тестовая среда, используемая перед изменением production, где выполняется обычная рабочая деятельность. Список включает настройки finance staging, finance production и HR staging. Ваши три ресурса начинаются с /labex/inventory/finance/staging/.

Официальная Console представляет метаданные параметров в виде таблицы ресурсов. Сравните её столбцы Name и Type с полями, возвращаемыми describe-parameters. Имена в примере отличаются; в этой работе используются параметры String:

Таблица My parameters официального Parameter Store с именами и типами ресурсов

Источник: Блог AWS.

Список достаточно мал, чтобы просмотреть его глазами, но фильтр делает границы вашей работы понятнее. --parameter-filters просит сервис вернуть подходящие записи. Key=Name выбирает имена, Option=BeginsWith сопоставляет их начало, а Values=... задаёт это начало:

aws ssm describe-parameters --parameter-filters Key=Name,Option=BeginsWith,Values=/labex/inventory/finance/staging/

Вы должны увидеть три имени: report-format, report-owner и review-status. Их порядок может отличаться.

Фильтр по префиксу выбирает finance staging и исключает другие ресурсы из результата

Схема понятия: фильтр меняет возвращаемый список, а не ресурсы. Остальные настройки по-прежнему существуют.

Отметьте начало проверки конфигурации, обновив её существующий статус:

aws ssm put-parameter --name /labex/inventory/finance/staging/review-status --type String --value in-review --overwrite

Вы изучили put-parameter и --overwrite в первой работе. Теперь AWS View показывает in-review в finance staging. Оставьте finance production и HR без изменений.

Покажите имена и обновите формат экспорта

На этом шаге вы выведете только подходящие имена, затем измените формат экспорта finance staging.

Ответ содержит больше полей, чем вам сейчас нужно. --query выбирает части ответа; он не меняет сохранённые данные. В 'Parameters[].Name' выражение Parameters[] означает возвращённые записи, а .Name выбирает их имена. Оставьте выражение в одинарных кавычках.

Добавьте этот выбор к существующему фильтру:

aws ssm describe-parameters --parameter-filters Key=Name,Option=BeginsWith,Values=/labex/inventory/finance/staging/ --query 'Parameters[].Name'

Ответ — список из трёх имён в формате JSON. Обратите внимание: фильтр по-прежнему выбирает ресурсы, а запрос выбирает поля для отображения.

Выбор поля показывает имена ресурсов, сохраняя полные записи без изменений

Схема понятия: выбор Name скрывает другие поля из этого ответа; он не стирает их.

Для более компактного представления добавьте --output table:

aws ssm describe-parameters --parameter-filters Key=Name,Option=BeginsWith,Values=/labex/inventory/finance/staging/ --query 'Parameters[].Name' --output table

Те же три имени появляются в таблице. Формат вывода меняет только представление.

Прочитайте точную настройку формата staging по имени:

aws ssm get-parameter --name /labex/inventory/finance/staging/report-format

Найдите Value: его значение — json. Это формат экспорта приложения, отдельный от формата ответа JSON в CLI. Следующему по цепочке импортёру отчётов нужен CSV, поэтому обновите эту настройку:

aws ssm put-parameter --name /labex/inventory/finance/staging/report-format --type String --value csv --overwrite

Прочитайте её снова:

aws ssm get-parameter --name /labex/inventory/finance/staging/report-format

Теперь её значение — csv. В AWS View сравните finance staging с production и HR:

Только формат экспорта finance staging изменился на csv

Пример результата: finance staging использует csv; production остаётся json, а HR — xlsx. Статус вашей проверки по-прежнему in-review.

Подтвердите настройки и завершите проверку

На этом шаге вы прочитаете два проверенных значения и отметите конфигурацию finance staging как готовую.

Вы также можете выбрать одно поле отдельного ресурса. 'Parameter.Value' читает значение внутри Parameter; --output text показывает его без кавычек JSON:

aws ssm get-parameter --name /labex/inventory/finance/staging/report-format --query 'Parameter.Value' --output text

Ответ — csv. Подтвердите, кто владеет этой конфигурацией отчётности:

aws ssm get-parameter --name /labex/inventory/finance/staging/report-owner --query 'Parameter.Value' --output text

Ответ — finance. Это сохранённые значения; предыдущий список метаданных показывал вместо них имена и описания.

Теперь отметьте завершённую проверку как готовую:

aws ssm put-parameter --name /labex/inventory/finance/staging/review-status --type String --value ready --overwrite

Прочитайте результат:

aws ssm get-parameter --name /labex/inventory/finance/staging/review-status --query 'Parameter.Value' --output text

Ответ — ready. AWS View показывает finance staging с форматом csv, владельцем finance и статусом ready. Вы проверили настройки, а не развернули приложение отчётности.

Удалите выбранное пространство имён

На этом шаге вы удалите только ресурсы finance staging после успешного прохождения проверок.

Запрос CLI лишь формирует ответ; он не служит постоянной защитой для последующего удаления. Явно задайте границы очистки. delete-parameters принимает список точных имён через --names; это три ресурса, принадлежащие этому упражнению:

aws ssm delete-parameters --names /labex/inventory/finance/staging/report-format /labex/inventory/finance/staging/report-owner /labex/inventory/finance/staging/review-status

Поле DeletedParameters в ответе перечисляет удалённые имена; InvalidParameters должно быть пустым. Проверьте префикс staging успешным запросом к сервису:

aws ssm describe-parameters --parameter-filters Key=Name,Option=BeginsWith,Values=/labex/inventory/finance/staging/ --query 'Parameters[].Name' --output json

Результат — []. Ошибка подключения или аутентификации означает неудачное наблюдение, а не доказательство удаления.

Прочитайте имена оставшихся ресурсов:

aws ssm describe-parameters --query 'Parameters[].Name' --output table

Остаются три ресурса: формат и статус проверки finance production, а также формат HR staging. Проверьте их значения, ничего не меняя:

aws ssm get-parameter --name /labex/inventory/finance/production/report-format --query 'Parameter.Value' --output text
aws ssm get-parameter --name /labex/inventory/finance/production/review-status --query 'Parameter.Value' --output text
aws ssm get-parameter --name /labex/inventory/hr/staging/report-format --query 'Parameter.Value' --output text

Значения остаются json, ready и xlsx. AWS View показывает finance staging как No parameters, а остальные группы по-прежнему содержат параметры. Независимая проверка очистки также подтверждает сохранение их исходных версий и описаний.

Резюме

Вы нашли finance staging с помощью фильтра по префиксу имени, выбрали имена или одно значение через --query и использовали табличный или текстовый вывод для удобства чтения. Вы обновили только назначенную конфигурацию и удалили её, сохранив ресурсы других команд.

В следующей работе, «Упорядочьте ресурсы с помощью тегов», добавляются метки команды и среды, позволяющие группировать ресурсы даже при разных шаблонах имён.