コンテンツにスキップ

プラットフォーム用ワーカーの設定

前提条件:

プラットフォーム用ワーカーを有効にする

プラットフォーム用ワーカーを有効にするには、プラットフォーム用ワーカーの有料プランを購入する必要があります。

  1. Cloudflareダッシュボードにログインし、アカウントを選択します。
  2. プラットフォーム用ワーカーの有料プランの支払いプロセスを完了します。

エンタープライズ顧客の場合は、Cloudflareのアカウントチームに連絡してプラットフォーム用ワーカーを有効にしてください。

プラットフォーム用ワーカーについて学ぶ

プラットフォーム用ワーカーの仕組みを参照して、プラットフォーム用ワーカーの用語やアーキテクチャについて詳しく学んでください。


このガイドでは、プラットフォーム用ワーカーの設定方法を説明します。あなたは、ディスパッチネームスペース動的ディスパッチワーカー、およびユーザーワーカーを設定して、リクエストをエンドツーエンドでテストします。

1. ユーザーワーカーを作成する

まず、ユーザーワーカーを作成します。ユーザーワーカーは、エンドユーザー(エンド開発者)がアップロードするワーカーです。

ユーザーワーカーはC3を使用して作成できます。C3(create-cloudflare-cli)は、ワーカーをCloudflareにできるだけ早くセットアップしてデプロイするために設計されたコマンドラインツールです。

ターミナルウィンドウを開き、C3を実行してワーカープロジェクトを作成します。この例では、customer-worker-1というユーザーワーカーを作成します。

Terminal window
npm create cloudflare@latest customer-worker-1 -- --type=hello-world

インタラクティブなプロンプトに従って、以下のように質問に答えます:

  • TypeScriptの使用にはnoを選択します。
  • アプリケーションのデプロイにはnoを選択します。

2. ディスパッチネームスペースを作成する

ディスパッチネームスペースを作成します。ディスパッチネームスペースは、ユーザーワーカーのコレクションで構成されています。

この例では、testingというディスパッチネームスペースを作成します。ディスパッチネームスペースを作成するには、次のコマンドを実行します:

Terminal window
npx wrangler dispatch-namespace create testing

3. ユーザーワーカーをディスパッチネームスペースにアップロードする

ユーザーワーカーのプロジェクトディレクトリにいることを確認します:

Terminal window
cd customer-worker-1

ユーザーワーカーをディスパッチネームスペースにアップロードしてデプロイするには、次のコマンドを実行します:

Terminal window
npx wrangler deploy --dispatch-namespace testing

4. ディスパッチワーカーを作成する

ディスパッチワーカーは、ディスパッチネームスペースからユーザーワーカーを実行するために使用されます。次に、ディスパッチワーカーを作成し、ステップ2で作成したユーザーワーカーにルーティングするために必要なロジックを追加します。

ユーザーワーカーのプロジェクトディレクトリから1つ上のレベルに移動します:

Terminal window
cd ..

ディスパッチワーカーを作成します。この例では、ディスパッチワーカーはmy-dispatcherと呼ばれます。

Terminal window
npm create cloudflare@latest -- my-dispatcher

For 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).

プロジェクトのディレクトリに移動します:

Terminal window
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);
},
};

ディスパッチワーカーをデプロイします:

Terminal window
npx wrangler deploy

5. リクエストをテストする

これで、動的ディスパッチワーカーがあるルートにリクエストを送信します。動的ディスパッチワーカー(my-dispatcher)から呼び出したユーザーワーカー(customer-worker-1)で作成したレスポンス(Hello world)を受け取るはずです。

プラットフォーム用ワーカーのプロジェクトに対するレスポンスをhttps://my-dispatcher.<YOUR_WORKER_SUBDOMAIN>.workers.dev/でプレビューします。

このガイドを完了することで、ディスパッチネームスペース、動的ディスパッチワーカー、およびユーザーワーカーを設定して、リクエストをエンドツーエンドでテストすることに成功しました。

関連リソース