擅长:python、mysql、java
<p>您的AWS帐户中是否已包含具有该名称的角色</p>
<p>cdk中的Cfn函数表示尚未完全连接到所有cdk中的构造和服务。因此,他们通常不会做其他人会做的事情——作为实例概要文件的CloudFormation模板,可能只是挂接到现有角色中,这个cfn函数后面的编码可能会继续,并在模板输出中创建一个角色项</p>
<p>如果您执行cdk synth,请查看cdk.out目录,找到cloudformation模板,然后搜索gitLabRunner glue-您可能会发现正在创建一个AWS::IAM::ROLE,指示cloudformation尝试基于cdk创建的模板运行时,它尝试创建新资源,但无法运行</p>
<p>您可以尝试以下几个选项:</p>
<ol>
<li><p>尝试时,再次取消对角色的注释并使用role.role\u name,但将角色命名为其他名称,或者按照CDK的建议,不要包含名称,让它为您命名</p>
</li>
<li><p>在aws帐户中搜索角色并将其删除</p>
</li>
<li><p>如果绝对无法删除现有角色或无法使用新名称创建新角色,请使用(基于导入)导入角色</p>
<p>role=\u iam.role.from\u role\u arn(self,“ImportedGlueRole”,role\u arn=“arn:aws:of:the:role”,将授权添加到\u resources=True)</p>
</li>
</ol>
<p>要小心一点向资源添加权限-如果不是您的角色来处理cdk,那么如果您这样做,cdk可能会做出更改,这可能会在其他地方引起问题-但是如果不是这样,那么您必须在aws控制台(或cli)中更新角色本身,以接受您的资源</p>