Cloudflare Workers を使用した API ツールのデプロイ
入門
Dify API Extension は、アクセス可能な公開アドレスを API エンドポイントとして使用する必要があるため、API 拡張を公開アドレスにデプロイする必要があります。ここでは、Cloudflare ワーカーを使用して API 拡張をデプロイします。
まず、Example GitHub レポジトリ をクローンします。このレポジトリには、簡単な API 拡張が含まれており、これを基にして修正を行うことができます。
次に、wrangler.toml
ファイルを開き、名前
と 互換性の日付
をあなたのアプリ名と互換日付に変更します。
ここで注意が必要な設定は、vars
内の トークン
です。Dify に API 拡張を追加する際に、このトークンを入力する必要があります。セキュリティ上の観点から、ランダムな文字列をトークンとして使用することをお勧めします。トークンをソースコードに直接書き込むのではなく、環境変数を使用してトークンを渡す方法を取るべきです。したがって、wrangler.toml をコードレポジトリにコミットしないでください。
この API 拡張は、ランダムなブレイキング・バッドの名言を返します。src/index.ts
内でこの API 拡張のロジックを変更することができます。この例は、サードパーティの API とやり取りする方法を示しています。
このレポジトリは、ビジネスロジック以外のすべての設定を簡素化しています。npm
コマンドを使用して API 拡張をデプロイすることができます。
デプロイが成功すると、公開アドレスが得られます。このアドレスを Dify に API エンドポイントとして追加できます。endpoint
パスを忘れないようにしてください。
その他のロジック TL;DR
ベアラー認証について
上記のコードでは、ベアラー認証ロジックを示しています。hono/bearer-auth
パッケージを使用してベアラー認証を実装しています。src/index.ts
で c.env.TOKEN
を使用してトークンを取得できます。
パラメータの検証について
ここでは、zod
を使用してパラメータのタイプを定義しています。src/index.ts
で zValidator
を使用してパラメータを検証できます。const { point, params } = c.req.valid("json");
を使用して検証後のパラメータを取得します。point
は2つの値しか持たないため、z.union
を使用して定義しています。params
はオプションのため、z.optional
を使用して定義しています。この中には inputs
パラメータがあり、これは Record<string, any>
型です。この型はキーが文字列で値が任意のオブジェクトを示します。src/index.ts
で params?.inputs?.count
を使用して count
パラメータを取得できます。
Cloudflare ワーカーのログを取得する
参考内容
Last updated