cadence-workflow - 使用 Cadence CLI 工具时,如何将复杂对象作为输入传递?
问题描述
这是一个示例工作流及其输入结构:
func MyWorkflow(ctx cadence.Context, input MyWorkflowParameters) error {
...
}
type MyWorkflowParameters struct {
SomeString: string,
SomeInteger: int32
}
input
在启动或发出工作流信号时,将上述复杂结构作为参数传递给 Cadence CLI 工具的最佳方式是什么?
解决方案
Cadence 命令行工具的input
参数接受几种不同格式的值,具体取决于您的工作流程所期望的。以下是三种情况的示例:
1. 单个整数或字符串:
--input 12345
--input “my-string"
2. 复杂对象:
当参数是示例中的结构时,您需要传递有效的 JSON 编码对象,如下例所示:
--input '{"SomeString":"my-string","SomeInteger":12345}'
3.多个参数:
如果您的工作流需要多个参数,则需要传递一个以空格分隔的字符串,其中字符串的每个部分对应于工作流预期的特定参数。下面的例子展示了如何连续传递一个整数、一个字符串和一个结构参数:
--input '12345 "second param" {"SomeString":"my-string","SomeInteger":12345}'
在相关说明中,在工作流中接受输入参数的推荐方法是使用单个结构参数。尽管 JSON 中的语法糖会稍微污染 CLI 命令,尤其是当您只需要传递一个参数时,但当您开始向工作流传递更多参数时,它会有所回报。
推荐阅读
- android - Android Q - 如何获取下载文件夹的真实路径
- arrays - 如何通过 MATLAB 向 ESP32 串口发送一个大数组(96000 个样本)?
- php - php regex 从模式中获取所有 int 或 decimal
- c++ - C ++中的常量对象或私有/常量数据成员(变量)?
- javascript - 多个文件 javascript - 只读变量(如何编辑它们)
- php - 如何 $push 到数组 MongoDB PHP 驱动程序
- javascript - 如何从Angular模板后端的下拉列表中获取价值
- mapbox - 在 WorldScaleARexample 中选择对象
- lotus-domino - 在 IBM Domino Designer 的视图中显示所有字段
- java - 创建自定义注释,它声明并启动一个对象