Amazon cloudformation AWS堆栈输出ECR映像名称

Amazon cloudformation AWS堆栈输出ECR映像名称,amazon-cloudformation,amazon-ecr,Amazon Cloudformation,Amazon Ecr,我正在使用cloudformation创建一组ECR存储库,以便在我的根脚本中使用。对于任务定义,我需要将这些已创建存储库的图像名称设置为以下格式: {ACC_NR}.dkr.ecr.eu-central-1.amazonaws.com/{REPO_NAME} 当我在输出中输出创建的ECR时,我只有2个选项。我可以获取{REPO_NAME}而不需要前面的其他信息,或者获取ARN,它包含或多或少相同的信息,但结构不同 在CF模板内的变量中获取图像名称的最佳方法是什么?基本上,我需要一个字符串,您

我正在使用cloudformation创建一组ECR存储库,以便在我的根脚本中使用。对于任务定义,我需要将这些已创建存储库的图像名称设置为以下格式:

{ACC_NR}.dkr.ecr.eu-central-1.amazonaws.com/{REPO_NAME}
当我在输出中输出创建的ECR时,我只有2个选项。我可以获取{REPO_NAME}而不需要前面的其他信息,或者获取ARN,它包含或多或少相同的信息,但结构不同


在CF模板内的变量中获取图像名称的最佳方法是什么?基本上,我需要一个字符串,您可以在访问ECR并按下存储库旁边的“复制”按钮时获得该字符串。

您可以“手动”构建所需的ARN。例如,要将其作为输出添加到创建
AWS::ECR::Repository
的堆栈中,可以执行以下操作:

Resources:

    MyECRRepo:
        Type: AWS::ECR::Repository
        Properties:
            # some properties

Outputs:

    MyARN:
        Value: !Sub "${AWS::AccountId}.dkr.ecr.${AWS::Region}.amazonaws.com/{MyECRRepo}"

再次询问答案@Marcin。直到看到另一个问题,我才意识到这个问题是重复的。顺便说一句,你的解决方案很有魅力。@Ludo21South没问题。很高兴它起作用:-)