前準備
http://hatsune.hatenablog.jp/entry/2018/04/11/010156
Azureへのログイン
PowerShellを起動して次のコマンドを入力するとAzureへのログインダイアログが表示されます。
Login-AzureRmAccount

ここでIDとパスワードを入力してサインインに成功すると対象となるサブスクリプションに接続します。
しかし、複数のサブスクリプションに紐づいている場合は、目的のサブスクリプションにつながらない場合もあります。
その場合は、Get-AzureRmSubscriptionでサブスクリプションIDを調べて、Select-AzureRmSubscriptionを使ってサブスクリプションを指定します。
Select-AzureRmSubscription -SubscriptionId 'xxxx-xxxx-xxxxx-xxxx'
例4:Cognitive Serviceの追加
Azure PowerShellを使って具体的にTranslator Text APIを新規追加する方法を順番にみていきましょう。
(1)リソースグループを新規作成する(既存のものを使うときには省略)
New-AzureRmResourceGroup ?Name myResoureceGroup ?Location ‘Japan West’

これでmyResourceGroupという名前で西日本にリソースグループが作成できます。
(2)Translater Text APIを有効化する
New-AzureRmCognitiveServicesAccount ?Name Test_Translator -ResourceGroupName myResoureceGroup -Type TextTranslation -SkuName F0 -Location 'global'

これでTest_Translatorという名前で、Translator Text APIが無料プランで有効化できます。
Congnitive Serviceは、以前はどこのリージョンを使うかを指定していましたが、現在は、特定のリージョンへの依存関係のないサービスです。そのため、Locationパラメータの指定は必要ですが指定値は常にglobalになります。
(3)APIキー値を取得する
Get-AzureRmCognitiveServicesAccountKey -ResourceGroupName myResoureceGroup -Name 'Test_Translator'

これで取得したどちらかのキー値を使えば、Translator Text APIを使うことができます。持ち主などの認証はありませんので、非常に重要な値といえます。
(4)APIキー値を再作成する
キー値を変更したいようなときは、キー値の再作成を行います。
New-AzureRmCognitiveServicesAccountKey -ResourceGroupName myResoureceGroup -Name 'Test_Translator' -KeyName Key1

これでKey1の値だけ再作成を行いました。キー値は2つあり利用はどちらでも同じです。Key1は自分用、Key2は一時的な貸出用などにしておくと、貸し出しが終わったらKey2を再作成するという運用ですみます。
(5)利用できる料金プランを取得する
(Get-AzureRmCognitiveServicesAccountSkus -ResourceGroupName myResoureceGroup -Name 'Test_Translator'
| Select-Object -expandproperty Value).Sku

無料プランのF0、有料プランのS1~S4があることが分かりました。
(6)料金プランを変更する
Set-AzureRmCognitiveServicesAccount -ResourceGroupName myResoureceGroup -Name 'Test_Translator' -SkuName S1

これで料金プランだけS1に変更できました。もちろん、キー値など他の要素は変わりません。
指定できるCognitiveServiceについて
New-AzureRmCognitiveServicesAccountのTypeパラメータに指定できるCognitive Serviceの指定値は次のようになっています。
|
|
|
1 |
Bing.Autosuggest.v7 |
アプリにインテリジェントな自動提案機能を追加 |
2 |
Bing.CustomSearch |
簡単に使用できる、広告なしの商用グレード検索ツールで、お好みの検索結果を得ることができます |
3 |
Bing.Search.v7 |
Bing Search API (Web、Image、Video、News) と Entity Search |
4 |
Bing.Speech |
音声をテキストへ、またそのテキストを再び音声に変換し、ユーザーの意図を理解 |
5 |
Bing.SpellCheck.v7 |
アプリでのスペル ミスを検出して修正 |
6 |
ComputerVision |
画像から意思決定に役立つ情報を抽出 (*一部リージョンのみ提供) |
7 |
ContentModerator |
画像、テキスト、ビデオを自動モデレート (*一部リージョンのみ提供) |
8 | - | Custom Decision Service (プレビュー)に対応した指定はありません。 |
9 | CustomSpeech | 音声認識エンジンの音響モデルをカスタマイズして、アプリケーションの対象となる環境やユーザーに、より適切に合わせることができます(*一部リージョンのみ提供) |
10 |
CustomVision.Prediction |
画像分析、タグ付け、著名人の認識、テキスト抽出、およびスマート サムネイル生成などの機能があります。 |
11 |
CustomVision.Training |
画像分析、タグ付け、著名人の認識、テキスト抽出、およびスマート サムネイル生成などの機能があります(southcentralusのみ) |
12 | Emotion | プレビュー。一般提供はFaceAPIへ統合。 感情認識を使用してユーザー エクスペリエンスをパーソナライズ |
13 | Face | 写真に含まれる顔の検出、識別、分析、グループ化、タグ付け (*一部リージョンのみ提供) |
14 | LUIS | ユーザーが入力したコマンドをアプリケーションが理解できるようにします (*一部リージョンのみ提供) |
15 | QnAMaker | *別の仕組みになったため?指定不可 |
16 | SpeakerRecognition | 音声を使用して個々の話者を識別および認証 (*一部リージョンのみ提供) |
17 | SpeechTranslation | リアルタイムの音声翻訳を簡単に実行 |
18 | TextAnalytics | 未加工テキストの高度な自然言語処理に対応しています。感情分析、キー フレーズ抽出、言語検出の 3 つの主な機能があります。 (*一部リージョンのみ提供) |
19 | TextTranslation | 機械翻訳を簡単に実行 |
20 | WebLM | *Web Language Model APIはCognitive ServiceからAzure Machine Learning Studioに変更になったため指定不可 |
残念ながら、この一覧を取得するコマンドはないのですが、Cognitive Serviceは今後も増えていく予感がしますし、Emotion APIがFace APIへ統合されるたように統廃合もあるでしょうから、指定できるTypeの一覧などがあると指定値に悩まなくてよい(まあ、ドキュメントサイトみましょうってことなのでしょうけれど)ですね。
現時点で指定できるAccountTypeでCognitive Serviceを有効にしていくと次のような感じで作成できます。

以上、コマンドラインによるCognitive Serviceの追加でした。各ユーザがもっているサブスクリプションに同じ定義で追加したいときとかも便利ですね。