そんなわけで2週間分ぐらいです。
Cloud
Azure Functions で実行中にコンパイルするとどうなるの
裏でFunction Appが実行中のときにコンパイルして(コンパイルエラーになったりして)るときに実行中のものはどうなるのか、予想では別物なんで問題ないと思いますが一応。
検証用コード
using System.Net;
public static async Task<HttpResponseMessage> Run(HttpRequestMessage req, TraceWriter log)
{
log.Info($"Start ----");
// parse query parameter
string name = req.GetQueryNameValuePairs()
.FirstOrDefault(q => string.Compare(q.Key, "name", true) == 0)
.Value;
await Task.Delay(TimeSpan.FromSeconds(20));
// Get request body
dynamic data = await req.Content.ReadAsAsync<object>();
// Set name to query string or body data
name = name ?? data?.name;
log.Info($"End ----------");
return name == null
? req.CreateResponse(HttpStatusCode.BadRequest, "Please pass a name on the query string or in the request body")
: req.CreateResponse(HttpStatusCode.OK, "Hello " + name);
}
HttpTriggerなC#のテンプレートにStartとEndのログと間にTask.Delayで処理止めてるだけのシンプルなやつです。
※ログにFunction Startedとか出るので無駄な気もするけど一応
手順的にはこんな感じ
1. 上記コードを実行する(適当に呼び出す)
2. Task.Delayしてる間にコードを適当に弄ってSaveしてコンパイルエラーにする
3. 結果を見る
4. そのまま再度呼び出す
実行結果はこんな感じになりました
2016-07-19T03:34:42.334 Function started (Id=14c91f2c-2490-437c-b461-258a13872d82) 2016-07-19T03:34:42.334 Start ---- 2016-07-19T03:34:45.698 Script for function 'HttpTriggerCSharp1' changed. Reloading. 2016-07-19T03:34:45.698 Compiling function script. 2016-07-19T03:34:45.776 run.csx(14,13): error CS1002: ; expected 2016-07-19T03:34:45.776 run.csx(11,48): error CS0246: The type or namespace name 'aaaa' could not be found (are you missing a using directive or an assembly reference?) 2016-07-19T03:34:45.776 run.csx(14,13): error CS0103: The name 'data' does not exist in the current context 2016-07-19T03:34:45.776 run.csx(17,20): error CS0103: The name 'data' does not exist in the current context 2016-07-19T03:34:45.776 run.csx(14,5): warning CS0168: The variable 'dynamic' is declared but never used 2016-07-19T03:34:45.776 Compilation failed. 2016-07-19T03:35:02.334 End ---------- 2016-07-19T03:35:02.334 Function completed (Success, Id=14c91f2c-2490-437c-b461-258a13872d82) 2016-07-19T03:35:27.915 Function compilation error 2016-07-19T03:35:27.915 run.csx(14,13): error CS1002: ; expected 2016-07-19T03:35:27.915 run.csx(11,48): error CS0246: The type or namespace name 'aaaa' could not be found (are you missing a using directive or an assembly reference?) 2016-07-19T03:35:27.915 run.csx(14,13): error CS0103: The name 'data' does not exist in the current context 2016-07-19T03:35:27.915 run.csx(17,20): error CS0103: The name 'data' does not exist in the current context 2016-07-19T03:35:27.915 run.csx(14,5): warning CS0168: The variable 'dynamic' is declared but never used 2016-07-19T03:35:27.915 Function completed (Failure) 2016-07-19T03:35:27.961 Exception while executing function: Functions.HttpTriggerCSharp1. Microsoft.Azure.WebJobs.Script: Script compilation failed.
StartとEndの間でコンパイル走ってエラーになってますが、Function Id=14c91f2c-2490-437c-b461-258a13872d82は継続して処理が完了してます。
その後再度呼び出してみるとコンパイルが完了してないので再度コンパイル→失敗→500エラーが返る、という感じです。
予想通りでしたね。なんかおかしい、という場合はぜひ追加の検証をお願いします。
Azure Update (2016.07.13)
WPC関連とか他いろいろ。
Azure Update (2016.07.08)
こまごま。
App Service
- 2016-07-07 Release Update
- Logic AppsのUpdateですね。細々したところですけど。
HDInsight
- HDInsight tool in Azure Toolkit for Eclipse is GA!
- Eclipse用のHDInsightツールがGAです
Azure Automation
- Automation schedules support time zones and daylight saving
- スケジュールでタイムゾーン指定がサポートされたのと、夏時間調整にも対応
SQL Database
- General availability: Always Encrypted for Azure SQL Database
- Always Encrypted now generally available in Azure SQL Database
- Always Encrypted機能がGAしました。
Power BI
- Power BI publish to web General Availability
- Power BIをWebに埋め込める publish to web がGAしました
- Power BI Embedded General Availability coming soon!
- 顧客向け組み込みPower BIももうすぐGA。11日なんでWPCで正式リリースですかね。
Azure Update (2016.07.07)
ちょっと大人しい感じ。
Azure Container Service
- Windows Server containers on Azure Container Service private preview
- ACS上で動作するWindows Server ContainersのPrivate Previewが始まりました。
- 登録が必要なようなので興味がある人はぜひ。(いくつかのアンケートに記入後、承認されるまで待つ感じです)
Application Insights
- New Application Insights metric widget for Visual Studio Team Services
- VSTS用ウィジェットとしてApplication Insightsのメトリックを表示させることができるようです。
Virtual Machines
- General availability of IaaS migration from classic to Resource Manager
- クラシックからリソースマネージャへの IaaS マイグレーションが一般提供開始に
- 一応GAしてました
- まだまだ注意点等は多いので気を付けましょう(構成方法も変わるので)
- AzureのクラシックVMからARMへのマイグレーション機能がGAしてました
- AzureクラシックVMからARMへのマイグレーションにおける注意点
SQL Database
- Point-in-time restore retention for Standard tier extended to 35 days
- ポイントインタイムリストアがStandardでも35日前まで戻せるようになりました。(前まで14日)
Azure Functions
- ランタイム ver 0.3がリリースされてました。
Azure Storage
- General availability: Azure cool blob storage in Canada
- 一般提供開始:カナダでの Azure cool blob Storage
- カナダでもCool Blob Storageが使えるようになりました。
Media Services / Media Analytics
- Announcing: Video OCR Public Preview
- 動画内のOCRですね。日本語も対応。
Azure Redis Cache
- Azure Redis Cache: Preview of new administration options in Premium tier
- PremiumでRedis Cacheの再起動とかができるようになりました
- How to administer Azure Redis Cache
DocumentDB
- DocumentDB throughput calculator update
- DocumentDB capacity planner update
- スループットやキャパシティの計算ツールなどがアップデートされました。
Azure Active Directory
- #AzureAD updated with new admin roles
- “Privileged Role Administrator”, “Security Administrator”,“Security Reader”の3つのロールが増えました。
- それぞれRBACで使ったりできます。
その他
- MS クラウド ニュースまとめ – Microsoft R Server 一般提供, Azure Information Protectionパブリックプレビュー提供, 他 (2016/06/22)
- 【Azureなう 6/28号】DockerCon 2016でのアップデートを一挙解説!
- 【Azureなう 7/5号】Red Hat SummitやMongoDB Worldでの新発表まとめ
- MicrosoftがRed Hat Summitでエンタープライズ クラウド向けの新しいオープン ソースの進展を発表
- Microsoft announcing new open source advancements for the enterprise cloud at Red Hat Summit
- Red Hat, Codenvy and Microsoft Collaborate on Language Server Protocol
- マイクロソフト、プログラミング環境の共通プロトコルをオープンソースで提供
- マイクロソフト、Azureアプリケーションの可用性を高める新チェックリストを公開
- Azure データセンターから発生するお客様の VM に対して行われる通信について
- はやくNSGのタグで気にしなくていいようにしてほしい
- Ubuntu Desktop の VS Code で SQL Server にクエリを実行してみる
- 2016/7 版の SSMS で SQL DataWarehouse に対応しました
- Announcing Microsoft R on Apache Spark and R Client at the Hadoop Summit
- Microsoft R on Apache SparkとかR Clientとかその辺の話
- Hadoop SummitとRed Hat Summit
- Azure HDInsight application platform: Install solutions built for the Apache Hadoop ecosystem
Microsoft MVP for Microsoft Azure
受賞できました。6年目です。
また1年間いろいろがんばりたいと思います。若手が増えてきたのでそろそろ抜けても大丈夫な気がします。
- Azure界のやまもとまさ こと やまさ こと @nnasaki / nnasakiのブログ に任せておけば安泰
- 人形町の岬くんこと @_iwate / Qaramell Blog に任せればだいたいの無茶ぶりはOK
- 元さくらの妖精こと @kanreisa / ポテチに関する雑記帳 に任せればだいたいのことは実現できそう
- Service FabricとStorageといえば おーみさん に任せておけばDeepなところまで大丈夫ですね。(ただしアルコール入ってない場合)
あとは継続してしばやん先生とムッシュにお願いすればAzure以外も大丈夫そうです。
※このエントリは頑張ってステマしようと試みてるエントリです(びっくりするほど去年のコピペです)
Azure Update (2016.06.24-2)
追加で。
Mobile Engagement
- New Azure Mobile Engagement SDKs for Xamarin, Unity, and web (preview) available
- PreviewですがXamarinとUnity(iOS/Android)、Web用SDKのようです。
Azure Storage
- General availability: Azure cool blob storage in new regions
- South Central US、 East Asia、Australia Eastの3つでCool Storageが使えるようになりました
- File Storageの価格がかわりました
- ストレージ料金は6月1日から、トランザクション料金は8月1日からかわります
Azure Active Directory
- #AzureAD Conditional Access for #Office365 Exchange & SharePoint preview!
- Office 365のExchangeとSharePointに対するAzure ADの条件付きアクセスがPreview提供です。
- 常にMFAが必要、職場でないときはMFAが必要、職場でないときはアクセスをブロックなどルールを追加できます
その他
- 【ウェブ セミナー】 Web 制作者の疑問を解消! AWS でできることはAzure でできるの?
- 出演:はるたま先生(どうなることやら…)
- あとAzure Batchは7月5日以降はクラシックポータルからAzure Portalへリダイレクトされるようです。
Azure Update (2016.06.24)
さぼってました。細々なUpdateの中にもきらりと光る何かが(?)
Azure Update (2016.06.09)
Fシリーズだったりいろいろ。
Microsoft クラウドのFrontdoor
いつのころからかMicrosoftクラウド(というかAzure)の管理用APIの入り口はワールドワイドに点在するようになってました。(昔は北米にしかなくて日本からだと遅かった気がしますよね)
実際にはTraffic Manager使ったりしてワールドワイドで共通のAPIの口(Frontdoor API)から裏のMicroservicesに処理を渡したりしてるようなのですが、そのようなグローバルなAPIをどう作るのかという話がいろいろあったようです。
- Presentation: Microsoft Cloud’s Frontdoor: Building a Global API / QCon London
- Building Resilient Services: Learning Lessons from Azure with Mark Russinovich / Build 2016
QConのはちょっと資料見れないので残念…
さとうなおきさんがLinkを教えてくれたので。
ログインすればPDFもダウンロードできます。
Mark Russinovichのセッションでは弾力性のあるサービスを作る際の(Deploy周りの)参考にという感じでAzureの内部の話に少し触れてますね。
Management APIの入り口としてAzure Frontdoor APIを紹介してます。デプロイする際の裏の動き(初期化や展開、それらのチェックなど)に触れてるので大規模サービス考えてる人は参考にするといいかもしれませんね。Azure側の話についてはQConのCharles氏のほうがより詳しいでしょう。