メインコンテンツまでスキップ

Docwize Forge

Docwize Forge を使うと、ユーザーはワークフローノード — Forge ファンクション — として実行されるカスタムコードをアップロードできます。ファンクションはワークフローのドキュメントとそのファイルを受け取り、ユーザー自身のロジックを実行して、ワークフローが次にどのブランチへ進むかを決める結果を返します。

New > Workflow Setup > Forge からアクセスします。

Docwize Forge — usage meters, starter templates, and function list

Docwize Forge の概要

利用状況の上限

ページの上部には、月次の上限を示す2つのメーターが表示されます。

メーター内容
Runs this month今月使用したファンクション呼び出し回数を、プランの上限(例: 0 / 10,000)と対比して示します。
Compute this month今月使用したコンピュートの GB秒数を、プランの上限(例: 0.0 GB-s / 10,000.0 GB-s)と対比して示します。

両方のメーターは、Resets の隣に表示されている日付にリセットされます。

テンプレートから始める

Start from a template セクションでは、ダウンロード可能な4種類のスターターが提供されます。いずれもダウンロード後、アップロード前にローカルで実行できる、動作するファンクションです。

テンプレート説明
Python 3.12型付きの Event/Result SDK を1つのベンダー同梱ファイルにまとめたものです。最も手早く始められる方法で、システム依存が必要な場合を除きこちらを選ぶのが適切です。
Node 20Python 版のスターターと同じ Event/Result の形を持つ、async/await ハンドラーです。依存関係はバンドルにベンダー同梱されています。
Go依存関係のないスタティックバイナリにコンパイルされ、3つの中で最も速いコールドスタートを実現します。標準ライブラリのみを使用します。
Container (any language)任意のベースイメージ、任意の言語、任意のシステムパッケージを持ち込めます。プログラムは標準入力で JSON を読み取り、標準出力に JSON を書き出します — SDK は不要です。付属のサンプルは、zip ベースのランタイムでは提供できない jqpoppler を使用する Bash です。

ファンクションのアップロード

ファンクションを作成したら、Upload bundle をクリックしてアップロードダイアログを開きます。

ルートに docwize.forge.json を含む zip を選択してください。ランタイム、エントリーポイント、アウトプットルート、設定キーなど、ファンクションに関するすべての情報はそのマニフェストから読み取られます。

このダイアログは、ドロップされた .zip またはファイルピッカーで選択された .zip を受け付け、docwize.forge.json の形式についてさらに詳しい情報がある The manifest リンクを含みます。

アップロードコントロールの横にある DocsQuick start ボタンから、ファンクションの作成とパッケージ化に関する詳しいガイダンスを参照できます。

アップロード済みファンクションの管理

アップロードされた各ファンクションは、テンプレートの下にカードとして表示され、ランタイム、ステータス(例: ACTIVE)、現在のバージョン(例: v4 in use)、slug、ルート数、過去30日間の実行回数、最終実行時刻が示されます。カード上のゴミ箱アイコンでファンクションをアーカイブできます。

ファンクションのカードをクリックすると詳細ダイアログが開き、2つのタブがあります。

タブ内容
Versionsアップロードされたファンクションのすべてのバージョンで、それぞれのステータス、アップロード時刻、バンドルサイズ、短いコミット風のハッシュが表示されます。有効なバージョンには in use の表示があり、それより古いバージョンには、そのバージョンにロールバックするための Activate ボタンが表示されます。
Runsファンクションの直近の呼び出し履歴で、それぞれステータスバッジ(例: COMPLETED)、一致したアウトプットルート、実行時間(ミリ秒)、タイムスタンプ、実行されたワークフローインスタンス(例: Workflow #931)、アウトプットログの行数が表示されます。
Forge function detail dialog — Runs tab

Forge ファンクション詳細 — Runs タブ

Forge ファンクションの作成と使用方法

ステップ説明
1Start from a template から、必要なランタイムに合ったスタータテンプレート — Python 3.12Node 20Go、または Container — をダウンロードします。
2ローカルでファンクションを作成し、テストします。スターターの Event/Result の形(Container の場合は標準入出力の JSON)が、入ってくるデータと、ワークフローをどの結果ルートへ進めるかを定義します。
3ファンクションを、ルートに docwize.forge.json マニフェストを含む .zip としてパッケージ化します。マニフェストの形式については、アップロードダイアログの The manifest リンクを参照してください。
4Upload bundle をクリックし、.zip をドロップまたは選択します。ランタイム、エントリーポイント、アウトプットルート、設定キーはすべてマニフェストから読み取られます。
5アップロードされると、そのファンクションはカードとして表示され、ワークフローのノードパレットの Forge Functions カテゴリでノードとして利用できるようになります。
6そのファンクションのノードをワークフローテンプレートに追加します。アウトプットポートは、マニフェストで宣言されたルート(例: AppendedNo PDFError)に対応します — 連携ノードを参照してください。
7後でファンクションを更新するには、新しい .zip で再度 Upload bundle をクリックします。以前のバージョンは、そのファンクションのカードの Versions タブからロールバックできる状態で残ります。

関連する設定