2017-01-13 8 views
0

boto3 sdkを使用してRoute 53ヘルスチェックを作成しました。ヘルスチェックを作成した後、AWSコンソールから手動で削除しました。私は、同じ発信者の参照を使用してヘルスチェックを作成しようとすると、しかし、今では、次のエラーがスローされますヘルスチェックが手動で削除された後、AWS boto3 route53 create_health_checkが失敗する

ClientError: An error occurred (HealthCheckAlreadyExists) when calling the CreateHealthCheck operation: A different health check has already been created with the specified caller reference.

は、どのように私はヘルスチェックdoesntのはもう存在していることが国道53伝えることができますか?

答えて

0

別の発信者リファレンスを使用してください。この不透明な値の目的は、誤って同じリクエストを複数回送信することを防ぐためです(ネットワークタイムアウトエラーのようなリクエストが処理されたかどうかわからないときに再試行を安全にします)。

以前の小切手を削除したという事実は関係ありません。 のチェックにはそれぞれの固有の文字列が必要なだけでなく、の要求ごとに固有の文字列が必要です。

CallerReference

要求を識別し、それが二回操作を実行する危険性なしに再試行に失敗したCreateHealthCheck要求を可能にする一意の文字列。ヘルスチェックを作成するたびに、一意のCallerReference文字列を使用する必要があります。 (時間または数日間の一定期間後に)最終的に

http://docs.aws.amazon.com/Route53/latest/APIReference/API_CreateHealthCheck.html#API_CreateHealthCheck_RequestSyntax

あなたはおそらく再利用、発信者の参照をすることができますが、あなたの要求をブロックすることにより、設計通りにサービスが動作しています。

+0

コードが複数回実行されても複数のヘルスチェックを作成しないように同じ呼び出し元参照を使用したいと思います。 –

+0

しかし、あなたはすでにそれを一度やったことがあります。後で削除したことは問題ではありません。 Route 53はあなたがバグのあるキューにどこかに詰まっている遅延メッセージではなく、今すぐ到着していることを知る方法がありません。また、メッセージが処理できるようになっていれば、ヘルスチェックが作成されますすでに作成している*と*は既に削除するように求めました。 –

+0

ルート53がルート53レコードセットと共に発信者参照の詳細を追跡したがっています。レコードが手動で削除された時期を理解できるようにします。とにかく私はこの状況に対処するためにいくつかの回避策を考えなければならないと思います。 –

関連する問題