私のワークフローでは、最も時間のかかる操作を成功させるためにサーバー時間を維持するためにリースを取得したいと考えています。タイムアウトの場合は、基本的に何か間違っているので、リース期限が切れる必要があるので、他の人がまだBLOBを操作/変更できるようにします。なぜAzure Blobのリース期間が60秒に制限されるのですか
なぜ制限は60sですか? 1時間じゃない?または1日?パラメータはTimeSpanを受け入れますが、間違って使用するのは非常に簡単です!
私のワークフローでは、最も時間のかかる操作を成功させるためにサーバー時間を維持するためにリースを取得したいと考えています。タイムアウトの場合は、基本的に何か間違っているので、リース期限が切れる必要があるので、他の人がまだBLOBを操作/変更できるようにします。なぜAzure Blobのリース期間が60秒に制限されるのですか
なぜ制限は60sですか? 1時間じゃない?または1日?パラメータはTimeSpanを受け入れますが、間違って使用するのは非常に簡単です!
なぜ制限は60sですか? 1時間じゃない?または1日?
私たちが知っているように、あなたがAcquireLease method
を呼び出すことにより、ブロブのリースを要求した場合、リースの期限が切れるまで、ブロブがロックされ、あなたがこのBlobのリースを取得しながら、誰もが、変更することはできません/ブロブを更新します。デフォルトのロック時間が1時間以上の場合、Blobを長時間ロックします。コードに問題があり、自分でリースをリリースしない場合、このBlobを使用したい人は1時間待たなければなりません。リース期限が切れるまでの時間が長くなり、ユーザーエクスペリエンスが向上しません。
Blobを長期間リースする場合は、RenewLease methodを使用してリースを更新するか、完了した後にリースを無期限に取得してリースを明示的に解放または中断することができますあなたのタスク。
あなたが説明するものは最新のものです。あなたはまだその理由を説明していない。 RenewLeaseの設計は、Manintain Lockの負担をApplicationにシフトします。これは、リースロジック全体が壊れやすい可能性があります。 APIの設計全体が誤って使いやすく、正しく使用するのが非常に難しいと感じています。 – RyanShao