世界のやまさ

SEKAI NO YAMASA

Azure Functions は Storage Blob のトリガーをリアルタイムサポートして欲しい

f:id:nnasaki:20160402124131p:plain

Azure Functions が発表されました。

azure.microsoft.com

日本でも実際に使ってみた人がもういますので、詳細はそちらをご参照ください。

blog.xin9le.net

tech.guitarrapc.com

大変良いサービスだと思ってます。AWSに合って無かった機能の1つでもあるので。

これで、例えばストレージに画像を上げたらサムネイルを作成するといったことが簡単に出来るようになると思います。*1

で、今回のタイトルにもなっている「Azure Functions は Storage Blob のトリガーをリアルタイムサポートをして欲しい」はそのまま内容です。

現状、Azure Functions における Storage Blob トリガーはリアルタイム性は保証されておらず、ベストエフォートとなっています。つまり、イベントの発火の遅延は避けられないという状況です。

詳細は次のドキュメントの"Azure Storage - blob trigger"の項目に書いてあります。

Note: The Functions runtime scans log files to watch for new or changed blobs. This process is not real-time; a function might not get triggered until several minutes or longer after the blob is created. In addition, storage logs are created on a "best efforts" basis; there is no guarantee that all events will be captured. Under some conditions, logs might be missed. If the speed and reliability limitations of blob triggers are not acceptable for your application, the recommended method is to create a queue message when you create the blob, and use a queue trigger instead of a blob trigger to process the blob.

azure.microsoft.com

ストレージのログをウォッチしてイベントを発火しており、ストレージのログが即座に作成されることは保証されておらず、「ベストエフォート」となっています。もし、即座性を担保したければキューを使えということですが、いちいちキューを使うのは面倒くさいというのが人情です。

どうすれば良いの?

現状はキューを使うしかないです。でも、そこは改善してほしいので、feedbackをしましたので、共感してくれる人は Vote お願いします!

How can we improve Microsoft Azure Functions?
  • 1 vote
  • 0 comments

Should be support real-time Storage blob triggers

Azure Functions is awesome! I'd like to propose for more convenience.
Currently, Storage blob triggers do NOT support real-time. Because write at
"https://azure.microsoft.com/en-us/documentation/articles/functions-reference/"

"The Functions runtime scans log files to watch for new or change...

feedback.azure.com

Azure は英語になってしまいますが、こんな感じで欲しい機能はどんどんオープンに要求できます。皆さんの Vote が多いほど、開発される優先度があがりますので、是非ともよろしくお願いします。

余談

ちなみに今一番多い Vote は Clear DB やめて Azure で MySQL 用意しろって奴みたいですね… Amazon と Google には既に用意されているので、当然な要求ですよねぇ。 PostgreSQL もあるとうれしーなー。

f:id:nnasaki:20160402123838p:plain

*1:実際はスクリプトからImageMagickを呼び出せるかとか検証が必要ですが