我已使用https://docs.aws.amazon.com/cdk/api/latest/python/aws_cdk.aws_cognito/CfnUserPool.html AWS文档创建了“ CfnUserPool ”对象。
我想获取UserPool的“ Pool ID ”。 Id的值是-“ us-east-1_4kXXXXXXX ”。我尝试了很多选项来使用python获取此值,但是它没有用。
因此,我获取了UserPool的“ Pool ARN ”值,因为其中具有id值。 池ARN是-“ arn:aws:cognito-idp:us-east-1:XXXXXXXXXXXX:userpool / us-east-1_4kXXXXXXX ” 您可以看到池ARN中有“ us-east-1_4kXXXXXXX”子字符串。
我尝试下面的代码从池ARN中获取“ us-east-1_4kXXXXXXX”值-
Error
我收到“ IndexError:列表索引超出范围”错误。
我试图在控制台上打印此ARN值,但得到了这个值- $ {Token [TOKEN.327]} 我不知道为什么打印用户池arn值是令牌格式。我想无论何时尝试获取它,都是Token格式的,这就是为什么我不能用“ /”将其拆分。 当我们将ARN值传递给任何资源时,它会采用正确的格式或字符串格式,而不是令牌格式。但是,如果我们尝试对其进行操作,则会出现“ IndexError:列表索引超出范围”错误。。因为它采用令牌格式。
答案 0 :(得分:0)
答案- 我已经通过使用 UserPool 而不是 CfnUserPool 解决了此问题。 UserPool 具有“ user_pool_id ”属性,我们可以使用此属性获取其ID值。