Amazon web services 如何获得cognito用户';s";用户名";云层

Amazon web services 如何获得cognito用户';s";用户名";云层,amazon-web-services,amazon-cloudformation,amazon-cognito,Amazon Web Services,Amazon Cloudformation,Amazon Cognito,我创建了一个用户,如: SuperAdminUser: Type: AWS::Cognito::UserPoolUser Properties: DesiredDeliveryMediums: - EMAIL Username: !Ref SuperAdminEmail UserAttributes: - Name: email Value: !Ref SuperAdminEmail

我创建了一个用户,如:

  SuperAdminUser:
    Type: AWS::Cognito::UserPoolUser
    Properties:
      DesiredDeliveryMediums:
        - EMAIL
      Username: !Ref SuperAdminEmail
      UserAttributes:
        - Name: email
          Value: !Ref SuperAdminEmail
      UserPoolId:
        Fn::ImportValue:
          !Sub ${BaseStack}-Cognito
用户池定义如下:

  CognitoUserPool:
    Type: AWS::Cognito::UserPool
    Properties:
      AdminCreateUserConfig:
        AllowAdminCreateUserOnly: false
        UnusedAccountValidityDays: 3
      LambdaConfig:
        PreSignUp: !GetAtt CognitoPreSignUpHook.Arn
      Policies:
        PasswordPolicy:
          MinimumLength: 8
          RequireNumbers: true
      UsernameAttributes:
        - email
我注意到它找不到用户,因为用户名如下:
9f8aecc2-530d-411d-8d73-c3b775da1893
while
!Ref
给出了这种情况下用户的电子邮件。我注意到,当我添加

      UsernameAttributes:
        - email

我如何解决这个问题?我注意到用户资源不允许我获取用户的子项

您收到的错误是什么?如果您只是创建用户池而不是用户(使用您需要的UsernameAttribute),它会给出错误还是通过?@ChrisPollard,当我不使用
UsernameAttributes
时,它会通过。我注意到区别在于:当使用
UsernameAttributes
时,我的代码需要使用的用户名是
Sub
(一些随机字符串),否则,就是我设置的电子邮件。我想这就是自那以后的区别!Ref提供用户名,而不是sub@ChrisPollard错误看起来像:用户不存在。(服务:AWSCognitoIdentityProvider;状态代码:400;错误代码:UserNotFoundException;请求ID:823e14a6-9d6e-11e8-867a-ab798cfb353a)@JiewMeng我有一个相关问题(),我需要子(UUID)才能将用户添加到组中。你知道怎么做了吗?@JiewMeng你能解决这个问题吗?