Способы создания сценариев создания ресурсов AWS

Просто предлагаю некоторый фон на ответе аршаджи.

Два булевых значения True и False имеют странное отношение с целыми числами.

С одной стороны, они имеют разные строковые представления и имеют отдельные тождества:

>>> print(True)
True
>>> print(1)
1

>>> True is 1
False

С другой стороны, они ведут себя как целые числа при сравнении и арифметике:

>>> True == 1
True
>>> True + 1
2

Причиной такого поведения является совместимость. Давным-давно, тип bool не существовал. «Булевы» операторы скопировали поведение С, повторно использовали 0 и 1 для «false» и «true».

В конце концов Guido реализовал , это не имело большого смысла и добавил константы, которые мы знаем и любим.

Но была проблема. Даже тогда было уже много кода, который обрабатывал логические значения, такие как целые числа. Если логические операции начали использовать «правильный» тип, весь этот код сломался.

Итак, Гвидо сделал компромисс. Булевы имеют свой собственный тип bool и отличаются друг от друга целыми числами. Но в арифметических операциях и сравнениях, особенно __eq__ и __hash__, они рассматриваются как одно и то же. Таким образом, старый код будет продолжать работать, в то время как новый код все еще может использовать новый тип bool.

Возможно, это изменится на Python 4. Но пока bool является подклассом int, и нам придется жить с этим.

(В отношении связанной заметки это одна из причин, почему True и False указаны в заголовке, а не в нижнем регистре, например другие ключевые слова Python.)

1
задан Vedran Maricevic. 22 February 2019 в 14:58
поделиться

3 ответа

Бессерверная платформа может быть тем, что вы ищете.

Я широко использовал его как в личных, так и в профессиональных проектах, и он делает то, что мне нужно. Это намного проще, чем Terraform и AWS SAM.

Все, что вам нужно сделать, это изменить файл serverless.yml. Несколько строк кода .yml преобразуются в сотни строк в шаблоне CloudFormation.

В Сети есть парашютисты, посвященные краш-тестам , включая несколько очень хороших в Udemy. Тем не менее, Serverless Framework легко подобрать, поэтому, если вы время от времени создаете функцию, вам следует довольно быстро к ней привыкнуть. Их документация тоже очень хорошая.

Вот пример того, как управлять вашими очередями SQS (поскольку вы упомянули SQS в исходном вопросе)

0
ответ дан Thales Minussi 22 February 2019 в 14:58
поделиться

Более простым решением для управления только лямбдами является использование AWS Chalice . Он может создавать триггеры Lambdas, API Gateway, CloudWatch. Он также может создавать триггеры для SQS и SNS для ваших функций Lambda, но не может , а не создавать очереди SQS или темы SNS.

Таким образом, вы можете развертывать Lambdas постепенно. Инструменты CD также могут быть настроены для автоматического развертывания.

0
ответ дан jarmod 22 February 2019 в 14:58
поделиться

В пространстве «инфраструктура как код» существует множество опций: CDK, CloudFormation, Terraform, Troposphere, Chalice, Serverless и другие.

Одно мнение см. В Формирование безсерверных облаков с помощью AWS: CloudFormation, SAM, CDK, Amplify .

0
ответ дан jarmod 22 February 2019 в 14:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: