Office 365 Management APIで AF429 エラーが発生
<問い合わせ内容>
- [Office 365 Management API] で AF429 エラーが発生
- [Office 365 Management API] を利用して [監査ログ] を収集時に下記のエラー<エラーメッセージ>が発生しています。
こちらのエラーの原因と対処方法について確認したい。
<エラーメッセージ>
(StatusCode=Forbidden):
(ReasonPhrase=Forbidden):
(Errorcode=AF429):
(Message=Too many requests. Method=GetBlob, PublisherId=00000000-0000-0000-0000-000000000000):
<処理の流れ>
(1) コンテンツリストの取得
「subscriptions/content?contentType={ContentType}&startTime={0}&endTime={1}」のAPIを発行し、コンテンツの一覧を取得。
※ このとき、パラメーターに「PublisherIdentifier={テナントID}」を含めています。
(2) 取得したコンテンツの「contentUri」を利用してコンテンツブロブの取得を試みた。
結果 → エラー。
※ 取得しようとしてコンテンツブロブすべてエラーではありません。
(複数コンテンツブロブを順番に取得している途中でエラーとなっています。)
このとき、最大 2 同時のコンテンツブロブを収集する仕組みとしています。(並列処理)
<エラー発生頻度>
・ある日の1日
1 回目収集実行 エラー発生時間:01:00:38
2 回目収集実行 エラー発生時間:09:28:43
3 回目収集実行 エラー発生時間:10:40:22
4 回目収集実行 エラー発生せず:10:30:50
・別日の1日
1 回目収集実行 エラー発生時間:01:00:16
2 回目収集実行 エラー発生せず:10:43:14
※ 収集を実行してエラーが発生すると処理を終了しています。時間をおいて再度エラーが発生するかいなか確認を実施。
<質問事項>
■ 1. 本エラーが発生する原因と対応方法について教えて下さい。
■ 2. API リファレンスによると、API 発行時のパラメタに「PublisherIdentifier={テナントID}」を含めると専用のリソースが割り当てられ、そのリソースを利用して、API の受付処理をすると認識しています。
今回、上記「エラー発生時の処理内容の (1)」では、コンテンツリスト取得時に「PublisherIdentifier={テナントID}」を指定しています。
レスポンスとして取得したコンテンツ情報を利用して上記「エラー発生時の処理内容の (2)」の処理を行っています。
このとき、「contentUri」はそのまま利用しており、「PublisherIdentifier={テナントID}」は付加していません。
これは、付加する必要ないと認識していますが、あっているか確認したい。
■ 3. 本件では、コンテンツリスト取得時に「PublisherIdentifier={テナントID}」を指定しているため、1 分あたり 6 万回のリクエストを受け入られると認識していますが、あっているか確認したい。
■ 4. 上記エラーメッセージの中に、「PublisherId=00000000-0000-0000-0000-000000000000」の内容がありました。
上記の「<処理の流れ>(1) コンテンツリストの取得」の API 発行時に、「PublisherIdentifier={テナントID}」を含めて API を発行しています。
これにより、「コンテンツブロブ」の取得 API を発行する際にも、「PublisherIdentifier」が有効となり、専用クオータが割当てられていると認識をしています。
「PublisherIdentifier」は有効に作用していると考えて問題ないか確認したい。