Получение IndexError: ошибка индекса вне допустимого диапазона

Я создал объект "CfnUserPool", используя https://docs.aws.amazon.com/cdk/api/latest/python/aws_cdk.aws_cognito/CfnUserPool.html aws документ.

Я хотел получить идентификатор пула для UserPool. Значение его идентификатора - "us-east-1_4kXXXXXXX". Я пробовал так много вариантов получить это значение с помощью python, но это не сработало.

Итак, я получил значение «Pool ARN» для UserPool, потому что в нем есть значение id. ARN пула - "arn: aws :ognito-idp: us-east-1: XXXXXXXXXXXX: userpool / us-east-1_4kXXXXXXX". Вы можете увидеть, что в строке есть подстрока "us-east-1_4kXXXXXXX" Пул ARN.

Я пробовал код ниже, чтобы получить значение «us-east-1_4kXXXXXXX» из пула ARN -

_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: индекс списка вне допустимого диапазона».

Я попытался распечатать это значение ARN на консоли и получил это значение - $ {Token [TOKEN.327]} Я не знаю, почему он печатает значение arn пула пользователей в формате Token. Я думаю, что всякий раз, когда я пытаюсь получить его, он находится в формате Token, и поэтому я не могу разделить его на «/». Когда мы передаем значение ARN любому ресурсу, оно передается в правильном формате или строковом формате, а не в формате токена. Но если мы попытаемся манипулировать им, он выдаст ошибку «IndexError: индекс списка вне допустимого диапазона». поскольку он имеет формат токена.


person Nitesh    schedule 25.12.2019    source источник
comment
не могли бы вы поделиться значением "_cognito_user_pool"   -  person Adam Strauss    schedule 25.12.2019
comment
@AdamStrauss - Когда я пытаюсь распечатать значение arn, оно показывает - $ {Token [TOKEN.327]}   -  person Nitesh    schedule 26.12.2019
comment
Я отредактировал свой вопрос.   -  person Nitesh    schedule 26.12.2019


Ответы (1)


Ответ. Я решил эту проблему, используя UserPool вместо CfnUserPool. UserPool имеет атрибут user_pool_id, и мы можем получить значение его идентификатора с помощью этого атрибута.

person Nitesh    schedule 27.12.2019