1

サンプル ワークフローとその入力構造体を次に示します。

func MyWorkflow(ctx cadence.Context, input MyWorkflowParameters) error {
    ...
}

type MyWorkflowParameters struct {
    SomeString: string,
    SomeInteger: int32
} 

inputワークフローの開始またはシグナル送信時に、上記の複雑な構造体をパラメーターとして Cadence CLI ツールに渡す最良の方法は何ですか?

4

2 に答える 2

0

Cadence コマンド ライン ツールのinputパラメーターは、ワークフローが期待するものに応じて、いくつかの異なる形式の値を受け入れます。以下に 3 つのケースの例を示します。

1. 単一の整数または文字列:

--input 12345
--input “my-string"

2. 複雑なオブジェクト:

例のようにパラメーターが構造体の場合、次の例のように有効な JSON エンコード オブジェクトを渡す必要があります。

--input '{"SomeString":"my-string","SomeInteger":12345}'

3. 複数のパラメータ:

複数のパラメーターが必要なワークフローがある場合は、スペースで区切られた単一の文字列を渡す必要があります。文字列の各部分は、ワークフローで必要な特定のパラメーターに対応します。以下の例は、1 つの整数、1 つの文字列、および 1 つの構造体パラメーターを連続して渡す方法を示しています。

--input '12345 "second param" {"SomeString":"my-string","SomeInteger":12345}'

関連するメモとして、ワークフローで入力パラメーターを受け入れる推奨される方法は、単一の構造体パラメーターを使用することです。JSON のシンタックス シュガーは CLI コマンドを少し汚しますが、特に渡す必要があるのが 1 つのパラメーターだけの場合は、ワークフローにさらに多くのパラメーターを渡し始めると効果があります。

于 2020-04-19T05:08:56.267 に答える