如何获取在cdk脚本中创建的资源的Arn

时间:2020-06-23 14:34:39

标签: python amazon-web-services aws-cdk cdk

我目前正在尝试AWS CDK,但我坚持认为应该很容易做到的事情。

(我正在使用python,但我相信任何“启用了cdk”的语言都一样)

我可以创建一个认知用户池(有效):

    pool = cognito.CfnUserPool(self, "cdk_test_pool", 
        admin_create_user_config=cognito.CfnUserPool.AdminCreateUserConfigProperty(
            allow_admin_create_user_only=True
        ), 
        auto_verified_attributes=["email"], 
        policies=cognito.CfnUserPool.PoliciesProperty(
            password_policy=cognito.CfnUserPool.PasswordPolicyProperty(
                minimum_length=6, 
                require_lowercase=True, 
                require_numbers=True, 
                require_symbols=True, 
                require_uppercase=True
            )
        ), 
        user_pool_name="cdk_test_pool"
    )

现在我想创建一个apigateway授权者,但是我需要UserPool Arn:

    poolArn = ????????
    authorizer = apigateway.CfnAuthorizer(self, "cdk-test-authorizer",
        rest_api_id="hello-api", 
        type="COGNITO_USER_POOLS", 
        identity_source="method.request.header.Authorization", 
        name="cdk-test-authorizer", 
        provider_arns=[poolArn]
    )

我该怎么做? 谢谢!

1 个答案:

答案 0 :(得分:0)

Properties of the class CfnUserPool (construct)中一样,有 attrArn

provider_arns=[
    pool.attr_arn
]

如您所见,文档中没有关于该属性的描述,并且CDK及其文档仍然处于这种级别。请准备缺陷,不正确的文档以及CDK无法使用的示例。应该是beta版本。