Cloudformation - 无法导入资源

2024-02-21

我正在创建 Step Functions,并希望在 cloudformation 代码中引用 Lambda 函数。 lambda 已经从单独的堆栈创建并导出为LambdaA从那个堆栈。

当我尝试导入时遇到问题LambdaA进入我的步骤功能代码。

这是我的云信息片段。

ABCStateMachine:
Type: 'AWS::StepFunctions::StateMachine'
Properties:
  StateMachineName: 'AbcStateMachine_1.0'
  RoleArn: 
    Fn::GetAtt: [ AbcStateMachineRole, Arn ] 
  DefinitionString: 
    Fn::Sub:
      - |-
        {
          "StartAt": "DoStuff",
          "Version": "1.0",
          "States": {
            "DoStuff" : {
              "Type": "Task",
              "Comment": "Does some stuff.,
              "Resource": {"Fn::ImportValue": "LambdaA"}, # error here
              "Next": "IsStuffDone"
            },
            "IsStuffDone": {
              "Type": "Choice",
            ...
            ...

我在 Cloudformation 控制台中收到以下错误:

状态机定义无效:“SCHEMA_VALIDATION_FAILED at /DoStuff/Resource”(服务:AWSStepFunctions;状态代码:400;错误代码:InvalidDefinition。

知道这里可能出了什么问题吗?


您不能在内部使用其他内部函数Fn::Sub功能。但Fn::Sub提供了解决这个问题的方法。它的工作原理有点像format函数可以在其他编程语言中工作。这是针对您的具体情况的示例:

ABCStateMachine:
Type: 'AWS::StepFunctions::StateMachine'
Properties:
  StateMachineName: 'AbcStateMachine_1.0'
  RoleArn: 
    Fn::GetAtt: [ AbcStateMachineRole, Arn ] 
  DefinitionString: 
    Fn::Sub:
      - |-
        {
          "StartAt": "DoStuff",
          "Version": "1.0",
          "States": {
            "DoStuff" : {
              "Type": "Task",
              "Comment": "Does some stuff.,
              "Resource": ${LambdaToImport}, # error here
              "Next": "IsStuffDone"
            }
            ...
          }
          ...
        }
      - LambdaToImport:
          Fn::ImportValue: LambdaA
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Cloudformation - 无法导入资源 的相关文章

随机推荐

  • Ubuntu 上的 java 和 libGDX / LWJGL 游戏全屏多显示器尺寸错误

    我正在开发一个 libGDX LWJGL 之上的库 游戏项目 并从多个不同的工作站使用 Intellij IDEA IDE Windows 7 x64 笔记本电脑 配备两个显示屏 1920x1080 和 1600x1200 nVidia G
  • WCF 多重绑定

    当我尝试多个端点时出现以下错误 System ServiceModel AddressAlreadyInUseException The TransportManager failed to listen on the supplied U
  • XAudio2 - 更改频率时播放生成的正弦声音

    我想开发一个应用程序来匹配您的耳鸣频率 播放频率 用户通过按加号或减号按钮来减少或增加频率 参见部分代码 基于 stackoverflow 的一些编码 谢谢 public static short BufferSamples new sho
  • Scala Play Json 读取

    我有一个示例代码如下 import play api libs json import play api libs functional syntax import play api data validation ValidationEr
  • 我应该使用什么 shebang 来始终指向 python3?

    我有一个使用 shebang 的脚本 usr bin env python 它在 Python 3 是唯一可用版本的计算机上运行良好 但在同时具有 Python 2 和 Python 3 的计算机上 它使用 Python 2 运行脚本 如果
  • 如何检测 TabBarView 刚刚被拖动?

    TabBar 小部件有一个 onTap 回调 可以检测用户何时刚刚按下了选项卡 这很有用 因此我们可以准备新的 tabView 来显示一些动态数据 TabBar 小部件还具有拖动功能 允许更改显示的 tabView 与点击另一个选项卡的结果
  • 当我将鼠标悬停在其上方大小发生变化的元素上时,如何防止 div 移动

    http bit ly 1fVGrBT http bit ly 1fVGrBT 这是我的网站 当您将鼠标悬停在 Problem 上并移开时 其下方的 div 会被上下推动 解决方案也会发生同样的情况 有什么想法或建议如何防止它移动吗 我认为
  • 采购后清理全局环境:如何在 R 中删除某种类型的对象

    我读到了一个公共数据集 该数据集在构建最终数据帧的过程中创建了数十个临时向量 由于该数据框将作为更大流程的一部分进行分析 因此我计划source使用创建数据帧的 R 脚本 但不想让自己或未来的用户面临混乱的全局环境 我知道我可以使用ls列出
  • 具有多个字段的对象的Java比较器[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我有一个对象Collection有 5 个字段 id entityType entityId brandId productId 要对一个
  • 如何拦截 .NET 程序中对文件的访问

    我需要在系统尝试访问文件时进行拦截 并在其发生之前执行某些操作 您可以使用FileSystemWatcher http msdn microsoft com en us library system io filesystemwatcher
  • 使用 python-requests 上传文件 - UnicodeDecodeError

    我正在尝试使用 python requests 上传文件 with open file zip rb as fff up requests post url files file fff 并得到 UnicodeDecodeError asc
  • TADOStoredProc 和 SQL Server 存储过程,参数作为默认值

    我正在使用 Delphi 7 和 SQL Server 2008 我创建了一个虚拟表和虚拟存储过程 如下所示 CREATE TABLE dbo Persons P ID int IDENTITY 1 1 NOT NULL LastName
  • 为什么枚举会转换为函数?

    考虑 enum Colors Red Green Blue 它转换成这样 var Colors function Colors Colors Colors Red 0 Red Colors Colors Green 1 Green Colo
  • @classmethod 的位置

    装饰器类方法的源代码位于python源代码中的哪里 具体来说 我无法找到它在版本 2 7 2 中定义的确切文件 我没有回答你的问题 但下面的代码显示了装饰器可能相当于classmethod 用纯 Python 编写 因为源代码中的那个是用
  • Xcode — 在外部编辑器中快速打开当前文件

    是否可以设置键盘快捷键 或者在某处添加一些菜单项 以在外部编辑器中打开当前编辑的文件 显然我可以这样做 在文件树中右键单击 在Finder中显示 在窗口标题中右键单击 选择包含目录 右键单击文件 打开方式 应用程序 但步骤太多了 呵呵 我已
  • Hibernate 搜索查找短语的部分匹配

    在我的项目中 我们使用带有 lucene 分析器和 Solar 的 Hibernate Search 4 5 我向我的客户提供一个文本字段 当他们输入一个短语时 我想找到所有User名称包含给定短语的实体 例如 考虑数据库中具有以下标题的条
  • 什么时候问题对于正则表达式来说太复杂了?

    请不要回答显而易见的问题 但是有哪些限制标志告诉我们不应使用正则表达式来解决问题 例如 为什么完整的电子邮件验证对于正则表达式来说太复杂 正则表达式是以下内容的文本表示有限状态自动机 http en wikipedia org wiki F
  • 如何使用 C++ 模板减少编译时间

    我正在将我的 C 应用程序的一部分从使用旧的 C 类型数组更改为模板化的 C 容器类 看这个问题 https stackoverflow com questions 2472944 good c array class for dealin
  • iOS 11 iPhone X 模拟器选项卡栏图标和标题呈现在顶部,相互覆盖

    有人对 iPhone X 模拟器的 UITabBar 组件有疑问吗 我的似乎将图标和标题渲染在彼此之上 我不确定我是否遗漏了任何东西 我也在 iPhone 8 模拟器中运行了它 以及一个实际设备 它看起来很好 正如故事板 iPhone X
  • Cloudformation - 无法导入资源

    我正在创建 Step Functions 并希望在 cloudformation 代码中引用 Lambda 函数 lambda 已经从单独的堆栈创建并导出为LambdaA从那个堆栈 当我尝试导入时遇到问题LambdaA进入我的步骤功能代码