You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在AWS Step Functions中用内置函数合并数组为字符串(无需Lambda)

AWS Step Functions 用内置函数实现数组合并为字符串

目前AWS Step Functions的内置Intrinsic Functions里没有直接提供数组拼接(join)的函数,但针对固定长度的数组,可以通过States.Format函数手动拼接;如果数组长度不固定,仅靠内置函数无法实现,必须借助Lambda。

固定长度数组的实现方式

以你提供的输入示例(3个元素的数组)为例,用States.Format结合数组索引来拼接:

状态配置示例

{
  "Type": "Pass",
  "Parameters": {
    "joinedValue.$": "States.Format('{}/{}/{}', $.inputArray[0], $.inputArray[1], $.inputArray[2])"
  },
  "ResultPath": "$",
  "End": true
}

输出结果

输入:

{
   "inputArray": ["a","b","c"],
   "joiner": "/"
}

输出(不带末尾分隔符):

{
   "inputArray": ["a","b","c"],
   "joiner": "/",
   "joinedValue": "a/b/c"
}

如果需要末尾带分隔符,修改States.Format的模板即可:

"joinedValue.$": "States.Format('{}/{}/{}/', $.inputArray[0], $.inputArray[1], $.inputArray[2])"

对应的输出就是"joinedValue": "a/b/c/"。

关键限制

  • 上述方法仅适用于长度固定的数组,如果数组元素数量动态变化(比如有时2个、有时5个),内置函数无法动态遍历数组完成拼接,这种情况下必须使用Lambda函数。
  • 用Lambda实现的话逻辑更简单,比如Python中直接用'/'.join(event['inputArray'])就能完成拼接,灵活适配任意长度的数组。

内容的提问来源于stack exchange,提问作者krishna Prasad

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 08:13:38