2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

MicroAd (マイクロアド)Advent Calendar 2024

Day 9

ワークフロー内でDigdag API に対してHTTPリクエストを送信する

Posted at

この記事は MicroAd Advent Calendar 2024 9日目の記事です。
内容は、Digdag APIに対してhttpオペレーターを使用してみたという話です。

DigdagのHTTPオペレーターとは

Digdagで使用できるネットワーク操作の一つで、指定したURIに対してHTTPリクエストを行うことができます。

主なパラメータとして以下を指定できます。

  • http>
    • リクエスト送信先のURIを指定できます。
    • 例:http>: https://api.example.com/foobar
  • method
    • POSTDELETEなどリクエストのメソッドを指定できます。デフォルトは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"}'

など様々な使い方がありそうですね。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?