Настройка пула пользователей Cognito для отправки электронных писем с помощью SES на ap-southeast-2 - PullRequest
3 голосов
/ 19 июня 2020

У меня есть следующий шаблон облачной информации (он является частью шаблона serverless.yml) для создания Cognito UserPool, который отправляет электронные письма с помощью SES.

Я развертываю свой бессерверный проект на ap-southeast- 2, и я хотел использовать тот же регион для отправки электронных писем. Я предварительно проверил в ap-southeast-2 учетную запись в шаблоне в SES, но если я заменю SourceArn в шаблоне ниже (последняя строка) на область ap-southeast-2 (или бессерверную псевдопеременную #{AWS::Region}), I получить ошибку:

An error occurred: CognitoUserPool - Unable to send email message, please try again (Service: AWSCognitoIdentityProviderService; Status Code: 400; Error Code: InvalidParameterException; Request ID: ...).

Когда я заменяю регион на us-west-2 (как в шаблоне ниже), он работает. Почему ap-southeast-2 не поддерживается, если он позволяет мне использовать SES из этого региона?

  CognitoUserPool:
    Type: AWS::Cognito::UserPool
    Properties:
      # Generate a name based on the stage
      UserPoolName: ${self:provider.stage}-user-pool
      # Set email as an alias
      AutoVerifiedAttributes:
        - email
      # UsernameAttributes and AliasAttributes are mutually exclusive configuration options
      AliasAttributes: # instead of UsernameAttributes:
        - preferred_username
        - email
      UsernameConfiguration:
        CaseSensitive: false
      AccountRecoverySetting:
        RecoveryMechanisms:
          - Name: verified_email
            Priority: 1
      AdminCreateUserConfig:
        UnusedAccountValidityDays: 5
        AllowAdminCreateUserOnly: false
      Policies:
        PasswordPolicy:
          MinimumLength: 10
          RequireLowercase: true
          RequireNumbers: true
          RequireSymbols: true
          RequireUppercase: true
      Schema:
        - Name: membershipType
          Required: false
          Mutable: true
          AttributeDataType: String
      VerificationMessageTemplate:
        DefaultEmailOption: CONFIRM_WITH_LINK
        EmailMessageByLink: "Please click on the following link to verify: {##Verify Email##}"
        EmailSubjectByLink: Please confirm your registration 
      EmailConfiguration:
        EmailSendingAccount: DEVELOPER
        From: my@email.com
        ReplyToEmailAddress: my@email.com
        SourceArn: arn:aws:ses:us-west-2:#{AWS::AccountId}:identity/my@email.com

1 Ответ

2 голосов
/ 19 июня 2020

Эта функция не поддерживается в ap-southeast-2. Ничего не получится, пока AWS не предоставит такую ​​поддержку в новых регионах.

Из docs :

Доступные регионы для Amazon SES: Восток США ( Северная Вирджиния) us-east-1, US West (Oregon) us-west-2 и Европа (Ирландия) eu-west-1. Amazon SES не поддерживает получение электронной почты в следующих регионах: Азия и Тихоокеанский регион c (Мумбаи), Азиатско-Тихоокеанский регион c (Сидней) , Канада (Центральная), Европа ( Франкфурт), Европе (Лондон), Южной Америке (Сан-Паулу) и AWS GovCloud (США).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...