Модель бессерверных приложений AWS (SAM) — это мощная платформа для определения бессерверных приложений на AWS. Одним из ключевых компонентов шаблона SAM является раздел «Глобальные данные», который позволяет вам определять общие свойства и конфигурации, которые применяются к нескольким ресурсам в вашем бессерверном приложении. В этой статье мы рассмотрим различные методы использования раздела Globals в шаблоне AWS SAM с примерами кода.
Метод 1: определение глобальных переменных для всех ресурсов
Globals:
Function:
Timeout: 10
Runtime: python3.8
Environment:
Variables:
ENV_VAR: value
Метод 2: применение глобальных переменных к конкретным типам ресурсов
Globals:
Api:
Cors:
AllowMethods: "'OPTIONS,POST,GET'"
AllowHeaders: "'Content-Type,X-Amz-Date,Authorization,X-Api-Key'"
Метод 3: переопределение глобальных переменных на уровне ресурса
Resources:
MyFunction:
Type: AWS::Serverless::Function
Properties:
CodeUri: my-function/
Timeout: 20 # Override the global function timeout
Метод 4. Использование внутренних свойств в глобальных переменных
Globals:
Function:
Timeout: !Ref MyFunctionTimeout
Метод 5. Использование управляемых политик AWS с глобальными переменными
Globals:
Function:
Role: arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole
Раздел Globals в шаблоне AWS SAM предоставляет мощный и эффективный способ определения общих свойств и конфигураций ресурсов в вашем бессерверном приложении. Используя раздел Globals, вы можете уменьшить дублирование и обеспечить согласованность во всем приложении. Мы изучили различные методы использования раздела «Глобальные переменные», включая определение глобальных переменных для всех ресурсов, применение глобальных переменных к конкретным типам ресурсов, переопределение глобальных переменных на уровне ресурсов, использование встроенных функций и использование политик, управляемых AWS. Использование этих методов упростит процесс разработки бессерверных приложений и улучшит вашу инфраструктуру в плане написания кода.