1

Я новичок в безсерверной системе. Ну, по крайней мере, до последней версии, которая сильно зависит от CloudFormation.Безсерверная платформа: как развернуть с CloudFormation?

Я установил рамки глобально на моем компьютере с помощью:

npm install -g serverless 

Затем я создал службу, используя:

serverless create --template aws-nodejs --path myService 

Наконец, я побежал:

serverless deploy 

Все, кажется, развертывание обычно, оно не показывает ошибки в терминале. Я вижу файлы CloudFormation во вновь созданной, выделенной ведро S3.

Однако, я не могу найти функцию Lambda по умолчанию в консоли AWS Lambda.

Что мне не хватает? Могут ли файлы CloudFormation не создавать Lambda-функции после развертывания?

ответ

2

Причина функция Lambda по умолчанию hello не отображается в консоли AWS Lambda потому, что ваша функция лямбда был загружен в область по умолчанию (us-east-1), а консоль Lambda отображает функции другого региона.

Чтобы настроить нужный регион для своих функций, вы можете использовать поле области для файла serverless.yml.

Проверьте, чтобы регион недвижимости был непосредственно у поставщика услуг:. С отступом 2/4. Как это:

provider: 
    region: eu-west-1 

В качестве альтернативы, вы можете указать регион во время развертывания, например, так:

sls deploy --region eu-west-1 
+1

Нет необходимости использовать 4 пробела для идентификации. Я использую только 2 пробела, и он отлично работает. Спецификация YAML требует согласованности. – Zanon

+1

Кроме того, нет необходимости размещать регион непосредственно у поставщика. Вы можете установить между ними другие свойства. – Zanon

+1

@ Zanon прямо под i означает под провайдером. Где-то. Его легко разместить за пределами сферы действия поставщика. И с 4 пробелами я снова пытаюсь устранить сомнение в том, что область с отступом в области поставщика. – doorstuck

0

Duh, я сделал супер глупую ошибку:

I did not properly set the AWS region 

Итак, я искал для лямбда-функции в неверной области: конечно, это не может быть найдено!

Перед развертыванием, необходимо убедиться, чтобы установить правильный регион

UPDATE Ну на самом деле, я установить область в serverless.yml, обеспечивая:

region: eu-west-1 

Однако, по какой-то причине область по умолчанию не была перезаписана, и функция была развернута в неправильном регионе. Странно, что.

Во всяком случае, один простой способ обойти эту проблему заключается в обеспечении региона во время развертывания:

sls deploy --region eu-west-1 
+0

Какой версии бессерверных вы используете? Где в безсерверном.yml файл, вы разместили регион? Он работает для меня с регионом в serverless.yml. – doorstuck

+0

@doorstuck: безсерверная версия 1.5.0; Я раскомментировал область области в serverless.yml, чуть ниже «# вы можете перезаписать значения по умолчанию здесь» – Manube

+0

Хорошо. Просто убедитесь, что он находится непосредственно в разделе поставщика. С 4 отступом. Тогда я уверен, что это сработает. – doorstuck

Смежные вопросы