質問・問題
Cloud Recording の録画状態を監視する方法はありますか
回答・解決方法
Cloud Recording Restful API の query メソッドを使うことで、録画の進捗状況やステータスを確認することが可能です。
Restful API 以外にも、録画状態を監視する補完的な手段として Cloud Recording Callback Service (Message Notification Service) が用意されています。
これらの方法に関して、それぞれの特徴および比較については、以下 FAQ をご覧ください:
もし録画状態の信頼性を重視したい場合、query メソッドを定期的に使い、ステータスを取得する方法をお勧めします。この場合、周期間隔の目安を 2 分とし、受信した HTTP ステータスに応じて適切な処理を実装するようにしてください (以下、例となります):
- HTTP ステータスコードが常に 40x (400 など) の場合、リクエストに含めたパラメーターを確認してください。
- HTTP ステータスコードが 404、且つリクエストのパラメーターに不備がない場合、 a) 録画が正常に開始しなかった、もしくは b) 既に録画が終了している、いずれかの状態となります。その場合は、5秒後、10秒後、15秒後に連続して再試行するなどのバックオフ・ストラテジーをとることをお勧めします。
- HTTP ステータスコードが 50x (500 など) の場合、query リクエストが失敗したことを意味しますが、これだけでは録画が終了したかの判定はできません。バックオフ・ストラテジー(5秒、10秒、15秒、30秒待ってからリトライ)を使い query メソッドを再度コールしてください。
- 録画完了に関するステータス (7, 8, 20) の検知が必要な場合、予め stop メソッドを同期モード (synchronous mode) でコールしてください。非同期 (asynchronous mode) モードにした場合、stop メソッドのレスポンスが直ぐに返り、以降の query メソッドに対してステータス 404を返すようになります。