Cloudflare Workers を使用した API ツールのデプロイ
Last updated
Was this helpful?
Last updated
Was this helpful?
Dify API Extension は、アクセス可能な公開アドレスを API エンドポイントとして使用する必要があるため、API 拡張を公開アドレスにデプロイする必要があります。ここでは、Cloudflare ワーカーを使用して API 拡張をデプロイします。
まず、 をクローンします。このリポジトリには、簡単な API 拡張が含まれており、これを基にして修正を行うことができます。
次に、wrangler.toml
ファイルを開き、name
と compatibility_date
をあなたのアプリ名と互換日付に変更します。
ここで注意が必要な設定は、vars
内の TOKEN
です。Dify に API 拡張を追加する際に、このトークンを入力する必要があります。セキュリティ上の観点から、ランダムな文字列をトークンとして使用することをお勧めします。トークンをソースコードに直接書き込むのではなく、環境変数を使用してトークンを渡す方法を取るべきです。したがって、wrangler.toml をコードリポジトリにコミットしないでください。
この API 拡張は、ランダムなブレイキング・バッドの名言を返します。src/index.ts
内でこの API 拡張のロジックを変更することができます。この例は、サードパーティの API とやり取りする方法を示しています。
このリポジトリは、ビジネスロジック以外のすべての設定を簡素化しています。npm
コマンドを使用して API 拡張をデプロイすることができます。
デプロイが成功すると、公開アドレスが得られます。このアドレスを Dify に API エンドポイントとして追加できます。endpoint
パスを忘れないようにしてください。この経路の具体的な定義は src/index.ts
で確認できます。
また、npm run dev
コマンドを使用してローカルにデプロイし、テストすることもできます。
関連する出力:
その後、Postman などのツールを使用してローカルインターフェースをデバッグできます。
上記のコードでは、Bearer 認証ロジックを示しています。hono/bearer-auth
パッケージを使用して Bearer 認証を実装しています。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
パラメータを取得できます。