Azureサービスバスキューを実行および監視するコンソールアプリケーションがあります。私が持っている関数はMessageクラスを受け入れ、それを処理します。アプリは関数を登録します。
次に、メッセージがメッセージバスキューに入ったときに実行されるように変換する必要があります。
私が見るすべての例は、いくつかのパラメーターが属性によって装飾されている静的メソッドを持つ静的クラスを示しています。送信されているメッセージが文字列として表示されます。
しかし、私のメソッドには、Messageクラスが送信されています。
紺碧機能アプリと同じアプリを使いたい場合はどうすればいいですか?
もちろん、コンソールアプリ自体をAzureFunctionsアプリとして使用することはできません... AzureFunctionsは独自のランタイムおよび実行フレームワークです。そうは言っても、驚くほどわずかな調整で、コンソールアプリのロジックのほとんどを再利用できるでしょう。
Messageクラスを使用しているとおっしゃっているので、.NET CoreServiceBusライブラリを使用していると思います。その場合は、Azure Functionsv2ランタイムを使用する必要があります。BrokeredMessageクラスで古い完全なフレームワークのServiceBusライブラリを使用している場合は、Functionsv1ランタイムに固執する必要があります。
Azure Functionsの「バインディング」は非常に柔軟性があり、必要なものを提供する方法を知っていることがよくあります。あなたはおそらくこのような例を見ているでしょう:
[FunctionName("NewSbMessageArrivedFunction")]
public static void Run(
[ServiceBusTrigger("someQueue")] string queueMessage, TraceWriter log)
{
...
}
実際には、この例のqueueMessage引数をastring
からa Message
(またはBrokeredMessage
v1ではa )に変更するだけで、ランタイムは異なる署名を確認し、メッセージオブジェクトにデータを入力する必要があります。
これがどのように機能するか、およびServiceBusトリガーにバインドできるその他のプロパティの詳細については、Azure Functions ServiceBusBindingsのドキュメントを確認してください。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加