Cloudinaryが「Stale request」でエラーになるときの対処法

ブログのブログ (作成日誌)

当ブログ開設より3ヶ月。
問題なく使えていたCloudinaryで「Stale rquest」と表示され画像がアップロードできなくなった。

少しアセったけれど、すぐに解決したのでその方法を書いておく。

まず前置きだけれど、当ブログではワードプレスの標準メディアライブラリではなくコンテンツ配信サービスであるCloudinaryへ画像をアップロードしている。
(※理由を知りたい方は、こちらの記事を参照)

ところが先頃、いつものように画像をアップロードしようとすると「Stale request」という表示が出たのだ。
何度かアップロードを繰り返してもすべて同じ状態。

同じ症状で検索サイトから飛んできた忙しい人のために、結論だけ先に書いておこう。

  • セッティングのページで「Update settings」のボタンを押す

これだけで回復したのでお試しあれ。

細かい経緯などを知りたい方は以下に書いたので読み進めて欲しい。

「Upload failed: Stale request」ってなに?

ワードプレスの Cloudinary プラグインは便利だ。
エクスプローラなどからドラッグ&ドロップで画像ファイルを放り込むだけでCloudinary のサーバーへアップロードされる。

そうしてアップロードが成功すれば、いつもなら Recently uploaded images: という文字の下に追加した画像のサムネイルが表示されるのだが。

Upload falled: Stale request

そこには画像の代わりに「Upload failed: Stale request」の文字が。
アップロード失敗らしい。でも “Stale request”ってなんだ?
直訳すると「新鮮じゃない要求」……。

右の画像はエラーメッセージ(赤い文字) が見切れているが、どうやらリクエストのセッションにおける時刻がおかしいということを示しているらしい。

検索してみると「Cloudinary FAQ 日本語訳」というページが引っかかった。

アップロードAPIがStale requestエラーを返します。どういう意味ですか?

すべてのAPIリクエストはあなたのCloudinary APIキーと秘密鍵で署名されています。
安全性を高めるために、証明の有効期間は1時間になっています。
したがって、すべてのAPI呼び出しと署名は現在時刻(GMTでのUNIXタイムスタンプ)を指すtimestampパラメーターを含んでいます。
Stale requestエラーが返った場合は、あなたのマシンの時計が過去を指しているか、タイムスタンプがGMTで算出されていない可能性があります。

うーん。そんな1時間もの時刻のずれは無いはずなんだけどなあ。

一応、本家のFAQも漁ってみる。
ところが本家の方では検索にヒットしない。
日本語訳の作成日は3年前らしいので、いつの間にか本家から情報が削られてしまったようだ。

お手軽な対処法とは?

さて、こういう意味不明のエラーに当たったとき最もお手軽な対処方法が1つある。
特に急ぎでなければ「しばらく放置してから再トライ」するのだ。
サービス側にエラーがあったときなどは数時間も待てば8割ぐらいのケースなら復旧しているものだ。
今の段階ではどちらが原因かはわからないが、もし相手が原因なら待つだけで解消するのだから、余計な手間をかけさせられることもない。

だが今回の場合は、このお手軽対処法を試したところ数時間後でも同じ症状だった……残念。

ということで次なる手を打つ。

クラウディナリーの設定画面

セッション関連がおかしいのならば、セッションをリセットすればよい。
と単純に考えて、Cloudinaryプラグインの設定画面を開く。

ワードプレスの管理メニュー(左側のバー) の下部にある「Cloudinary」をクリックすると「Settings」というサブメニューが出てくる。それをさらにクリック。
すると最初にプラグインを導入したときに開いた、Cloudinaryの設定ページが表示されるはずだ。

潔いまでにシンプルなページには CLOUDINARY_URL の入力ボックスと、その下に「Update settings」のボタンがあるだけ。

ここではCLOUDINARY_URLを変更する必要はないので、何も変えず「Update settings」ボタンをクリックする。

この更新は成功したとメッセージ。

そこで、あらためて画像をアップロード。

成功!
実に簡単に復旧したようだ。

その後、数日は様子見したが同じエラー、あるいは他の不具合なども生じていない。
ということで無事解決である。
めでたしめでたし。

おまけ

メディアライブラリのページで Stale request

Stale request の表記はメディアライブラリのページでも表示されることがある。

この場合は単純に、当該ファイルがCloudinary側のコンテンツサーバから削除されているにも関わらず、ワードプレス側のメディアライブラリが、その削除された画像を参照しているからだ。

いったん削除して、上げ直すとよいだろう。

コメント

タイトルとURLをコピーしました