【问题标题】:Where are these references coming from in this AWS SAM snippet?此 AWS SAM 代码段中的这些引用来自哪里?
【发布时间】:2022-01-15 20:15:57
【问题描述】:

在本文档中:

https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-controlling-access-to-apis-cognito-user-pool.html

SAM 模板有这个 sn-p:

Resources:
  MyApi:
    Type: AWS::Serverless::Api
    Properties:
      StageName: Prod
      Cors: "'*'"
      Auth:
        DefaultAuthorizer: MyCognitoAuthorizer
        Authorizers:
          MyCognitoAuthorizer:
            UserPoolArn: !GetAtt MyCognitoUserPool.Arn

  MyFunction:
    Type: AWS::Serverless::Function
    Properties:
      CodeUri: ./src
      Handler: lambda.handler
      Runtime: nodejs12.x
      Events:
        Root:
          Type: Api
          Properties:
            RestApiId: !Ref MyApi
            Path: /
            Method: GET

  MyCognitoUserPool:
    Type: AWS::Cognito::UserPool
    Properties:
      UserPoolName: !Ref CognitoUserPoolName
      Policies:
        PasswordPolicy:
          MinimumLength: 8
      UsernameAttributes:
        - email
      Schema:
        - AttributeDataType: String
          Name: email
          Required: false
  
  MyCognitoUserPoolClient:
    Type: AWS::Cognito::UserPoolClient
    Properties:
      UserPoolId: !Ref MyCognitoUserPool
      ClientName: !Ref CognitoUserPoolClientName
      GenerateSecret: false

CognitoUserPoolNameCognitoUserPoolClientName 定义在哪里?

【问题讨论】:

    标签: amazon-web-services aws-sam


    【解决方案1】:

    此代码只是来自 CloudFormation 模板的 sn-p。 CognitoUserPoolNameCognitoUserPoolClientName 是应由您指定的字符串。一种方法是将它们作为参数传递:

    Parameters:
      CognitoUserPoolName:
        Type: String
        Description: Cognito User Pool name
      CognitoUserPoolClientName:
        Type: String
        Description: Cognito User Pool Client name
    

    【讨论】:

      最近更新 更多