Как получить название региона с помощью AWS CDK

Как можно получить название региона в AWS CDK?

Некоторые SDK предоставляют объекты Region (см. также этот вопрос)

Внутри конструкции CDK доступен self.region, а cdk.aws_region имеет класс RegionInfo, но не предоставляет имя, например: ap-southeast-1 -> Singapore

Если бы он был доступен в CDK, я думаю, вы бы нашли его в github.com/aws/aws-cdk/blob/master/packages/%40aws-cdk/… — сейчас его там нет, но это выглядит довольно простым дополнением.

Elliveny 17.05.2022 06:51
Формы c голосовым вводом в React с помощью Speechly
Формы c голосовым вводом в React с помощью Speechly
Пытались ли вы когда-нибудь заполнить веб-форму в области электронной коммерции, которая требует много кликов и выбора? Вас попросят заполнить дату,...
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Будучи разработчиком веб-приложений, легко впасть в заблуждение, считая, что приложение без JavaScript не имеет права на жизнь. Нам становится удобно...
Flatpickr: простой модуль календаря для вашего приложения на React
Flatpickr: простой модуль календаря для вашего приложения на React
Если вы ищете пакет для быстрой интеграции календаря с выбором даты в ваше приложения, то библиотека Flatpickr отлично справится с этой задачей....
В чем разница между Promise и Observable?
В чем разница между Promise и Observable?
Разберитесь в этом вопросе, и вы значительно повысите уровень своей компетенции.
Что такое cURL в PHP? Встроенные функции и пример GET запроса
Что такое cURL в PHP? Встроенные функции и пример GET запроса
Клиент для URL-адресов, cURL, позволяет взаимодействовать с множеством различных серверов по множеству различных протоколов с синтаксисом URL.
Четыре эффективных способа центрирования блочных элементов в CSS
Четыре эффективных способа центрирования блочных элементов в CSS
У каждого из нас бывали случаи, когда нам нужно отцентрировать блочный элемент, но мы не знаем, как это сделать. Даже если мы реализуем какой-то...
2
1
35
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

AWS предоставляет длинные имена регионов (например, Asia Pacific (Singapore) вместо ap-southeast-1) как общедоступные параметры хранилища параметров. Найдите это значение во время синтеза с помощью ssm.StringParameter.valueFromLookup*. Вам нужен идентификатор региона для пути к параметру, который стек (или конструкция) может исследовать самостоятельно.

export class MyStack extends cdk.Stack {
  constructor(scope: Construct, id: string, props: cdk.StackProps) {
    super(scope, id, props);

    const regionLongName: string = ssm.StringParameter.valueFromLookup(
      this,
      `/aws/service/global-infrastructure/regions/${this.region}/longName`
    );

    console.dir({ region: this.region, regionLongName });
  }
}

Для Питона

aws_cdk.aws_ssm.StringParameter.value_from_lookup(
            scope=self,
            parameter_name=f'/aws/service/global-infrastructure/regions/{self.region}/longName')

cdk synth вывод::

{ region: 'us-east-1', regionLongName: 'US East (N. Virginia)' }

* valueFromLookupконтекстный метод CDK будет кэшировать искомое значение хранилища параметров в cdk.context.json во время синтеза. Сначала вы можете получить фиктивное значение. Просто синтезатор снова.

Очень интересно!

zessx 17.05.2022 11:37

О, значит, я неправильно понял вопрос. Удалил мой ответ.

gshpychka 17.05.2022 11:48

Другие вопросы по теме