0

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を使用してこの値を取得するために非常に多くのオプションを試しましたが、うまくいきませんでした。

そのため、id 値が含まれているため、UserPool の「Pool ARN」値を取得しました。プール ARN は - " arn:aws:cognito-idp:us-east-1:XXXXXXXXXXXX:userpool/us-east-1_4kXXXXXXX " です。プール ARN に "us-east-1_4kXXXXXXX" サブストリングがあることがわかります。

以下のコードを試して、プール ARN から「us-east-1_4kXXXXXXX」値を取得しました -

_cognito_user_pool = _cognito.CfnUserPool(stack, id="pool-id", user_pool_name="user-auth-pool")
_user_pool_id = _cognito_user_pool.attr_arn.split('/')[1]

「IndexError: list index out of range」エラーが発生しました。

この ARN 値をコンソールに出力しようとしたところ、この値が得られました - ${Token[TOKEN.327]} ユーザー プールの arn 値がトークン形式であると出力される理由がわかりません。取得しようとするときはいつでもトークン形式であると思います。そのため、「/」で分割できません。ARN 値を任意のリソースに渡すと、トークン形式ではなく、適切な形式または文字列形式になります。しかし、それを操作しようとすると、「IndexError: list index out of range」エラーが発生します。トークン形式なので。

4

1 に答える 1