AWS Step Functions:使用 JsonPath 过滤数组

2024-03-21

我需要在 AWS Step Functions 状态下过滤数组。这似乎是我应该可以使用 JsonPath 轻松实现的目标,但由于某种原因我正在努力。

我想要处理的状态如下所示:

{
  "items": [
    {
      "id": "A"
    },
    {
      "id": "B"
    },
    {
      "id": "C"
    }
  ]
}

我想通过删除其中的条目来过滤该数组id不在指定的白名单中。

为此,我定义了一个Pass表述如下:

"ApplyFilter": {
  "Type": "Pass",
  "ResultPath": "$.items",
  "InputPath": "$.items.[?(@.id in ['A'])]",
  "Next": "MapDeployments"
}

这利用了Json路径in操作员 https://github.com/json-path/JsonPath#filter-operators.

不幸的是,当我执行状态机时,我收到一个错误:

{
  "error": "States.Runtime",
  "cause": "An error occurred while executing the state 'ApplyFilter' (entered at the event id #8). Invalid path '$.items.[?(@.id in ['A'])]' : com.jayway.jsonpath.InvalidPathException: com.jayway.jsonpath.InvalidPathException: Space not allowed in path"
}

但是,我不明白语法有什么不正确。当我测试时here https://jsonpath.herokuapp.com一切正常。

我所做的有什么问题吗?是否有另一种方法可以使用 JsonPath 实现此类过滤器?


根据 Step Functions 的官方 AWS 文档,

不支持以下路径@ .. , : ? *

https://docs.aws.amazon.com/step-functions/latest/dg/amazon-states-language-paths.html https://docs.aws.amazon.com/step-functions/latest/dg/amazon-states-language-paths.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

AWS Step Functions:使用 JsonPath 过滤数组 的相关文章

随机推荐

  • 指定网格中的默认排序

    使用knockout kendo绑定绑定Telerik Kendo网格时是否可以指定默认排序 我像这样绑定网格 kendoGrid data grid Rows sortable allowUnsort false mode single
  • 删除观察者不工作

    我有下一个代码 implementation SplashViewVC void viewDidLoad super viewDidLoad self splashView backgroundColor UIColor colorWith
  • HTTPS + gzip:如果我只 gzip 非敏感文件,是否存在安全漏洞?

    据我了解 如果我将 gzipping 与 SSL HTTPS 一起使用 它会带来安全漏洞 违规 犯罪 如果我只在 CSS 和 JS 文件上使用它 如果这些文件通过 HTTPS 从我的服务器上提供 这仍然是一个安全漏洞吗 据我了解 答案是否定
  • 将字节数组转换为字符串

    我的Scala代码从字节流接收到一个二进制文件 它看起来像 61 62 63 64 内容是 abcd 我使用toString将其转换为p 但失败了 如何将其打印为字符串 如果您知道字节数组的字符集 则始终可以将其转换为字符串 val str
  • Android 上片段的立方体翻转动画

    我想实现一个基本的 3d 立方体 并在 Touch 上水平或垂直旋转 90 度 我想要实现的是类似于下图所示的内容 我已经实现了这个使用ViewPager s ViewTransformer但我对结果并不满意 动画不是很流畅 而且我无法翻转
  • 如何使用 Log4Net 在日志文件中获取当前用户名而不是 AppPool 身份

    我们在 ASP NET MVC3 应用程序中使用 Log4Net 一切正常 但我们希望在日志文件中看到当前用户名而不是应用程序池的标识 这是我们正在使用的附加程序配置
  • 使用jquery在div内添加图像[重复]

    这个问题在这里已经有答案了 每次我点击一个按钮
  • 使用具有大数据集的 SciPy 曲线拟合库时出现运行时错误

    如何使用 SciPy 曲线拟合函数拟合高斯曲线来关闭此错误 换句话说 如果它不适合模型峰值 那么它就不是峰值 所以我不想返回任何东西 另外 有没有更快的方法 curve fit 对于我的应用程序查看大量数据来说可能太慢 运行时错误 未找到最
  • 根据同级值与 XPath 匹配节点

    有一个像这样的 XML 文档
  • static >

    我有以下带有一个静态方法的类 public class Helper public static
  • React js onclick 地图函数中的切换类

    如何处理映射列表 dom 中的切换类 onclick 函数 this state data map function el i var className self state condition list row active inact
  • 将变量数组转换为字符串

    我正在尝试使用 vba 将变量数组转换为字符串 我尝试了两种方法 但都不起作用 它们似乎都在同一点上阻塞 Dim cell As Range Dim val As Variant For Each cell In Range packing
  • 将 JavaScript 类导入另一个类时出现意外的标识符 {classname}

    我正在使用 Node v10 11 0 并从 Ubuntu 18 04 运行此脚本 我的文件设置如下所示 main js import Login from Login mjs class Main constructor const lo
  • 将:click 事件传递到动态创建的

    我基本上需要能够触发一个或多个组件中的某些内容 即 当父级中的图标 按钮时通过 svelte component 动态添加 单击组件 例如我需要挂钩下面用 表示的部分 each charts as chart i div class wra
  • 具有链接时代码生成功能的 MSVC 能否跨 C 和 C++ 进行优化?

    If 链接时代码生成 LTCG https learn microsoft com en us cpp build reference ltcg link time code generation与 MSVC 一起使用时 是否可以跨 C 和
  • 使用 Facebook Graph API 和 HybridAuth 获取好友位置

    Problem 我想得到friends location来自 Facebook Graph API 我正在使用以下方式访问 API混合认证 http hybridauth sourceforge net 框架 如何返回朋友的位置 家乡等 我
  • 带箭头刻度的 Matplotlib 曲线

    我想知道是否可以绘制一条曲线matplotlib带有箭头刻度 就像是 from pylab import y linspace 0 10 0 01 x cos y plot x y gt 应该有这样的曲线 gt gt gt 当 x 增加时
  • JPA 检查实体是否可以删除

    如何检查JPA中的实体是否可以删除并且不会抛出数据完整性异常 我想到的唯一方法是一一检查所有引用的实体 或者尝试在事务中删除然后回滚 但是还有其他更简单的方法吗 如果 可以删除 的意思是 如果实体存在于持久性上下文中 那么您已经回答了您的问
  • iPhone ASIHTTP - 区分 API 调用?

    我目前有一个视图控制器 它实现 ASIHTTP 来处理 API 调用 我的视图控制器触发了 2 个单独的调用 我需要能够区分 requestFinished ASIHTTPRequest request 方法中的两个调用 这样我就可以相应地
  • AWS Step Functions:使用 JsonPath 过滤数组

    我需要在 AWS Step Functions 状态下过滤数组 这似乎是我应该可以使用 JsonPath 轻松实现的目标 但由于某种原因我正在努力 我想要处理的状态如下所示 items id A id B id C 我想通过删除其中的条目来