メインコンテンツへスキップ
このドキュメントは AI によって自動翻訳されています。不正確な部分がある場合は、英語版 を参照してください。

はじめに

Dify カスタム API は API Endpoint としてアクセス可能な公開ネットワークアドレスを使用する必要があるため、カスタム API を公開ネットワークアドレスにデプロイする必要があります。 ここでは Cloudflare Workers を使用してカスタム API をデプロイします。 Example GitHub Repository をクローンします。このリポジトリには簡単なカスタム API が含まれており、これをベースに変更できます。
wrangler.toml ファイルを開き、namecompatibility_date をアプリケーション名と互換性日付に変更します。 ここで注意が必要な設定は、vars 内の TOKEN です。Dify でカスタム API を追加する際に、この Token を入力する必要があります。セキュリティ上の理由から、Token としてランダムな文字列を使用することをお勧めします。ソースコードに直接 Token を書き込むのではなく、環境変数を使用して Token を渡すべきです。そのため、wrangler.toml をコードリポジトリにコミットしないでください。
このカスタム API はランダムな Breaking Bad の名言を返します。src/index.ts でこのカスタム API のロジックを変更できます。この例は、サードパーティ API とのやり取り方法を示しています。
このリポジトリはビジネスロジック以外のすべての設定を簡略化しています。npm コマンドを直接使用してカスタム API をデプロイできます。
デプロイが成功すると、公開ネットワークアドレスが取得できます。このアドレスを Dify の API Endpoint として追加できます。endpoint パスを忘れないでください。このパスの具体的な定義は src/index.ts で確認できます。
Dify で API Endpoint を追加
また、npm run dev コマンドを使用してローカルにデプロイしてテストすることもできます。
関連する出力:
その後、Postman などのツールを使用してローカルインターフェースをデバッグできます。

Bearer Auth について

Bearer 検証ロジックは上記のコードにあります。hono/bearer-auth パッケージを使用して Bearer 検証を実装しています。src/index.tsc.env.TOKEN を使用して Token を取得できます。

パラメータ検証について

ここでは zod を使用してパラメータの型を定義しています。src/index.tszValidator を使用してパラメータを検証できます。const { point, params } = c.req.valid("json"); で検証済みパラメータを取得します。 ここでの point は 2 つの値しかないため、z.union を使用して定義しています。params はオプションのパラメータなので、z.optional を使用して定義しています。その中には inputs パラメータがあり、これは Record<string, any> 型です。この型は、キーが string で値が any のオブジェクトを表します。この型は任意のオブジェクトを表すことができます。src/index.tsparams?.inputs?.count を使用して count パラメータを取得できます。

Cloudflare Workers のログを取得


参考資料
最終更新日 2026年7月2日