この記事は MicroAd Advent Calendar 2024 9日目の記事です。
内容は、Digdag APIに対してhttp
オペレーターを使用してみたという話です。
DigdagのHTTPオペレーターとは
Digdagで使用できるネットワーク操作の一つで、指定したURIに対してHTTPリクエストを行うことができます。
主なパラメータとして以下を指定できます。
- http>
- リクエスト送信先のURIを指定できます。
- 例:
http>: https://api.example.com/foobar
- method
-
POST
やDELETE
などリクエストのメソッドを指定できます。デフォルトはGET
メソッドです。
-
- content
- リクエストのボディを設定できます。
まとめるとこのような形でタスクの中でhttpリクエストを送信できます。
request.dig
+request:
http>: https://api.example.com/foobar
method: POST
content: 'hello world'
他にも、JSONフォーマットを指定したりヘッダーを変更するパラメータもあります。
詳しくは公式Docを参照してください。↓
Digdag APIに対して使ってみる
HTTPオペレーターはもちろんDigdagAPIにも使用できます。
api_request.dig
_export:
digdag_host: host_name:8000
+fetch:
http>: http://${digdag_host}/api/version
store_content: true
+process:
echo>: ${http.last_content}
結果
{"version":"0.9.42"}
上記のようにstore_content
というパラメータをつけると後続のタスクで返却された内容を使用することができます。
他にも
稼働しているワークフロー一覧を取得したい場合↓
request.dig
http>: http://${digdag_host}/api/sessions
指定したワークフローを実行したい場合↓
request.dig
http>: http://${digdag_host}/api/sessions
method: POST
content: '{"workflow_name": "my_workflow"}'
など様々な使い方がありそうですね。