sqsで、メッセージのvisibility_timeoutを取得する方法はありますか? visibility_timeoutが期限切れになるたびに倍増する予定です。 SQSにそのようなAPIがない場合、メッセージのvisibility_timeoutを取得できます。別のマッピングを維持する必要があります。ルビーを使ってawsでvisits_timeoutを取得する
1
A
答えて
0
ここでは、SQSキューの可視時間を取得するための構文を示します。そのGetQueueAttributes
はあなたに可視性のタイムアウト値を与えます。
http://sqs.us-east-1.amazonaws.com/123456789012/testQueue/
?Action=GetQueueAttributes
&AttributeName.1=All
&Version=2012-11-05
&Expires=2013-10-18T22%3A52%3A43PST
&AUTHPARAMS
上記のリクエストに対する回答は以下のとおりです。
<GetQueueAttributesResponse>
<GetQueueAttributesResult>
<Attribute>
<Name>ReceiveMessageWaitTimeSeconds</Name>
<Value>2</Value>
</Attribute>
<Attribute>
<Name>VisibilityTimeout</Name>
<Value>30</Value>
</Attribute>
<Attribute>
<Name>ApproximateNumberOfMessages</Name>
<Value>0</Value>
</Attribute>
<Attribute>
<Name>ApproximateNumberOfMessagesNotVisible</Name>
<Value>0</Value>
</Attribute>
<Attribute>
<Name>CreatedTimestamp</Name>
<Value>1286771522</Value>
</Attribute>
<Attribute>
<Name>LastModifiedTimestamp</Name>
<Value>1286771522</Value>
</Attribute>
<Attribute>
<Name>QueueArn</Name>
<Value>arn:aws:sqs:us-east-1:123456789012:qfoo</Value>
</Attribute>
<Attribute>
<Name>MaximumMessageSize</Name>
<Value>8192</Value>
</Attribute>
<Attribute>
<Name>MessageRetentionPeriod</Name>
<Value>345600</Value>
</Attribute>
</GetQueueAttributesResult>
<ResponseMetadata>
<RequestId>1ea71be5-b5a2-4f9d-b85a-945d8d08cd0b</RequestId>
</ResponseMetadata>
</GetQueueAttributesResponse>
0
デベロッパーガイドからVisibility Timeoutを理解してください。
メッセージを受信すると、表示タイマーが開始します。受け取ったメッセージでそれを調べる方法はありません。 - 受信した時間から、あなたがメッセージに座っていた時間からキューのデフォルトを差し引いて計算することができます。最後に、設定した時間から視界のタイムアウトを設定します。
タイムアウトを2倍にするのはおそらくベストプランではありません。何回か倍加した後で誤って打つことができる最大値があります。これは意図したデザインの外でS3の使用を検討しているという兆候かもしれません。
また、個々のキューは、受信したが削除されなかったメッセージを含む120,000件の飛行メッセージに制限されています。
メッセージの可視性のタイムアウトを変更すると、SQS APIに対する請求可能な要求が構成されます。
すべてのSQS APIコールは、リクエストとしてカウント
より良いアップデートがある場合は、おそらく、ただ、合理的な値にデフォルトし、妥当な時間でそれを更新必要。メッセージを処理して削除すると、可視性のタイムアウトは無意味になります。
関連する問題
- 1. ルビーを使ってfacebookのoauthアクセストークンを取得する方法
- 2. ルビーの宝石を使ってhtmlコードで表示できるすべてのテキストを取得するには
- 3. ルビーでハッシュを使用してデフォルト値を取得する方法
- 4. AWS S3 URLを使用してオブジェクトを取得する
- 5. AWS S3 - ルビー - Presigned POST:
- 6. ルビーでハッシュされたパスワードを使って作業する
- 7. ルビーでタイマーを使って再試行する
- 8. AWSネームサーバを使用せずにAWS ELBを指すルートを取得する
- 9. aws-sfk-php-zf2でawsサービスを取得する方法v 2.0。*?
- 10. AWSクラウドフォーメーションで使用するAPIゲートウェイURLを取得
- 11. ルビーの宝石であるコードを取得するには?
- 12. aws-android-sdkを使用してユーザープールでカスタム属性を取得する方法
- 13. BOTO Pythonを使用してAWSでインスタンスのパブリックDNSを取得する方法
- 14. ルビーを使ってグラフィカルに旅行セールスマンソリューションを視覚化する
- 15. ルビーを使ってコンピュータネットワークを設定する方法
- 16. awsを使ってgoogle/facebookでログイン
- 17. 文字列ルビーで時間を取得する
- 18. ルビーでテーブル名の配列を取得するには
- 19. ルビー:Pythonスクリプトの戻り値を取得
- 20. ルビーのオープンファイバーの量を取得
- 21. ルビー:最大値とハッシュペアを取得
- 22. 別のawsアカウントによって公開されたAWS IAMロールでクレデンシャルを取得できますか?
- 23. FDKを使ってFQLを使って好きなリストを取得する
- 24. Pythonでexecを使ってIndexErrorを取得する
- 25. DjangoテンプレートでJadeを使って変数を取得する
- 26. rmarkdownを使ってtry()でエラーメッセージを取得するには?
- 27. regexpを使ってlaravelで製品を取得する方法
- 28. PHPでcURLを使ってGithubソースを取得する
- 29. JenkinsでSonarを使ってJaCoCoカバレッジを取得するには?
- 30. Windows PhoneでHttpWebRequestを使ってxmlを取得する