Quantcast
Channel: Azure –ブチザッキ
Viewing all 506 articles
Browse latest View live

Azure Update (2016.10.31)

$
0
0

気付けば2週間分以上溜まってました。


Azure Scheduler

Azure Functions

  • Azure Functions portal and host improvements
    • ポータル等の更新です。
    • HTTPトリガーをポータル上で実行するときにメソッドやクエリ、ヘッダなどを編集して実行することがポータル上でできるようになりました。
    • HTTPトリガーのBindingを編集するときに許可するメソッドを指定したりすることもできます。
    • ランタイムのバージョン0.7以降でASP.NET Web APIのルーティング属性に基づいてカスタムルートをサポートしたりできるようになりました。
  • ラインタイムのバージョン(最新は0.8)での更新内容はこちらを参照。

App Service

API Management

Service Fabric

Azure Search

DocumentDB

Azure Redis Cache / Managed Cache

Data Lake

Azure Automation

Azure Site Recovery

ExpressRoute

Operations Management Suite

Application Insights

Azure Analysis Services

Machine Learning

SQL Database

  • Long-Term Retention (LTR) ということでAzure Back Vaultに長期バックアップを取得することができるようになりました。(最大10年ですかね)

SQL Data Warehouse

Cognitive Services

Azure CDN

Azure Active Directory

Power BI

SDK / Tools

認定など

その他


カテゴリー:つぶやき Tagged: Azure, Cloud, JAZUG, Update

Microsoft Flow と PowerApps が GA

$
0
0

というわけで(たぶんPSTで)11月1日にMicrosoft FlowとPowerAppsがGAに至ることがアナウンスされました。

Microsoft FlowもPowerAppsも出始めのころ少し触ってましたがどちらも組織内ユーザーをターゲットにしてるサービスですね。
ノンコーディングで複数サービスを組み合わせたフローを動かしたりLOBアプリぽいのを作ったりできます。

PowerAppsはパートナーのソリューションをショーケースから利用できたりもするのでうまく流行るとイイデスネ。
同様に企業内のBIみたいなソリューションで Microsoft Power BIも挙げられていますね。ちょっと知識があれば業務の改善を自ら行えるのですごくいい仕組みだと思います。(エンドユーザー自身でできますよ!)

あと早速SharePointで使えるようになってたり。

PowerAppsはInfoPathの代替となるのかな?


カテゴリー:つぶやき Tagged: Azure, Cloud, Flow, JAZUG, PowerApps, Update

Guest OS family 5

$
0
0

Windows Server 2016もRTMしたことですし、Azure Cloud ServicesのGuest OSにもWindows Server 2016ベースのGuest OS 5.xがリリースされました。

October 23 2016

Windows Server 2016 will be released as OS Family 5 on November 1 2016, with .NET 4.6 support.

WA-GUEST-OS-5.2_201610-02 ということで.NET 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2がサポートされます。アップデートする場合は注意してくださいね。

使う場合は最新のAzure SDK for .NETを使えばよいかと思います(2.9.5.1以上でサポートぽい)

というわけで普通に使えました。(現行ポータルだとバージョン見れなかったので)
image


カテゴリー:つぶやき Tagged: Azure, Cloud, Cloud Services, JAZUG, Update

Azure Update (2016.11.07)

$
0
0

Azure RelayとかAzure AD B2Bとかいろいろです。


Azure Service Bus

Azure Storage

SQL Database

Azure API Management

Azure Active Directory

Azure Government

SDK / Tools

その他


カテゴリー:つぶやき Tagged: Azure, Cloud, JAZUG, Update

Azure Update (2016.11.14)

$
0
0

そろそろ書かないとまた溜まるので。コンテナーあたりのUpdateがイイ感じでしょうか。(サイレンに負けずに書きました(白目


Azure Container Service

App Service

  • Logic Apps
    • Release Update 2016-11-11
      • 定例アップデートですね。すぐに実行ボタンがデザイナーについたりデザイナー周りのUpdateとBug Fixesです。

SQL Database

DocumentDB

Azure Backup

Cognitive Services

  • Content ModeratorがPreviewです。
    • 画像が不快かどうかモデレートできます。OCRや顔検出なども内包してるみたいで、悪意あるコンテンツ(画像)を判別できます。(デモだと個人情報の識別とかマルウェアとかフィッシングのURLとかもチェックしたりしてるぽい)
  • Face API のPerson Groupのリミットは1000人/グループですが追加購入すると最大10万人保存できるようになったようです。

Azure API Management

Operations Management Suite

  • Filter the security events the OMS Security collects
    • OMSでWindowsのイベントログからApp LockerやらWindows Securityやらのログ全部収集しますが膨大なのでフィルターできるようになりました。
    • 全部か一切収集しないか、または共通(監査に通るレベルでの)ログか最小かなどを選択できます。どのようなイベントIDが収集されるかは上記Blogを参照ください。

Azure Government

DoDがPreviewになったりとGovernment周りも活発ですね。

その他


カテゴリー:つぶやき Tagged: Azure, Cloud, JAZUG, Update

Microsoft Connect(); // 2016 Day 1 Keynote

$
0
0

ここのところ毎年恒例(?)、Microsoft Connect();の時期がやってまいりました。

imageimage

さて初日はキーノートということでいつもの通りざっくりぺたぺたしたいと思います。


Keynote

最初はやっぱりScottGuから!
image

おさらい的にMoile First + Cloud Firstの話。
image

今日のテーマはAny Developer、Any App、Any Platform。いろんな組み合わせでサーバーサイドもクライアントもお任せ的な。
imageimageimageimage

ということで最初のデモはChris氏からVisual Studio Code。クロスプラットフォームで動くということでmacOS上で実行してみます。
imageimage

VSCode上でnode.jsアプリをさくっと作ってローカルホスト上のMongoDB使ったりデバッグしたりもできます。エクステンションもたくさんありますね。
imageimageimage
今回はDockerサポートを使ってました。dockerfile作ったり拡張(エクステンション)のおかげでDocker Hubから元イメージをインテリセンスで選んだり。できあがったDockerコンテナーをDocker HubにPushしたり。
というわけでApp Service上でDockerコンテナーがサポートされたのでそのままAzure上にデプロイ。(App Service上でDockerコンテナーを動かすのがサポートされました!)
今のDocumentDBはMongoDBのプロトコルもサポート(Preview)してるので、DocumentDBを作って接続文字列を変えるだけでアプリがDocumentDBを使うように変わりました。
imageimage

という感じのデモでもわかる通りVisual Studio Codeはマルチプラットフォームで開発できるIDEとしていい感じです。
image

次はGitHubのCEO、Chris氏が登場です。GitHubの1番のコントリビューターはMicrosoftになってるとかOSSでのエコシステム的なお話など。
imageimage

ScottGuに戻ってきてMicrosoft <3 Linux というメッセージとともにMicrosoftがLinux Foundationに参加することを発表しました。
imageimage
Linux FoundationのJim氏も登壇。
imageimage

次はNat氏。モバイルアプリケーション開発周りのお話&デモなどです。すでにVisual StudioとXamarinを使ってモバイルアプリ開発してる会社もたくさんあります。
imageimageimage

ということでより新しく今の時代に即した(?)Visual Studio 2017のアナウンスです!(今はRC)
image

デモはJames氏から。テンション高いw Windows上でUWP/Android Emulator/iOS Simulatorを動かしてくる祖プラットフォーム開発。画面部分はXamarinで。Xamarin.FormsもForms Previewということでプレビューしながら画面の開発を行えます。Xamarin Inspectorでオブジェクトの階層構造を3Dでみたり、リアルタイムで変更したりすることもできます。
imageimageimageimageimage

ということで次は… Visual Studio for Mac!今日からPreview版が利用可能です。.NET CoreやASP.NET Core、Xamarinを使った開発がVisual Studioで、macOS上で行えます。もちろんIDEなのでデバッグも可能。iOS/Android開発、.NET開発にAzure用ツール(Tools for Azure)がついてきます。
imageimageimageimage

ライセンスはVisual Studioのサブスクリプション持っていれば使えます。またFree Community Editionもあります。
image

またモバイル開発(に限りませんが)テストやビルド、デプロイ、分析、配布などたくさんのプロセスが必要ですよね。ということでそのあたりを助けるVisual Studio Mobile CenterがPreview公開です。GitHubと連携してモバイルアプリのリポジトリ作ったり、テンプレートから選んだり。コミットがあったらビルドしてテストしたり、Xamarin Test Cloudと連携したり、問題なくビルド・テストが終わったアプリをベータテスターに通知・配布したりすることができます。
image
imageimageimageimageimageimageimageimage
また配布したアプリの稼働状況やエラー情報をみたりなども統合して行えます。(裏でAzureのHockeyAppが使われてそうな雰囲気ですね)
Azure App Service Mobile AppsのEasy Table(Table Storage)の中身を見たりなんかもできます。
imageimageimageimageimageimageimage

次はAzureの番ですね。選択と柔軟性ということでいろんなテクノロジーやOSSが選択できます。データセンター(リージョン)も今は38か所(アナウンスのみ含む)。各種認定なども継続的に取得していっています。まだおさらい的な感じですね。そして昨今のトレンド的にはコンテナー。
imageimageimageimageimageimageimageimage

ということでVisual Studio tools for Dockerのお話。デモはDonovan氏から。メニューからDockerサポートを選ぶとdockerfileなどが追加されます。でビルドするとDockerコンテナーのイメージがビルドされます。修正・ビルド・再実行も素早く簡単に。
imageimageimageimageimageimage
ローカルで開発終わったらそのままApp Serviceにデプロイも簡単です。
imageimageimage

というわけで、Azure App Service(on Linux)がコンテナーをサポート、Visual Studio tools for Dockerも(Preview)リリースです。他にもAzure Container Serviceもありますね。
imageimageimage

また、Visual Studio Team ServicesがDockerコンテナーをサポートです。Docker Composerのファイル(Yaml)を置いておけば適切に処理してくれそう。あとは継続的デプロイの設定もVisual Studio上から簡単に。Azure Container Serviceへデプロイしてました。
imageimageimageimageimageimage

またアプリやCI/CDに絡むところでAzure Application Insights、TFS2017がGAです。
image

次はServerless。ということでAzure FunctionsがGAです。デモはBeth氏から。最近はBindingが増えてSendGridやTwilioなども連携できるようになりました。デモ内容は自撮り画像をUploadするとCognitive ServicesのFace APIかな?を使って人物の年齢をTableに保存するというもの。Visual Studioを使ってリモートデバッグしたりAzure上にデプロイしたりもできます。
imageimageimageimageimageimageimageimageimage

次はSQL Server 2016話。現在のおさらい的なところから。
imageimageimageimage

現状3つあるエディションでの大きな差異はこんな感じ。
image
これがSQL Server 2016 SP1では全エディション同じになります!(ただしスライドに挙がっている機能が。)
image
そしてSQL Server on Linuxのお話。デモはLara氏から。macOS上でDockerコンテナーでSQL Serverを動かします。SQL Server vNext (CTP1) ver 14.0.1.246 がmacOS上のDockerコンテナー(Ubuntu15.10)上で動いてます! Visual Studio CodeとSQL Serverの拡張機能を使いつつASP.NET CoreなWebアプリからローカルのSQL Serverにつなぐアプリのデモでした。(全部macOS上で完結してます)
imageimageimageimageimageimage

SQL ServerといえばStackOverflowということで(?)、StackOverflowのお話。こんだけ使ってますよ的な。
imageimage

次はCognitive Services系のお話ですね。まずはおさらい。昨今データをより深く利用したりするのに機械学習の成果であるCognitive ServicesといったAPIを使ったり、Botをアプリに組み込んだりサービスに組み込んで利用するというのがあります。
imageimage

というわけでAzure Bot ServieがPreviewです。あとAzure Data LakeもこのタイミングでGAですね。
imageimage

デモは再度Lara氏から。Face APIを使ってリアルタイムに人の認識と顔の解析(年齢や表情など)。Botとの連携では最初に人を認識してその後音声→テキストに変換、Botが解析、文章に応じた必要な処理をするデモでした。Azure Bot Serviceを使うとBot部分を動かすプラットフォームを簡単に作ってポータル(ブラウザ)上でエミュレーター相手にテストまで可能です。
imageimageimageimageimageimageimage

ScottGuの出番はこれで最後。Microsoft <3 Developersというメッセージで終了です。
imageimage

さて残りのパートはScott Hanselman氏から。今日の主旨の話や新しいVisual Studio 2017について。デモはKasey氏。デバッグ機能の向上や例外ヘルパーなどなどを紹介。
imageimageimageimageimageimage

次のデモはStacey氏。Unitテスト系のデモですね。サインイン時のチェックがバグってる(テスト通らない)というあたりのシナリオでデモしてました。UIテストな感じのやつですね。なおVB6も登場してました。。
imageimageimageimage

次のデモはMiguel氏。Visual Studio for Macのデモですね。もちろんデバッグもできます。Xamarin.iOSやXamarin.Androidも。
imageimageimageimageimageimage
ASP.NET CoreのWeb APIなアプリも同じようにVisual Studio for Macで開発・デバッグできるので両方あわせてデバッグしやすいですね。(PPAPネタはさておき)
imageimageimage

ハンセルマン氏はLinux上でVisual Studio Codeを使った.NETアプリの開発のデモ。
image

後は.NET Ecosystemの話ですね。どのOSでもどのプラットフォームでも。現在.NET Foundationに参加しているのはMicrosoftのほかにRedHatやSAMSUNG、Unity、JetBrainsがいます。
imageimageimage

そしてSAMSUNGからのアナウンスとしてはVisual Studio tools for Tizen。エミュレーターもあるし、実際にスマートウォッチ上でも動作させてます。で、突然ハンセルマンが走ったと思いきや壇上にあったモニタ(じつはサムスン製)上でもアプリを動かしました。
imageimageimageimageimage

そのほか.NET Core 1.1リリースのアナウンスやGoogleが.NET Foundationに参加したことが発表されました。
imageimage

Maria氏からはCSProjの話とか(!)、プロジェクト周りのデモなどを。あとはASP.NET Coreのパフォーマンス話。(まぁパフォーマンス話は参考程度に)
imageimageimage

まとめ。
imageimage

以上でキーノートはおしまいです。ブレイクアウトセッションは3日間あるようで、Channel 9で見れると思いますので興味のある方はぜひ。

Updates / Announcements (WrapUp) ※Keynote外での発表含む

  • MicrosoftがLinux Foundationに参加
  • Visual Studio “15” → Visual Studio 2017 (RC)
  • Visual Studio for Mac (Preview)
  • Visual Studio Mobile Center(Preview)
  • Azure App Service が Dockerコンテナーをサポート
  • Visual Studio Tools for Docker (Public Preview)
  • Visual Studio Team Services が コンテナーをサポート
  • Azure Application Insights が GA に
  • Team Foundation Server 2017
  • Azure Functions  が GA に
  • SQL Server 2016 SP1  がリリース、 Standard・Express Editionが大幅強化
  • SQL Server on Linux (Preview)※SQL Server vNext CTP1
  • Azure Bot Service  (Preview)
  • Azure Data Lake Services が GA に
  • Visual Studio Tools for Tizen
  • Google が .NET Foundation に参加
  • .NET Core 1.1 / ASP.NET Core 1.1 / EntityFramework Core 1.1  リリース
  • ーーーー
  • Azure Cloud Services でGシリーズサポート
  • R Server on HDInsight が GA に
  • DocumentDB の ローカルエミュレーターがリリース
  • Logic Apps B2Bポータル (Preview)
  • Azure VMのNシリーズ(GPU入り)が12月1日にGA
  • Azure Machine Learning が東日本とUS East 2で利用可能に
  • Apache Kafka for HDInsight (Preview)
  • .NET Core Tools MSBuild “alpha”

とりあえずこの辺り見ておけば大丈夫な気はします。

Azure系は別で纏めようかと思います。


カテゴリー:つぶやき, イベント Tagged: Azure, Cloud, Connect, Event, JAZUG

Azure Update (2016.11.17)

$
0
0

Connect();もあり、Azure FunctionsがGAとか大き目のUpdateがたくさん。データストア系の強化やコンテナ対応、Bot/Intelligence/Serverlessなどが大きな流れでしょうか。


Azure Functions

  • Azure Functions が GAしました。
  • 一般提供開始:Azure Functions
  • Announcing general availability of Azure Functions
    • 内部で開発許可が降りてプロジェクトが始まってからGAするまで313日だそうです(小ネタ)
  • 価格について
    • 以前のDynamic PlanというのがConsumption Planになりました。(Web Apps上で動かすモデルはクラシックのまま)
      image
    • Consumption Planは実際の使用量に対して課金ということで、2つの指標を基に料金が発生します。 (どちらか、ではなくどちらも対象です)
    • 1: 実行時間
      • 実行時間はGB-sec という単位になります。(日本語だとGB秒…)
      • 割り当てたメモリx実行された時間で計算します。1か月に40万GB-secまでは無料で提供、超えた分はGB-secあたり0.001632円です。
    • 2: 実行回数
      • 実行回数は100万実行あたり20.40円です。1か月に100万実行までは無料で提供されます。
    • 価格の詳細はこちらの公式を参照ください。
  • ランタイムが1.0になりました。ポータルも少し変わってますね。また実行されすぎないように使用量にクォータを設けることもできるようになりました。
    image
  • Azure Functions CLIというのが出ています。ローカルで開発などいろいろできるのでVisual Studio Codeなどと合わせてぜひどうぞ。(どこかにそういうことしてる動画があったな)

App Service

Cloud Services

Azure Bot Service

突然の発表ですがAzure Bot ServiceがPreview公開です。Azure Functions上で動作するMicrosoft Bot Frameworkを動かすためのサービスのような感じです。ポータル上でアプリの管理やコード書いたり、Bot Emulatorも入っているのでその場でBotとチャットして動作確認など行えます。

DocumentDB

Virtual Machines

Azure Machine Learning

Azure Data Lake

Data Lake Store、Data Lake Analytics両方ともGAです。

Cognitive Services

Application Insights

Media Services / Media Analytics

  • Redaction Preview available globally
    • ぼかし入れる機能が全リージョンで使えるようになったようです。あと専用クライアントツールもOSSで公開。

Azure Security Center

HDInsight

Azure Backup

Power BI

その他

Connect(); 関連ぽいの


カテゴリー:つぶやき Tagged: Azure, Cloud, Functions, JAZUG, Update

シングルインスタンスVMのSLA

$
0
0

今日のアナウンスでシングルインスタンスなVMでもSLAがサポートされることになりました。

可用性セットなし、または可用性セット内に1インスタンスしかない場合でもPremium Storageを使ったVMならSLA対象となり月内Uptimeが99.9%保障となります。

SLA全文についてはこちらをどうぞ。

最近はインフラの更新のおかげでホストのメンテも低減してるはずなのでこのあたりのUpdateは嬉しいですね。普通のStorageでも欲しいです(ダウンタイムなしが一番ではありますが)


カテゴリー:つぶやき Tagged: Azure, Cloud, JAZUG, Update

Azure Update (2016.11.24)

$
0
0

新しい機能としてはAzure Advisorとか。あとはシングルインスタンスSLAとかAv2がやっと来ました。細かいのが多いですね。


Azure Advisor

Azure Advisorはサービスというかポータル上の機能のようなものですけど、サブスクリプション内の様々な事項に対して推奨事項を教えてくれるサービスです。(新しくPreviewとなりました)

image

もともとApp Serviceでパフォーマンスなどに対して推奨事項が表示されるようになっていましたが、そちらの発展版となります。個別に見なくても全体見てくれるのがいいですね。可用性やセキュリティ、パフォーマンスやコストといった観点でこうしたほうがいいよ?というのを提示してくれます。

App Service

Virtual Machines

SQL Data Warehouse

Azure Active Directory

Azure Stream Analytics

Media Services

  • New pricing model for encoding with Azure Media Services coming in January 2017
    • 2017年1月からオンデマンドのエンコーディングが新しい価格モデルになります。
    • 以前は出力ファイルサイズに対しての料金でしたが新しいモデルでは出力動画の長さ(分単位)での課金となります。
    • SD(1280×720未満)を基準としてHDならSDの2倍、音声のみならSDの0.25(1/4)となります。

Power BI

Azure CDN

HDInsight

Azure Stack

Azure DevTest Labs

DocumentDB

Service Fabric

Azure API Management

  • Release notes – November 21st, 2016
    • ARMのVNETをサポートしたようです。インターナルオンリーなVNETで利用したりとちょっと使い勝手よくなるかも。

Azure Backup

Azure Data Lake

Azure IoT Hub

Operations Management Suite

その他


カテゴリー:つぶやき Tagged: Azure, Cloud, JAZUG, Update

Azure Update (2016.12.01)

$
0
0

Thanks Givingとかいろいろあって控えめな感じです。そろそろ休暇時期で今後も控えめな感じかなぁ?
とりあえずAzure SearchのカスタムアナライザーなどがGAです。


Virtual Machines

Azure Search

Application Insights

DevTest Labs

Azure Active Directory

StorSimple

Azure Site Recovery

Tools / SDK

PowerBI

その他


カテゴリー:つぶやき Tagged: Azure, Cloud, JAZUG, Update

Azure Functions のローカル開発

$
0
0

Azure Functions をローカルで開発するためのツールが2種類出ました(1つは結構前からですけど)

細かい話は本家Blog等を参照ください。

またこちらのBlog、動画も参考にどうぞ。

基本的にAzure Functions CliがFunction Appを動かすためのホスト(ランナー)の役割を担います。
※Azure Functions Cliは他にもテンプレートから新規作成したりなども行えます。現状macOS上ではfunc new しかできません(今回のローカルデバッグなどの機能はWindows上でのみ可です)。もしxplatで動かしたいというのであれば、こちらのIssueにUpvote(イイネ)してください。

さて、このPostではVisual Studio 2015での話をします。Visual Studio Codeについては Running Azure Functions Locally with the CLI and VS Code あたりを見たほうが良いかと。

前提条件

  • 現在のところVisual Studio Tools for Azure FunctionsはPreview提供です。
  • 現在のバージョンは Visual Studio 2015 Update 3 と“Microsoft Web Developer Tools”がインストールされている環境が必要です。
  • またAzure SDK for .NET 2.9.6 もインストールしておく必要があります。

現状の制限

  • インテリセンスはC#とJavaScriptのみ現状はサポートされます。F#、Python、PowerShellのサポートは関連コンポーネントをインストールしていると使えるようです。またC#・F#の場合、.csxと.fsxファイルといくつかのシステム名前空間で定義されたクラス等に制限されているので注意ください。
  • 「新しい項目の追加」メニューは動作しません(空っぽなので追加できない)。エクスプローラーなどで直接ファイル追加してください。
  • 発行後正しくFunctionがAzure上に登録されない場合があります(Consumptionモデルの場合)。Azureポータル上でFunctionの一覧を更新してください。
  • C#Image Resizeを作成すると、バインディングが正しく生成されません。生成されたfunction.jsonのバインディング「Azure Storage Blob out(imageMedium)」の設定によって、バインディング「Azure Storage Blob out(imageSmall)」の設定がオーバーライドされます。 回避するには生成されたfunction.json内の imageSmallバインディングを手動で編集します。
  • ManualTriggerを実行する手段がない感じです。注意しましょう。(とりあえずHTTPトリガーとかで起動できるようにする感じですかね)

インストール方法

こちらからVisual Studio Tools for Azure Functionsをダウンロードしてインストールします。

インストーラーはごく普通のものなのでぽちぽちインストールしましょう。

image

条件満たしていれば特に問題なくインストール完了すると思います。

使い方

インストール後はVisual StudioにAzure Functions関連のテンプレート等が追加されます。
プロジェクトの新規作成ダイアログでテンプレートが増えてるので選択しましょう。
image

プロジェクトの初期値はこんな感じです。
image

Azure Functionsのプロジェクトは複数のFunctionsを纏めたものという感じの扱いです。簡単にいうとAzure上でFunctionsを構成したときの状態と同じような感じです。ここにFunctionを追加していくわけですが、プロジェクトを右クリックして追加メニューからNew Azure Functionを選択すればテンプレート選択画面になり、Azureポータル上で操作するのと同じようにFunctionを追加できます。
imageimage

テンプレートによって初期値が求められるので適宜入力してCreateで作成します。試しにシンプルなHttpTriggerなC#のテンプレートを選択して作成するとこんな感じでファイルが追加されます。
image

基本的にテンプレートはAzure上のものと同じです。C#テンプレートだとあらかじめproject.jsonが含まれてたり楽ですね。
ちなみにrun.csxなど.csxの編集ですが、基本的なもの(※細かく見れてませんけど)はインテリセンスが効きます。独自クラスぽいTraceWriter(logインスタンス)とかはインテリセンス効きません。今後に期待したいところですね。

ローカル デバッグ

デバッグはVisual Studioの通常の操作でデバッグするといいです。さてここからAzure Functions Cliの出番です。もしインストールされていなければインストールを促すダイアログが表示されます。
image
はいを選択すれば勝手にインストールしてくれます。ちなみにAzure Functions Cliがないとデバッグできないので注意ください。
※環境によってはファイアウォールにブロックされるので許可してあげましょう。
image

さて無事デバッグ実行ができますと、(UACのダイアログもでるかもしれませんが)func.exeが立ち上がってAzure Functionsが起動します。
image

基本的にFunctionsのホストが立ち上がる感じなので、プロジェクト内にあるFunctionが全部列挙されます。(function.jsonがなかったりするとFunction扱いしてくれませんので列挙されません)
あと最後にURLが表示されますがそのURLがFunctionのエンドポイントとなります。

※エンドポイントじゃなくて取りあえずルートに接続するとAzure Functionsのホストが起動してるというのがわかります。(Azure上のFunction Appも同様の画面見れます)
image

さてrun.csxに適当にブレイクポイントを貼ってコンソールに表示されてたエンドポイントに接続してみましょう。
image

ブレイクポイントで止まって値を確認したりステップ実行もできますね。
image

Func.exeのコンソールには呼び出されたこともわかります。(logで出力したりするとこちらに出力されます)
image

ちなみにデバッグ実行後、プロジェクトにいくつかファイルが増えます。
image
赤枠部分が増えたものです。secretsはAPIキーなどを格納するようのフォルダ、sampledataはAzureポータル上でDevelopするときに使われる(実行時の)初期Inputデータです。まぁAzure Functionsに詳しい方ならわかりますね。
ちなみに現状はHTTPトリガーなどで設定できる認証レベルを指定しても(既定だと例えばFunctionにしてても)デバッグ時は認証なしで接続できます。

デプロイ

デプロイはプロジェクトのコンテキストメニューから「公開」を選択してウィザードに従うだけで行えます。(WebDeployで直接発行する場合。CI連携してる場合などはここでは割愛します)

発行ウィザードから「Microsoft Azure App Service」を選択します。
image

Azureサブスクリプションに権限のあるユーザーでサインインすればAzure上にあるFunction Appが表示されると思うので選択します。後はウィザードに従ってデプロイしましょう。
imageimageimageimageimage

ちなみにhost.jsonとか一緒に発行されてしまいますが無視される(たぶん)ので大丈夫です。またすでにAzure上に存在するファイルは残ってます。(WebDeployで消すように設定してなければ。たぶん。)

あとHTTPトリガーなどで使用するAPIキーは発行後自動的に生成されます。

※現状、HTTPトリガーではないトリガーなFunctionの場合、発行後にちゃんと認識してくれないようです。(発行後、Azureポータル上で一覧の更新をしてあげると良いようです)

リモート デバッグ

Visual StudioのCloud ExplorerからFunction Appを選択してデバッガーのアタッチを行えば簡単にリモートデバッグできます。
image
※当初はクラシックプランでないとダメだった気がしますがConsumption でもできるようになってました。

もしシンボルが読み込めないとかでデバッグできない(ブレイクポイントに止まらない)とかであればVisual Studioのオプションのデバッグのところで以下の2つのチェックを外してみてください。
image

  • 「マイ コードのみを有効にする」
  • 「元のバージョンと完全に一致するソース ファイルを必要とする」

またアタッチするのはいいけどうまく動作しないとかの場合は根気よく待つか(やたら遅いですね)、一度Azure Functionsを再起動しましょう(Azureポータル上で)

その他Tips

細かい挙動(特にFunctionsのホスト)を知りたい場合はGitHub見ましょう。

またローカル実行する際のホストの設定についてはhost.jsonを弄りますが、こちらもGitHub上のドキュメントがあります。

バインディングで接続文字列が必要なもの(Blob ストレージとか)をローカルで動作させる場合、function.jsonには接続文字列の設定名を記述して接続文字列等は appsettings.json に記述します。またAzure Storageなどローカル上でエミュレーター等が動作できる場合、そちらも使えます。

例: Blobに出力する

{
  "disabled": false,
  "bindings": [
    {
      "authLevel": "function",
      "name": "req",
      "type": "httpTrigger",
      "direction": "in"
    },
    {
      "name": "res",
      "type": "http",
      "direction": "out"
    },
    {
      "type": "blob",
      "name": "outputBlob",
      "path": "output/{rand-guid}.txt",
      "connection": "Output_STORAGE",
      "direction": "out"
    }

  ]
}

function.json は↑こんなかんじ
appsettings.json は↓こんなかんじ

{
  "IsEncrypted": false,
  "Values": {
    "AzureWebJobsStorage": "",
    "AzureWebJobsDashboard": "",
    "Output_STORAGE": "UseDevelopmentStorage=true"
  }
}

もちろんちゃんとした接続文字列も使えます。

まとめ

Visual Studioでコーディングできるようになるとだいぶ楽ですね。何よりインテリセンスが使えたりデバッグができると格段に生産性が上がるかと思います。(インテリセンスは今後にさらに期待)

※一応 Microsoft Azure2 Advent Calendar 2016 の4日目の記事にしておきますね。


カテゴリー:つぶやき, Tips Tagged: Azure, Cloud, Functions, JAZUG

Azure Update (2016.12.08)

$
0
0

年末に向けて来年のアナウンスや細かいUpdateが増えてきましたね。


Azure Functions

App Service

Virtual Machines

SQL Database / SQL Data Warehouse

Service Fabric

Azure Active Directory

Azure IoT Hub

Azure Redis Cache

  • Azure Redis Cache diagnostic improvements
    • 来年初頭ぐらいにRedis Cacheの診断部分がAzure Monitorに移行するぽいです。
    • 診断ログなどを取得するためにストレージアカウントの設定など別途していたのが不要になるぽい。アラートなどもAzure Monitor側にお任せな感じですかね。
    • パートナーソリューションへテレメトリデータ送信するのもAzure Monitor側でできます。
    • もしApplication Insights使ってるなら最新のSDKに更新してくださいということです。

Azure Notebooks

Media Services

Application Insights

  • New features in Azure Application Insights Metrics Explore
    • パーセンテージ アグリゲーションチャートということで例えば成功・失敗の合計を100%として割合を見たりできるようになりました。
    • あとはグラフのY軸の上限・下限を固定化したりとかピン留めとか項目のフィルタリングとか

Azure Portal

  • Sneak peek: A new Azure Cloud Console
    • Azureポータル上で(ブラウザ上で)Azure CLI/Azure PowerShellなどを実行できるようになるようです。(Kuduのコンソールのようなイメージですね)
      image
    • 現在はPrivate Previewということで試してフィードバックしたい方は申請しましょう。

Azure Security Center

Power BI

Enterprise Mobility + Security (EMS)

その他


カテゴリー:つぶやき Tagged: Azure, Cloud, JAZUG, Update

Azure Update (2016.12.15)

$
0
0

どんどん年末が近づいてきました。

 

Media Services / Media Analytics

Azure IoT Hub

Operations Management Suite

DocumentDB

Azure Notification Hub

  • 現状は名前空間毎の課金となっていますが、2015年12月1日以前に作成されていたものについてはサブスクリプション単位での課金が移行期間として継続していました。2017年1月1日以降は名前空間毎の課金に移行するようですので注意ください。
  • Notification Hubs の価格

ExpressRoute

Azure Analysis Services

Azure Active Directory

Azure API Management

Enterprise Mobility + Security

その他


カテゴリー:つぶやき Tagged: Azure, Cloud, JAZUG, Update

Azure Update (2016.12.30)

$
0
0

2016年も終わりですねぇ。2週間ほど貯めてたので消化Postです。年内のUpdateはもうないと思います。たぶん。


Azure Storage

App Service

SQL Data Warehouse

SQL Database

Service Fabric

DevTest Labs

Cognitive Services

Azure CDN

Media Services

Azure Site Recovery

API Management

Power BI

Azuire Active Directory / Enterprise Mobility + Security (EMS)

Regions

主に各リージョンでサービスが増えたやつのアナウンスなど。

Tools / SDK

その他


カテゴリー:つぶやき Tagged: Azure, Cloud, JAZUG, Update

Azure Functions のプリコンパイルサポート

$
0
0

.NETなFunctionsの場合、プリコンパイルがサポートされました。簡単にいうと.csxじゃなくてコンパイル済みアセンブリ(.dll)を指定することで動的コンパイル処理をスキップすることができるようになりました。

 

やりかた

function.json に2つのプロパティを追加するだけです。

例:

{
    "scriptFile": "PreCompiledFunctionSample.dll",
    "entryPoint": "PreCompiledFunctionSample.MyFunction.Run",
    "bindings": [
        {
            "authLevel": "function",
            "name": "req",
            "type": "httpTrigger",
            "direction": "in"
        },
        {
            "name": "$return",
            "type": "http",
            "direction": "out"
        }
    ],
    "disabled": false
}

scriptFile に実行する関数が含まれているアセンブリのファイルを、entryPointに実行するメソッドを指定します。entryPointはだいたいは 名前空間.クラス名.メソッド名 という形式になるかと思います。

後はfunction.jsonと対象のアセンブリだけ放り込めばコンパイル処理はスキップされて実行されます。

サンプルプロジェクトがあるのでこちらで試してみましょう。

  • azfunc-precompiled-sample
  • ※Issue+PRはしたのですがそのままだとビルドできませんので、NuGetで Microsoft.AspNet.WebApi.Core を追加してください。

出来上がったらAzure Functionsに登録します。(フォルダ作ってDLLとfunction.jsonをUploadするだけです)
image

実行してみると問題なく処理されてますね。
image

注意点

どうもアセンブリがどこかで持ったままになってる感。アセンブリ入れ替え時うまく入れ替わらない・削除できないなどが発生した場合はApp Service再起動したり(Kuduからw3wp.exeをKillしたり)しましょう。

デバッグとか

ローカルにはソースがあるわけですから、もちろんリモートデバッグもできます。(やり方は以前のPost参照)

まとめ

アセンブリにできるおかげでフルのインテリセンス使った開発もできますし、ローカル開発含めて柔軟性が広がったんではないでしょうか。起動時の余分な処理も飛ばせますし、良い改善だと思います。

 

おまけ

VB.NETでもできるか試してみました。けど、うまく動きませんでした。認識はしてくれてる見たいなんですが、実行時に

 Exception while executing function: Functions.VB3. Microsoft.VisualBasic: Public member 'name' on type 'JObject' not found

とかいうエラーになって500 Internal Server Error になってしまいます。なぞい。ちなみにVB.NETのコードはこんな感じです。(Option Strict Off消したら動きました。VB力低くてすみません)

Imports System.Net
Imports System.Net.Http

Public Class Class1
    Public Shared Async Function Run(ByVal req As HttpRequestMessage) As Task(Of HttpResponseMessage)
        Dim name = req.GetQueryNameValuePairs().FirstOrDefault(Function(q) String.Compare(q.Key, "name", True) = 0).Value

        If (name IsNot Nothing) Then
            Return req.CreateResponse(HttpStatusCode.OK, "VB.NET Hello " + name)
        End If

        Return req.CreateResponse(HttpStatusCode.BadRequest, "Please pass a name on the query string or in the request body")

    End Function
End Class

vbfunctions

ちゃんと動きましたとさ。

例外みるとこんな感じです。

...obs.Script.Description.FunctionInvokerBase.<Invoke>d__29.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.Azure.WebJobs.Host.Executors.FunctionInvoker`1.<InvokeAsync>d__8.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.Azure.WebJobs.Host.Executors.FunctionExecutor.<InvokeAsync>d__22.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.Azure.WebJobs.Host.Executors.FunctionExecutor.<ExecuteWithWatchersAsync>d__21.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.Azure.WebJobs.Host.Executors.FunctionExecutor.<ExecuteWithLoggingAsync>d__19.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
   at Microsoft.Azure.WebJobs.Host.Executors.FunctionExecutor.<ExecuteWithLoggingAsync>d__13.MoveNext()
   --- End of inner exception stack trace ---

縄神様が解決してくれることを願っております。。


カテゴリー:つぶやき, Tips Tagged: Azure, Cloud, Functions, JAZUG

Azure Update (2017.01.12)

$
0
0

新年ですね。

SQL Database

App Service

Azure Functions

Media Services

Cloud Services

Azure Security Center

Service Fabric

  • OS patching for VMs running Service fabric
    • 今のService FabricのOS(VMSS)には自動OSパッチ適用などはサポートされてないので、適用するためのスクリプトなどを使いましょう。Q1ぐらいにはパッチオーケストレーションサービスが、Q2ぐらいにはイメージベースの自動パッチ適用機能が提供されるっぽいです。

HDInsight

Regions / Certification / Billing

Tools / Tips

その他


カテゴリー:つぶやき Tagged: Azure, Cloud, JAZUG, Update

Azure Update (2017.01.13)

$
0
0

なんだかんだで先日のPostから漏れたものをPickUpしました


Azure Storage

Power BI

Regions/Certification

その他


カテゴリー:つぶやき Tagged: Azure, Cloud, JAZUG, Update

Azure Functions でJavaを使う

$
0
0

というドキュメントがUpされていました。

ドキュメントはこちらです。

かいつまんで説明すると、Azure Functions上にはJavaの実行に必要なものが一通りあるのでBatch(.bat)などからjavaコマンドで.classまたは.jar指定して呼び出すだけ、となります。


サンプル

Azure Functions上でBatchで新規Functionを作ります。ここではQueueTrigger-Batchを使います。
image

作成された run.bat ファイルを例えば以下のように編集します。

echo OFF
SET /p inputMessage=<%inputMessage%

"D:\Program Files (x86)\Java\jdk1.8.0_73\bin\java" AzureFunction

SET /p のところはInput(Trigger)のQueueから中身のテキストを環境変数に放り込んでます(コード内であれこれするならなくてもいい)
肝心なのはjavaコマンドを呼び出してるところですね。 引数に渡している AzureFunction は実行するクラス名です。(これから作ります)

ではファイルを追加して AzureFunction.java を以下のようにします。

import java.io.*;

public class AzureFunction {
    public static void main(String[] args) {
        // inputMessage contains the content of the input queue item
        String input = System.getenv("inputMessage");
        System.out.println("Java app got message: " + input);

        try {
            // Env variable outputQueueItem has the path of the file to which output needs to be written
            PrintWriter writer = new PrintWriter(System.getenv("outputQueueItem"), "UTF-8");
            writer.println(input.toUpperCase());
            writer.close();
        } catch (IOException e) {
            // do something
        }
    }
}

クラス名はAzureFunctionです。(run.batで指定しているクラス名)
サンプルコードとしては環境変数に放り込んだInputのQueueを読みだして outputQueueItem で指定したQueueに大文字に変換した文字列を出力しています。なのでOutputのBindingも設定しておきましょう。
image
function.jsonの例

{
  "bindings": [
    {
      "name": "inputMessage",
      "type": "queueTrigger",
      "direction": "in",
      "queueName": "samples-batch",
      "connection": "function_STORAGE"
    },
    {
      "type": "queue",
      "name": "outputQueueItem",
      "queueName": "outqueue",
      "connection": "function_STORAGE",
      "direction": "out"
    }
  ],
  "disabled": false
}

さてJavaのソースだけだと実行できないのでコンパイルして.classファイルを生成しましょう。
「Function Appの設定」から「Kuduに移動」で表示されたKuduのDebug Console上で対象のFunctionのフォルダまで辿ります。(例:D:\home\site\wwwroot\JavaSmaple )

あとは以下のコマンドでコンパイルします。

"D:\Program Files (x86)\Java\jdk1.8.0_73\bin\javac" AzureFunction.java

問題がなければAzureFunction.classが生成されると思います。
image

以上で準備は完了です。実際にinputQueueで指定したQueueにメッセージ放り込むとoutputQueueに結果のメッセージが放り込まれます。

image

ランタイムがどこに入っているかなど把握してBatchを使えばJava(ないし他の言語など)も動作させることができました。

またJarを使う場合は

"D:\Program Files (x86)\Java\jdk1.8.0_73\bin\java" -jar AzureFunction.jar

みたいに -jar でjarファイルを指定するだけです。
JavacもあるからKuduでコンパイルしなくても(run.bat内で処理することも)できなくはないですが、毎回コンパイルが走ることになるので不適切ですね。

まぁAzure Functions側でちゃんとサポートされればこんな手間は不要ですけど、今時点でJavaでやりたい!という方は参考にどうぞ。


カテゴリー:つぶやき Tagged: Azure, Cloud, Functions, JAZUG

Azure Update (2016.01.19)

$
0
0

ぼちぼちと。


App Service

Azure API Management

Application Insights

  • Failure Anomalies alert now detects dependency failures
    • 異常な失敗のスマート検出がアップデートされました。AJAX呼び出しのほかにサーバー側からのREST APIとか他のサービスへの接続など依存してるサービスに関するエラーの詳細を受け取れるようになったようです。

Service Bus

Power BI

Regions/Certifications

Tools/SDK

その他


カテゴリー:つぶやき Tagged: Azure, Cloud, JAZUG, Update

Azure Functions で EXEを実行する

$
0
0

普通にできたので。

例えば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動かせますけど。。用量・用法を守ってご使用ください。


カテゴリー:つぶやき Tagged: Azure, Cloud, Functions, JAZUG
Viewing all 506 articles
Browse latest View live