どうも、こなれてきた感ある内容です。
Cloud
Azure Update (2017.02.02)
先日はAzure商用利用開始から7周年でしたね。
Azure 7周年
Azure Update (2016.01.26)
定例です。今週も控えめ。
SharePoint Online にアプリからアクセスする
ちょっと調べたので。基本的には Consuming the SharePoint Online REST API from PowerShell: Part 2 に書いてる通りにすればSharePoint (Onlineなど)のREST APIにアクセスするためのアクセストークンが取得できます。(PowerShellスクリプトですけど参考になるかと)
Azure ADを使った場合とちょっと異なるのはSharePoint Onlineそのものは正確にはACS(なつかしい)を使ってるという点でしょうか。ただアクセストークンを取得するための(OAuthな)フローなどはたいして差が無いので十分参考になるかと思います。
いくつか決め打ちでスクリプト内に設定されている値ですが、00000003-0000-0ff1-ce00-000000000000 はSharePoint Onlineを表すPrincipalです。他のサービス用もあるので同じように利用する場合は Get-MsolServicePrincipal とかで取得すればいいでしょう。
後はアプリ(クライアント)を登録するわけですが、SharePointアドインという名称になるようですね(?)
登録するためのUIは普通に辿れなさそうなので(えー)、以下のURLからどうぞ。
https://<SharePointWebsite>/_layouts/15/AppRegNew.aspx
登録後、SharePointへの権限やスコープを設定してあげます。こちらも以下のURLから。
https://<SharePointWebsite>/_layouts/15/AppInv.aspx
ドメインはlocalhostでもいいですが、どちらもリダイレクトURLはSharePointのURL(https://___.sharepoint.com/ など)にしないとうまくいかなさそう。
スコープ等の設定やフローはこちらを参考に。
Webサイトの読み取りでよければ以下のような感じです。
<AppPermissionRequests AllowAppOnlyPolicy="true">
<AppPermissionRequest Scope="http://sharepoint/content/sitecollection/web" Right="Read"/>
</AppPermissionRequests>
最後に、最初に紹介したスクリプトなりでClientID、Client Secret使えばアクセストークンを取得できるので、AuthorizationヘッダーにBearerとしてつけてあげれば無事呼び出せます。
基本的にOffice 365系のREST APIのドキュメントって一部分はすごく詳しいけど補足説明やら前提の説明が全然ないのですごくわかりにくいですが、OAuthやACS周りと登場人物の把握がちゃんとできれば比較的理解しやすいかなと思います。
という感じで個人メモでした。
Azure ポータル上での クエリエディター
Preview機能ですが、SQL DatabaseのツールとしてT-SQLエディターがAzure ポータル上に増えました。
SQL Databaseのブレード上で「ツール」を選んでクエリ エディターを選択します。(初回にPreviewの使用条件に許諾する必要があります)
クエリエディターが開くので最初にログインを選択して資格情報を入力します。![]()
![]()
Azure AD認証なども選択できます。
ログイン後は普通にクエリー書いて実行するだけです!![]()
書いたクエリーを保存したり、ローカルにあるものを開いたりできるのでいいですね。SSMSとか入ってなくても(T-SQL力があれば)ある程度のことはできそうです。この辺はぜひムッシュ先生にいろいろTipsを…
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 Update (2016.01.19)
ぼちぼちと。
Azure Functions でJavaを使う
というドキュメントがUpされていました。
ドキュメントはこちらです。
かいつまんで説明すると、Azure Functions上にはJavaの実行に必要なものが一通りあるのでBatch(.bat)などからjavaコマンドで.classまたは.jar指定して呼び出すだけ、となります。
Azure Update (2017.01.13)
なんだかんだで先日のPostから漏れたものをPickUpしました