はつねの日記

Kinect, Windows 10 UWP, Windows Azure, IoT, 電子工作

Azure PowerShellを使ってみよう

Azure Cognitive Serviceを使ったクライアントアプリを作成するときに、Azure側でサービスを有効化しようとするとAzure PortalからGUIで操作が必要です。

知っている人ならば簡単でしょうけれど、知らない人に操作を伝えようとすると画面のハードコピーを取得して、それをペタペタと貼り付けて「手順書」なるものを作らなければならない場合があります。

しかし、クラウドですからちょっとしたタイミングでAzure Portalが改善され見た目が変わったときに、元の手順書から類推できる人ならばいいのですが、ちょっとでも違っているだけで「画面が違う」というクレームを人がいたりするわけです。

Azure Cloud Shell

Azure PortalにもAzure Cloud Shellというコマンドラインでの操作方法があります。

ポータルの起動

このツールのいいところは特に何かインストールしなくても使える点です。

しかし、Azure Cloud Shellを使うにはMicrosoft Azure Files ストレージを使用するためのセットアップと低額ですが維持費用が掛かる点を嫌がるケースもあります。

そのようなときはクライアントにAzure PowerShellをインストールするのがよいでしょう。

Azure PowerShell

Azure PowerShellPowerShell ギャラリーからインストールできます。

しかし実際にやってみたらちょっと面倒だったので、Web Platform Installerを使った方がいいでしょう。

http://aka.ms/webpi-azps

image

image

Azureへのログイン

PowerShellを起動して次のコマンドを入力するとAzureへのログインダイアログが表示されます。

Login-AzureRmAccount

image

ここでIDとパスワードを入力してサインインに成功すると対象となるサブスクリプションに接続する。

もし、複数のサブスクリプションがある場合は、サブスクリプションを指定して実行するといいでしょう。

Login-AzureRmAccount ?subscription xxxxxx-xxx-xxx-xxx-xxxx
image

別アカウントのAzure BLOBにアクセスする

自分のAzureサブスクリプションにあるAzure Storageにアクセスするには、Azure PortalやAzure Storage Explorerなど様々な方法がありますが、コンテナにたどり着くルートは次の3つの方法があります。

  1. IDとパスワードとサブスクリプションを指定して、ストレージアカウント名→BLOB→コンテナ
  2. 接続文字列を指定→BLOB→コンテナ
  3. ストレージアカウント名とアクセスキーを指定→BLOB→コンテナ

 

この中で1の方法はBLOB以外の資源へのアクセス権も得てしまうので自分以外の人には使わせることができないルートになります。

一方、2や3の方法であれば、例えば、データファイルを入れてほしいときなどに「接続文字列」や「ストレージアカウント名とキー」をお知らせして、Azure Storage Explorerからファイルをアップロードしてもらうと手軽です。

複数のお客様とのやりとりも

  1. お客様ごとにストレージアカウントを作成
  2. 接続文字列をお客様にお知らせ(お客様ごとに異なる値になる)
  3. お客様はAzure Storage Explorerを使ってファイルエクスプローラ感覚で指定の場所にファイルを配置

で済んでしまいます。

 

実際の手順は以下のようになります。

(1)

image

[ストレージアカウント]-[BLOB]-[コンテナ]にあるファイルを確認します。

 

(2)

image

該当ストレージアカウントの接続文字列を取得します。

 

(3)

Azure Storage Explorerを起動してAzureとの接続には「Use a connection string a shared access signature URI」を選択します。これで接続文字列指定の接続が可能になります。

image

 

(4)

image

接続文字列を貼り付けます。

 

(5)

image

Azure Portalにあったファイルが確認できます。

ここでAzure Storage Explorerをつかってファイルを1個追加してみましょう。

image

image

 

(6)

ちゃんとAzure側に入ったか確認しましょう。

image

きちんとはいりましたね!

MicrosoftのTranslator Text APIもDNN翻訳に対応しています(しかももっと簡単にお安く)

https://blogs.technet.microsoft.com/microsoft_japan_corporate_blog/2016/11/24/161124-microsoft-translator/

上記より抜粋

--

ニューラル ネットワークによる翻訳は、音声 API およびテキスト API を使用する開発者が使用できます。

  • 本日より、音声 API 呼び出しでは、すべてニューラル ネットワークが利用されます。
  • テキスト API 呼び出しでは、標準カテゴリー (標準カテゴリーの詳細についてはこちらを参照してください:英語)「generalnn」を使用し、サポートされている 10 言語の任意の組み合わせを使用することで、ニューラル ネットワークを利用できるようになります。

--

ということで、Microsoft Azure Translator Text APIであればFreeプランであってもCategolyにgeneralnnって指定するだけでニューラルネットワークによる翻訳がビシバシ使えちゃいます。

これ使わない手はないですねほんと。

 

Translator Text APIを使うためにはAzure Poralでキーを取得したら、コードでキーからトークンを作ります。

トークンの作り方はこちら。

https://github.com/MicrosoftTranslator/GetAzureToken

 

トークンができたらそれをAuthorizatonヘッダに設定して

http://api.microsofttranslator.com/v2/Http.svc/Translate?text={0}&from=|1|&to={2}

のような感じで呼び出せば翻訳結果を取得できます({0}には翻訳したい原文、{1}にはjpなどの原文言語コード、{2}にはenなどの翻訳先言語コード)。

Azure DataMarketは2017/3/31に閉鎖されます。

Azure DataMarketは閉鎖され、そこで提供されていたサービス(すべてかは未確認)はAzure Marketplaceにて提供されます。

閉鎖時期は2017/03/31、それに先立つ2016/12/31以降は新規オーダーを受け付けなくなります。

--

DataMarket and Data Services are being retired and will stop accepting new orders after 12/31/2016. Existing subscriptions will be retired and cancelled starting 3/31/2017. Please reach out to your service provider for options if you want to continue service.

--

 

例えば、Microsoft Translator APIの場合、実際の翻訳URLなどは変わりませんが、そこで使われる認証トークンの取得が変更なります。

 

Azure DataMarketでの認証

サンプルコード

https://gist.github.com/b01abb3ddc0414157ba8d12bda9311e0:embed#Azure

 

Azure MarketPlaceでの認証

サンプルコード

https://github.com/MicrosoftTranslator/GetAzureToken/blob/master/AzureAuthToken.cs

Micrsoft翻訳もニューラルネット対応

blogs.msdn.microsoft.com

 

数日先を越されてしまいましたがマイクロソフト翻訳もニューラルネット対応始まりました。

早速試してみましょう。

 

f:id:hatsune_a:20161118095504p:plain

 

こちらもやっぱりわかってらっしゃいますね。

Meets IT and PUSH 2016 大阪を開催します

去年、札幌そして東京で開催した「Meets IT and PUSH」を3/26(土曜日)に大阪で開催します。

atnd.org

みなさんは胸骨圧迫やAED使用の経験はありますか?

 

AEDメーカーさんが講習会を開いていたり、防災訓練で体験するというチャンスはありますが、大多数の方は経験ないと思います。

 

Meets IT and PUSHでは、「PUSH」経験として胸骨圧迫とAEDを講義と実技で体験できます。

普段興味があってもだとか、体験か行きたいけれど平日はちょっと二の足を踏んでいた方だとか、ぜひ参加していただけたらと思います。

 

一方の「IT」は、AEDの位置を全国一律のAPIで取得できるAEDオープンデータプラットフォームの取り組みをご紹介します。

AEDオープンデータプラットフォームは、Azure Mobile AppsとSQL Databaseを使って実現しております。このあたりの仕組みの話、SQL DatabaseもS1じゃないと賄えないくらいのアクセス量があるのでそのあたりの話もできたらと考えています。

AEDという具体的な問題でITを考えてみるとIT苦手なのでって方もきっと理解が進むと思います。

 

また、JavaScriptを使って簡単にマップ上にAEDの位置を表示する方法についてもハンズオンで体験できます。PCをお持ちの方はぜひご持参頂き体験してみてください(タブレットでもたぶんできます)。

やっぱりパブリッククラウドってすごい!

Azureすげー

ちょっと聞いてください!
このまえ、Azrue Mobile AppsがGAになってAzure Mobile Servicesからの移行もできるようになったので、さっそくやってみたんですよ。でもなんか失敗しちゃって。
英語ドキュメントみながら手動でやらないといけないのかなーって思っていたら「Your failed migration from Azure Mobile Services to App Service」ってタイトルのメールが見て、失敗したみたいだけれど「We identified the problem that was causing the difficulty and corrected it. 」だよって書かれていたんですよ。
ちゃんとエラーとか監視していて何も頼まなくても調査して原因特定して直してくれるとかクラウドってやっぱりすごい!
なんか夢のインフラなんじゃないかって思う訳ですよ。

師走の朝のちょっといいできごとでした!
それでは良い年末を!