プラットフォーム用ワーカーの設定
プラットフォーム用ワーカーを有効にするには、プラットフォーム用ワーカーの有料プランを購入する必要があります。
- Cloudflareダッシュボード ↗にログインし、アカウントを選択します。
- プラットフォーム用ワーカーの有料プランの支払いプロセスを完了します。
エンタープライズ顧客の場合は、Cloudflareのアカウントチームに連絡してプラットフォーム用ワーカーを有効にしてください。
プラットフォーム用ワーカーの仕組みを参照して、プラットフォーム用ワーカーの用語やアーキテクチャについて詳しく学んでください。
このガイドでは、プラットフォーム用ワーカーの設定方法を説明します。あなたは、ディスパッチネームスペース、動的ディスパッチワーカー、およびユーザーワーカーを設定して、リクエストをエンドツーエンドでテストします。
まず、ユーザーワーカーを作成します。ユーザーワーカーは、エンドユーザー(エンド開発者)がアップロードするワーカーです。
ユーザーワーカーはC3を使用して作成できます。C3(create-cloudflare-cli)は、ワーカーをCloudflareにできるだけ早くセットアップしてデプロイするために設計されたコマンドラインツールです。
ターミナルウィンドウを開き、C3を実行してワーカープロジェクトを作成します。この例では、customer-worker-1というユーザーワーカーを作成します。
npm create cloudflare@latest customer-worker-1 -- --type=hello-worldインタラクティブなプロンプトに従って、以下のように質問に答えます:
- TypeScriptの使用には
noを選択します。 - アプリケーションのデプロイには
noを選択します。
ディスパッチネームスペースを作成します。ディスパッチネームスペースは、ユーザーワーカーのコレクションで構成されています。
この例では、testingというディスパッチネームスペースを作成します。ディスパッチネームスペースを作成するには、次のコマンドを実行します:
npx wrangler dispatch-namespace create testingユーザーワーカーのプロジェクトディレクトリにいることを確認します:
cd customer-worker-1ユーザーワーカーをディスパッチネームスペースにアップロードしてデプロイするには、次のコマンドを実行します:
npx wrangler deploy --dispatch-namespace testingディスパッチワーカーは、ディスパッチネームスペースからユーザーワーカーを実行するために使用されます。次に、ディスパッチワーカーを作成し、ステップ2で作成したユーザーワーカーにルーティングするために必要なロジックを追加します。
ユーザーワーカーのプロジェクトディレクトリから1つ上のレベルに移動します:
cd ..ディスパッチワーカーを作成します。この例では、ディスパッチワーカーはmy-dispatcherと呼ばれます。
npm create cloudflare@latest -- my-dispatcheryarn create cloudflare@latest my-dispatcherpnpm create cloudflare@latest my-dispatcherFor setup, select the following options:
- For What would you like to start with?, choose
Hello Worldの例. - For Which template would you like to use?, choose
Hello Worldワーカー. - For Which language do you want to use?, choose
JavaScript. - For Do you want to use git for version control?, choose
Yes. - For Do you want to deploy your application?, choose
No(we will be making some changes before deploying).
プロジェクトのディレクトリに移動します:
cd my-dispatcherプロジェクトディレクトリ内のwrangler.tomlファイルを開き、ディスパッチネームスペースバインディングを追加します:
[[dispatch_namespaces]]binding = "DISPATCHER"namespace = "testing"index.jsファイルに以下を追加します:
export default { async fetch(req, env) { const worker = env.DISPATCHER.get("customer-worker-1"); return await worker.fetch(req); },};ディスパッチワーカーをデプロイします:
npx wrangler deployこれで、動的ディスパッチワーカーがあるルートにリクエストを送信します。動的ディスパッチワーカー(my-dispatcher)から呼び出したユーザーワーカー(customer-worker-1)で作成したレスポンス(Hello world)を受け取るはずです。
プラットフォーム用ワーカーのプロジェクトに対するレスポンスをhttps://my-dispatcher.<YOUR_WORKER_SUBDOMAIN>.workers.dev/でプレビューします。
このガイドを完了することで、ディスパッチネームスペース、動的ディスパッチワーカー、およびユーザーワーカーを設定して、リクエストをエンドツーエンドでテストすることに成功しました。
- プラットフォーム用ワーカーの例プロジェクト ↗ - プラットフォーム用ワーカーを使用したエンドツーエンドの例プロジェクト