Cloudflare Workersで10034。原因はメールアドレスの未認証だった

Wranglerの初回デプロイでcode 10034が出たときの実際のログと、Cloudflare側で確認した内容を残します。

執筆:ゆまラボ運営者

公開:更新:
Cloudflare Workersで10034。原因はメールアドレスの未認証だった

Cloudflare Workersへ最初にデプロイしたとき、npx wrangler deployが途中で止まった。

その前のnpm run buildは通っている。最初はwrangler.jsoncかStatic Assetsの設定を疑ったが、実際の原因はもっと単純。

You need to verify your email address to use Workers.
code: 10034

Wranglerで表示されたCloudflare Workersのcode 10034

原因はCloudflareアカウントのメールアドレス未認証。WranglerやAstroの設定を疑っていたので、原因が分かると少し拍子抜けするくらい単純だった。

10034の前にAstroのビルドは終わっていた#

当時実行していたのはこの流れ。

npm run build
npx wrangler deploy

Astro側ではdistまで生成できていた。そのあとWranglerがCloudflare APIへデプロイを要求したところで10034が返っている。

ここを見落とすと、Astroの設定やWorkerのコードを直し始めてしまう。

今回はエラー本文にverify your email addressまで書かれていたので、修正対象はローカルのソースではなかった。

Cloudflare側でメール認証を済ませる#

Cloudflareのアカウント設定を確認し、届いていた確認メールからメールアドレスを認証した。

コードは変更していない。

認証後にもう一度同じコマンドを実行した。

npx wrangler deploy

Cloudflareの公式ドキュメントでも、アカウントのメールアドレスはプロフィールから確認でき、未認証の場合は確認メールを再送できる。

複数アカウントを使っている場合は、ブラウザで開いているアカウントとWranglerがログインしているアカウントが同じかも見ておいた方がいい。自分の場合はそこまで必要なく、メール認証だけで先へ進んだ。

再実行すると39個の静的ファイルがそのままデプロイされた#

メール認証後のログでは、Astroが出力した39個の静的ファイルをWranglerが読み込み、そのままアップロードまで進んだ。

Building list of assets...
Read 39 files from the assets directory ...\dist
Uploaded yumaru-site
Deployed yumaru-site triggers

メール認証後にCloudflare Workersへのデプロイが完了したログ

最初の失敗時と比べて、wrangler.jsoncやAstroの記事データを直したわけではない。

変わったのはCloudflareアカウントの認証状態だけ。

この経緯があるので、同じ10034

You need to verify your email address to use Workers.

がセットで出た場合は、設定ファイルを触る前にアカウント側を見る。

10034は公開後のWorkerエラーとは別に考えた#

Cloudflare Workersには、公開後のリクエスト処理で発生するエラーもある。

今回の10034はそこまで到達していない。wrangler deploy中にCloudflare APIから返されたエラー。

自分が切り分けるときは、コード番号だけでなく「どのコマンドの、どの段階で止まったか」を見るようにしている。

今回なら、

Astro build

Wrangler deploy

Cloudflare APIで10034

という位置づけになる。

この時点で、公開済みWorkerのJavaScript例外を調べても方向が違う。

同じエラーが出たときに見る場所#

このケースなら確認する内容は多くない。

10034の横にメール認証を求めるメッセージが出ているかを見る。出ていればCloudflareのプロフィールで認証状態を確認し、認証後にnpx wrangler deployをもう一度実行する。

それで先へ進めば、AstroやWranglerの設定変更は不要だったと分かる。

逆に、同じ10034でもメッセージが違うなら、この手順だけで決めつけない方がいい。エラーコードより、その場で返された本文を優先して確認する。

参考#