AWS Glue 使用時の ThrottlingException エラーやレート超過エラーを防ぐにはどうすればよいですか?

所要時間1分
0

AWS Glue API 呼び出しを行うと、レートを超えていることを示す ThrottlingException エラーメッセージが表示されます。

簡単な説明

AWS Glue API リクエストを行うと、次のいずれかのようなエラーが表示されることがあります。

  • 「Error Code: ThrottlingException; Request ID: 07512ede-123f-49c8-8933-1298742297b9; Proxy: null)" } }{ "taskSubmitFailedEventDetails": { "resourceType": "glue", "resource": "startJobRun.sync", "error": "Glue.AWSGlueException", "cause": "Rate exceeded (Service: AWSGlue; Status Code: 400;」
  • 「TaskSubmitFailed": {"resourceType": "glue", "resource": "startJobRun.sync", "error": "Glue.AWSGlueException", "cause": "Rate exceeded (Service: AWSGlue; Status Code: 400; Error Code: ThrottlingException; Request ID: 70ea5ab7-2bb8-4a47-b957-799ef46c129e; Proxy: null)" }」
  • 「botocore.exceptions.ClientError: An error occurred (ThrottlingException) when calling the GetCrawler operation (reached max retries: 4): Rate exceeded cause": "Rate exceeded (Service: AWSGlue; Status Code: 400; Error Code: ThrottlingException; Request ID: 70ea5ab7-2bb8-4a47-b957-799ef46c129e; Proxy: null)」

AWS Glue API リクエストは、サービスのパフォーマンスを向上させるため、リージョンごとに AWS アカウントで調整されます。詳細については、「AWS Glue のエンドポイントとクォータ」を参照してください。

解決方法

ThrottlingException またはレート超過エラーを軽減するには、次のベストプラクティスに従ってください。

  • API 呼び出しの頻度を減らします。
  • API 呼び出しの間隔をずらし、すべてが同時に実行されないようにします。
  • 複数の値を返す API を使用します。例えば、GetPartitions では 1 回の API 呼び出しで 1000 個の値の呼び出しをサポートします。同様に、GetTables は 1 回の API 呼び出しで 100 個のパラメータの呼び出しをサポートします。
  • API 呼び出しを行うときに、エラーの再試行とエクスポネンシャルバックオフを実装します。
  • AWS CloudTrail コンソールを使用して、特定の期間に送信された API 呼び出しと送信回数を確認します。

これらのトラブルシューティング手順を試してもレート超過エラーが表示される場合は、サービスクォータの引き上げをリクエストします

注: クォータを増やすリクエストを送信する前に、エラーの原因となった API 呼び出しと呼び出しレートを特定してください。


関連情報

一般的なエラー

AWS公式
AWS公式更新しました 1年前
コメントはありません

関連するコンテンツ