使用 Cadence CLI 工具时如何将复杂对象作为输入传递?
How can I pass a complex objects as input when using Cadence CLI tool?
这是一个示例工作流及其输入结构:
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 编码对象,如下例所示:
--输入'{"SomeString":"my-string","SomeInteger":12345}'
3。多个参数:
如果您的工作流程需要多个参数,则需要传递 单个 space 分隔字符串,其中字符串的每个部分对应一个特定参数工作流所期望的。下面的示例显示了如何连续传递一个整数、一个字符串和一个结构参数:
--input '12345 "second param" {"SomeString":"my-string","SomeInteger":12345}'
在相关说明中,在工作流中接受输入参数的推荐方法是使用单个结构参数。尽管 JSON 中的语法糖会稍微污染 CLI 命令,尤其是当您只需要传递一个参数时,当您开始将更多参数传递给工作流时,它会得到回报。
对于多个参数,使用数组:
--input '["a","b",123]'
这是一个示例工作流及其输入结构:
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 编码对象,如下例所示:
--输入'{"SomeString":"my-string","SomeInteger":12345}'
3。多个参数:
如果您的工作流程需要多个参数,则需要传递 单个 space 分隔字符串,其中字符串的每个部分对应一个特定参数工作流所期望的。下面的示例显示了如何连续传递一个整数、一个字符串和一个结构参数:
--input '12345 "second param" {"SomeString":"my-string","SomeInteger":12345}'
在相关说明中,在工作流中接受输入参数的推荐方法是使用单个结构参数。尽管 JSON 中的语法糖会稍微污染 CLI 命令,尤其是当您只需要传递一个参数时,当您开始将更多参数传递给工作流时,它会得到回报。
对于多个参数,使用数组:
--input '["a","b",123]'