アクション定義の実行時実装
設計時構成のアクション定義の設計には、次のすべてまたは一部を含めることができます:
- ユーザーが選択できるように、ユーザー・インタフェースでアクションを表示するアイデンティティ。
- ユーザー・インタフェースでユーザーがアクションの範囲を変更できるようにする構成フィールド
- 入力および出力スキーマ。
入出力スキーマは動的に決定できます。
設計時の構成によって、アダプタ開発者がexecuteプロパティを使用して、およびフロー定義を参照して設計および駆動できるランタイム実行が制御されます。 フロー定義は次にアクセスします:
- 構成フィールドで選択された値。
- 接続プロパティ。
- アクションに送信される入力データ。
入力データは入力スキーマに準拠している必要があります。
フローの作成方法の詳細は、「フロー定義の概要」を参照してください。
外部アプリケーションのGoogle Sheets APIエンドポイントを起動し、フロー定義を使用して実行する方法を示すサンプル・コード:
"insertRowFlow": {
"id": "insertRowFlow",
"description": "insertRowFlow",
"specVersion": "0.8",
"version": "0.1",
"start": "startState",
"functions": [
{
"name": "generalRestFunc",
"type": "custom",
"operation": "connectivity::rest"
}
],
"states": [
{
"name": "startState",
"type": "operation",
"actions": [
{
"functionRef": {
"refName": "generalRestFunc",
"arguments": {
"uri": "https://sheets.googleapis.com/v4/spreadsheets/{spreadsheetId}/values/{range}:append",
"method": "POST",
"parameters": {
"spreadsheetId": "${ .configuration.spreadsheetId }",
"range": "${ .configuration.sheetId + \"!A1:Z1\" }",
"insertDataOption": "INSERT_ROWS",
"valueInputOption": "RAW"
},
"body": "${ {range: (.configuration.sheetId + \"!A1:Z1\"), majorDimension:\"ROWS\", values: .input | to_entries | [map(.value)] } }"
}
},
"actionDataFilter": {
"results": "${ .body }",
"toStateData": "${ .output }"
}
}
],
"end": true
}
]
}