ふと気が付いたらAzure Functions on LinuxのConsumption PlanがPreviewで利用できるようになっていました。昨年12月ぐらいからぽい。そういえばPythonサポートが来た時のBlogに書いてたわ…
Functions
Azure Functions v2でリモートデバッグしたい
Visual Studio 2017を使ってAzure FunctionsにデプロイしたFunctionのリモートデバッグをしたいことってありますよね。
最近Azure Functionsのランタイムもv2になって.NET Coreが使えるようになりましたが、v2ランタイム上で動作する.NET CoreなFunctionをリモートデバッグしようとしてもシンボルがロードされず、ブレークポイントも無視されます。
症状的には以下のような感じ。
Tech Summit 2017 で登壇しました
事後報告ですが。
2017年11月8日~9日にMicrosoft Tech Summit 2017(日本)が開催されました。
いろいろご縁がありまして、おいらは「 Azure Functions と Serverless – 概要と企業向けTips」というタイトルで1枠喋りました。
Visual Studio 2017 Update 3 / .NET Core SDK 2.0 他いろいろ
でました。
- Visual Studio 2017 Update 3 (15.3) と ASP.NET Core 2.0 などがやっとリリース
- .NET Core, ASP.NET Core, EF Core and .NET Standard 2.0 announced
- Accessibility improvements in Visual Studio 2017 version 15.3
- Visual Studio 2017 Version 15.3 Released
- Announcing .NET Core 2.0
- Announcing .NET Standard 2.0
- Announcing ASP.NET Core 2.0
- Announcing Entity Framework Core 2.0
- F# and .NET Core Roadmap Update
Visual Studio 2017 Update 3 (15.3)にあわせて.NET Core 2.0 / .NET Standard 2.0 / ASP.NET Core 2.0 / Entity Framework Core 2.0などがリリースです。
またVisual Studio for MacもUpdateがあるみたいですね。
関連してAzure Functions Toolsも正式対応かな。(以前はPreviewなUpdate 3でのみ対応だったので)
なおUpdateするにはVisual Studio Installerを起動して更新すればよいかと思います。(VS本体の通知にはまだ来てなかった)
Azure Functions の OpenAPI 2.0(Swagger)サポート [Preview]
Azure Functions にはもともとAPI定義(API Definition)という機能があって、外部のどこかにOpenAPI 2.0(Swagger 2.0)の定義ファイルを置いてそのURLを登録できる機能がありました。(特に連携などなし)
今回追加されたPreview機能ではその機能に追加して定義されているHttpTriggerなFunctionから自動的にSwagger2.0な定義ファイルを生成・テストできる機能が増えました。
詳細は公式ドキュメントに概要・手順が載っていますのでそちらをどうぞ。
Azure Functions で EXEを実行する
普通にできたので。
例えばFunctionのフォルダ内にBinフォルダとかを作成してEXEをUploadします。呼び出しは普通にできるので.bat(Batch)とかでFunction作ると楽ですね。
後はbinをPATH環境変数に追加もしくはフルパス指定でEXE呼べばいいです。
例: ffmpegで動画ファイルから音声だけ抜き出す
echo OFF set PATH=bin;%PATH% ffmpeg.exe -i %inputBlob% -ac 1 -ar 16000 -acodec pcm_s16le -f wav %outputBlob%
BindingしたBlobなどは環境変数にパスが入るので、そこに対して読み書きすればいいだけです。
フルパスの場合は D:\home\site\wwwroot\<function名>\ なので適宜どうぞ。
まぁAzure Functionsのプラットフォームが今のところWindowsなのでEXE動かせますけど。。用量・用法を守ってご使用ください。
Azure Functions でJavaを使う
というドキュメントがUpされていました。
Azure Functions and Java experiment by @davidebbo github.com/Azure/azure-we…
—
Nir Mashkowski (@nirmsk) January 17, 2017
ドキュメントはこちらです。
かいつまんで説明すると、Azure Functions上にはJavaの実行に必要なものが一通りあるのでBatch(.bat)などからjavaコマンドで.classまたは.jar指定して呼び出すだけ、となります。
Azure Functions のプリコンパイルサポート
.NETなFunctionsの場合、プリコンパイルがサポートされました。簡単にいうと.csxじゃなくてコンパイル済みアセンブリ(.dll)を指定することで動的コンパイル処理をスキップすることができるようになりました。
Nice. Precompiled functions in Azure Functions bit.ly/2hSDVW1
—
Jeremy Hutchinson (@hutchcodes) January 05, 2017
Azure Functions のローカル開発
Azure Functions をローカルで開発するためのツールが2種類出ました(1つは結構前からですけど)
細かい話は本家Blog等を参照ください。
またこちらのBlog、動画も参考にどうぞ。
Azure Update (2016.11.17)
Connect();もあり、Azure FunctionsがGAとか大き目のUpdateがたくさん。データストア系の強化やコンテナ対応、Bot/Intelligence/Serverlessなどが大きな流れでしょうか。