「実際どうなの?」をちりつもするブログメディア。LINE2019.01.06あけましておめでとうございます。V1を使う上でのTipsを書きます。Functionsには今V1とV2の2つのバージョンが存在します。Coreに対応しています。frameworkにしか対応していない、などの理由で、V1を使わざるを得ないときもあると思います。そのようなときに困ったこととその対処法を以下で書いていきます。Newtonsoft.Jsonのバージョンの対処法Microsoft.NET.Sdk.Functionsの説明を読むとわかりますが、Newtonsoft.JsonのバージョンがV1は9.0.1固定で、V2は11.0.2固定です。困るという事態になります。この理由はAzure上のランタイムがそのバージョンのNewtonsoft.Jsonを使っているからです。Functionsは引数をランタイムから受け取るので、ランタイムで作成されたNewtonsoft.Jsonのオブジェクトを受け取る際に、Functionsの中で使用されているNewtonsoft.Jsonのバージョンが異なると、ミスマッチが起こる、と理解しています。このあたり汎用性を持たせるのはかなり難しそうなので、バージョンが固定されているのも納得できました。...github.com引数の受け取りに、Newtonsoft.Jsonのオブジェクトを使わなければ問題はずです。私はこのようにすることで、今のところ問題が起きていません。/などと記載すれば警告は残りますが、Nugetがロールバックしなくなるので使えます。イベントを処理する方法を説明します。docs.microsoft.comJObjectかStringでしか受け取れません。JObjectは2.で述べたような制限があると使用できません。EventGridEventクラスで受け取ろうとすると、Microsoft.Azure.WebJobs.Extensions.EventGrid.EventGridEventクラスになりますが、こちらはもう非推奨のクラスです。一方で、V2だと新しいかつ扱いやすいクラスのMicrosoft.Azure.EventGrid.Models.EventGridEventで受け取れますので、受け取ったまま便利に扱えますが、V1だとこれは叶いません。V1でNewtonsoft.Jsonの制限がありつつ、EventGridEventを便利に扱うためには、Stringで受信して、それをEventGridEventにする必要があります。配列のJSONで来ません。単体のJSONで来ます。StringをEventGridEventにするためには、EventGridSubscriberクラスのDeserializeEventGridEventsメソッドを使用するのが便利ですが、これは配列のJSON形式を前提としているメソッドです。JSONを中身が一つしか入っていないJSONの配列に変換する必要があります。[]をつければ配列になるので、処理は簡単ですが、あんまり綺麗な感じはしません。Triggerにして、EventGridEventに変換する手があります。Triggerだと配列で来た気がします(違ったらすみません)。イベントを処理する方法を説明します。docs.microsoft.comこちらのほうが不要なコードが増える感じがします。認証にしか使われないコードがあるのはロジックに集中できるというFunctionsの強みに反しているような気もします。妥協して私はJSONの配列にするほうを選びました。牛尾さんの記事にあるように、V2と同じコードが動きます。初めに使うときはテンプレートを参照したほうが分かると思います。実務で使おうとすると、このように痒い所に手が届かないところや、めんどくさい部分が出てきてしまうんだなと思いました。Coreに対応していく世の中になるのかわかりませんが、これからも自分なりに動向を追えればな、と思います。紆余曲折あってメーカに就職。サーババックエンド側の担当になりました。好きなのは認知科学です。これからの時代、ネット上に個人の興味をアピールすべきと思っていたところ、木村君に拾われました。Antennaに参加してきました。いう場合、GitHubを使用されているのではないかと思います。そこで感銘を受けた内容について書こうと思います。dl4usを修了しました。今回はdl4usがどのようなものだったか、と受けた感想を述べたいと思います。前回少し書いた、最終課題について概要を書きます。技術的に詳しくは、また別の記事にしたいと思っています。私は「コナン君は年を取ると新一兄ちゃんになるか?」というテーマで課題に取り組みました。自分で書くことにしました。コメントをキャンセルメールアドレスが公開されることはありません。アーカイブ2020年1月2019年12月2019年11月2019年9月2019年5月2019年4月2019年3月2019年2月2019年1月2018年12月2018年9月2018年8月2018年7月2018年6月2018年5月2018年4月2018年3月2018年2月2018年1月2017年12月2017年11月2017年10月Twitterツイート。