Cloudflare Workers で非公開 API 例を動かす
教材ページに秘密を置かず、サーバーレスで処理する。
Cloudflare アカウント、Node.js、API キーを用意し、worker.mjs と wrangler.jsonc を専用フォルダーに置きます。共有トークン付きの私用シェルクライアント例で、公開チャットやこのサイトの稼働機能ではありません。
1. リクエスト経路を理解
クライアントは Worker の /api/message を呼び、Worker がトークンと短い入力を検証してサーバー側のキーで Messages API を呼びます。どちらの秘密もブラウザーへ置きません。公開製品には個別認証と利用枠が必要です。
2. ローカルの準備
Wrangler を開発依存に入れ、wrangler.jsonc のモデルを実際の ID に置き換えます。エディターで .dev.vars に ANTHROPIC_API_KEY と長いランダムな DEMO_ACCESS_TOKEN を設定し、Git から除外します。必要なら WORKSPACE_ID も追加します。
npm install --save-dev wrangler@latest
npx wrangler dev3. シェルからローカル API を呼ぶ
呼び出すシェルにも同じ DEMO_ACCESS_TOKEN を設定して実行します。ローカルでも実 API を使います。認証なしは 401、空入力は 400、未設定は 503 です。入力サイズ・長さ・出力トークン・時間を制限しています。
curl --fail-with-body http://localhost:8787/api/message \
-H "Authorization: Bearer $DEMO_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
--data '{"prompt":"Explain Workers in one sentence."}'4. 準備してデプロイする
公開先では Wrangler secret put の対話入力で二つの秘密を登録し、vars には入れません。モデルと必要なワークスペースを確認してから deploy します。私用を保ち、利用量と支出を管理します。公開用には強い認証とユーザー別の枠を実装してください。この教材が自動デプロイすることはありません。
npx wrangler secret put ANTHROPIC_API_KEY
npx wrangler secret put DEMO_ACCESS_TOKEN
# If required: npx wrangler secret put ANTHROPIC_WORKSPACE_ID
npx wrangler deployサンプルファイルを取得
教材の出力は実行ごとに変わります。前提を確認して結果を検証してください。閲覧だけでは API を呼びません。
練習と確認
ローカルで起動し、認証なしの 401 と不正入力の 400 を確認してから実際のモデルを呼びます。
終わったら、振り返ってみましょう:
公式資料を読む
CLI の操作は公式文書と照合し、API のサンプルは模擬応答で検証しました。実アカウントでの一連の操作は未実施です。