オンプレ系インフラエンジニアがAzureを勉強する

いつか誰かの何かの役に立つと嬉しいな

【レポ】Power Apps でローコーディングな勉強会 #13に参加してきました

Power Appsでローコーディングな勉強会#13に参加したレポート記事になります。

 

概要

Power Appsでアプリを作るワークショップでした。

今回は楽器アプリ作成組と2D横スクロールゲームアプリ作成組の2種類のチームに分かれました。

私は楽器アプリ作成のほうに参加しました。

リモート参加枠もあり、進捗を共有したりできました。

powerapps.connpass.com

 

やったこと

主催の方々がご用意くださった資料を基に、各自もくもくと作業を進めました。

資料がとてもわかりやすい、かつ質問にも丁寧に答えていただける良い環境でした。

 

楽器アプリのほうの作成手順は資料が公開されています。

 

成果発表

ゲーム組の方々は有志の方が成果発表をしました。

みなさん自分用に素敵にカスタマイズされていて、PowerAppsで作ったとは思えないようなクオリティのものばかりでした。

楽器組の方々も、ピアノの鍵盤のようにしてみたり、いろんな種類の楽器の音が出るようにしたりと、様々なカスタマイズをしていました。

皆さん進捗や完成したものを公開していたりするので、togetterなど見てみてください。

Power Apps でローコーディングな勉強会 #13 まとめ - Togetter

 

私は楽器アプリを下記のようにカスタマイズをしてみました。

金平糖が表示される順にニョロニョロをクリックすると自然ときらきら星が引けている、というようなアプリです。

 

演奏会

楽器組は最後にみんなで演奏会をしました。

「かえるのうた」の輪唱です。

www.youtube.com

 

おわりに

音感に自信がなく、人と演奏をした経験も中学校以来の私としてはハードルが高いように思われた楽器アプリ作成&演奏でしたが、楽しく参加できました!

ゲーム作成のほうも資料がいただけたので、挑戦してみようと思います。

 

Power Appsのタイマー機能を使う

はじめに

Power Appsにはタイマーの機能があります。

時間ごとにアプリの動作を設定できるもので、

アニメーションのような動作が設定できたりと動作の幅が広がります。

docs.microsoft.com

 

使い方

使い方を知るために簡単な設定をいくつかやってみます。

下記サイト様で動かし方のイメージがつかめると思います。

PowerApps タイマーを利用してUIをアニメーションさせる - Power Appsの使い方

 

タイマーコントロールの追加

タイマーのコントロールは[挿入]>[入力]から追加できます。

f:id:mitsunooon:20200223141517j:plain

 

タイマーをどのくらいの長さ動かすか、

自動で開始させるか、

リピートするかなどの設定が

右側のプロパティから設定できます。

f:id:mitsunooon:20200223141546j:plain

 

時間指定で表示させる

時間指定でアイコンを表示させてみます。

f:id:mitsunooon:20200223142822j:plain

 

アイコンコントロールの[Visible]の項目に以下を入力します。

2秒~3秒間でアイコンが表示されるようになります。

If(Value(Right(Timer1.Text,1))>=2 && Value(Right(Timer1.Text,1))<4,true)

f:id:mitsunooon:20200223142801j:plain

 

これで時間ごとでアイコンが表示非表示になります。

f:id:mitsunooon:20200223154140g:plain

スタートストップボタン

タイマーは自動開始の設定ができますが、

自分でスタートストップを制御したいときもあると思います。

下記サイト様を参考にします。

PowerAppsを使ってじゃんけんゲーム Part1 - Qiita

 

タイマーの[Start]項目に[Timer_start]の変数を指定します。

f:id:mitsunooon:20200223144616j:plain

 

スタートボタンにクリックするとタイマーが始まる設定を入れます。

[OnSelect]に下記値を入れます。

UpdateContext({Timer_start:true})

f:id:mitsunooon:20200223144804j:plain

 

ストップボタンでタイマーを止めるようにします。

[OnSelect]に下記値を入れます。

UpdateContext({Timer_start:false})

f:id:mitsunooon:20200223152925j:plain

 

これでタイマーのスタートストップがボタンで制御できますf:id:mitsunooon:20200223154204g:plain

タイマーの非表示

おしゃれな画面にしたいときに、タイマーのコントロールがでてるといまいちな時もありますよね。

 

タイマーのプロパティの[表示]をオフにすると、機能はそのままに非表示になります。

f:id:mitsunooon:20200223153320j:plain

 

作ったもの

上記の手法を組み合わせて、絵描き歌練習アプリを作りました。

 

 

おわりに

変数関数の設定次第でいくらでも複雑な動きができるようになりそうです。

 

Custom VisionとPower Appsで作る色診断アプリ

はじめに

パーソナルカラーというものをご存じでしょうか。
人には肌の色や瞳の色などから似合う色というものがあります。
その色を身に着けることで、魅力が引き出されたりします。
 
 
かくいう私も、少しでも垢抜けたい思いから、パーソナルカラー診断をしてくれるサロンに行ってまいりました。
無事に自分のパーソナルカラーがわかり、それを参考に洋服を買おうとしたのですが
店頭に行くとどの色がパーソナルカラーなのかがわからない!
 
パーソナルカラーは主に4つのグループに分けられます。
スプリング、サマー、オータム、ウィンター
 
例えば、下記の黄色はどのグループの黄色かわかりますか?

f:id:mitsunooon:20200126154743j:plain

 
正解はスプリングです。
上記サイトのような一覧で見比べればわかるのですが、店頭で単体で見るとわかりづらいです。
サロンで色見本の布をもらいましたがいつも持ち歩くわけにもいかない…
サロンの人は見慣れてくればわかるようになると言っていましたが、それまでどうしたらいいのか…
そうだ、アプリにお願いしよう!
ということで、Custom VisionとPower Appsを使って
対象の色をパーソナルカラーの4つのグループに分けてくれるアプリを作りました。
 

必要なもの

・Custom Visionが使えるAzureアカウント
・Power Appsが使えるアカウント
 
 

手順

Custom Vision側の設定

Custom Visionにログインをします。

Custom Vision - Home


パーソナルカラーの4グループに
タグを分けて色を登録します。
パーソナルカラーは主に明度彩度を基準に分けられているので、参考画像からの抽出方法によって差が出ないように気を付けました。

f:id:mitsunooon:20200126154953j:plain


 

Power Apps側の設定 

大枠の手順は参考サイト様と変わらないのでそちらをご覧いただければと思います。
 
参考サイト様
 
ここでは、バージョンの違いによる変更部分や追加機能について書いていきます。
 

Flowのv2対応
FlowのClassify an imageがV2になったのでContentもV2に対応させます。
dataUriToBinary(triggerBody()['Classifyanimage(V2)_ImageContent'])

f:id:mitsunooon:20200126155131j:plain

 
「画像の追加」機能の追加
その場で写真を撮って判定させる機能に追加して、
フォルダから画像を選んで判定する機能も付けます。
iPhone上でアプリを動かしたとき、「画像の追加」でカメラ機能を使うこともできます。

[挿入]>[メディア]>[画像の追加]をします。
[OnSelect]項目にパラメータを入れます。
今回はColorImage2というコレクションに画像を一時格納します。
ClearCollect(ColorImage2, UploadedImage1.Image)

f:id:mitsunooon:20200126155245j:plain

 
プレビュー表示部分を作ります。
[挿入]>[メディア]>[画像]を追加します。
[Image]項目に値を入れます。
First(ColorImage2).Url

f:id:mitsunooon:20200126155309j:plain


判定のためのボタンを作ります。
[挿入]>[ボタン]を追加します。
[OnSelect]項目に値を入れます。
ここの値が大事で、カメラ機能と画像の追加では画像の扱いが変わります。
今回はJSON関数で一度バイナリーを文字列に変換してから、Flowで処理できるようにします。
ClearCollect(ColorResult,PowerAppsボタン.Run(Substitute(JSON(UploadedImage1.Image,JSONFormat.IncludeBinaryData),"""","")))

f:id:mitsunooon:20200126155508j:plain

 
今回ここが一番躓いたところなので、
画像の扱いについては下記参考サイト様をご覧ください。
 
データテーブルについては、Custom Visionの結果を表示するだけなので変更なしです。
 


動作見本

アプリの動作を録画したので貼り付けようと思ったのですが
 サイズの大きさと形式に阻まれできず…
いい方法が見つかったら載せますのでそれまで保留で…(かっこつかない
 


おわりに

機械学習にあまり詳しくないので、この学習データで正しいのかあまり自信がないのですが、大体の目安になるような結果は出るので良しとしています。
UI部分をもう少し何とかしたいです。
 

Azure Web Apps×Azure Active Direstoryでブログを作る(おまけ)

はじめに

前回、以下の記事で最低限のAzureとAADの設定についてを書きました。

Azure Web Apps×Azure Active Direstoryでブログを作る - オンプレ系インフラエンジニアがAzureを勉強する

 

今回はブログの機能を少し充実させる部分について書きます。

主にWordPress側の設定になるのでおまけのような感じです。

 

やること

・記事へのいいね機能をつける

・GoogleAnalyticsと連携する

 

いいね機能をつける

社内向けでも記事を投稿して、反応をもらえるとモチベーションになりますのでいいね機能はぜひつけたいものです。

 

プラグインの新規インストールで[WP ULike]をインストールします。

いいね機能のプラグインは何種類かあるので、好みの形式を見つけるといいと思います。

f:id:mitsunooon:20200126134529j:plain

 

インストールしたら有効化します。

f:id:mitsunooon:20200126134542j:plain

 

有効化されると、サイドバーにWP ULikeの項目が表示されます。

詳細設定ができます。

いいねのアイコンやいいねした時のコメント表示などの設定ができます。

f:id:mitsunooon:20200126134556j:plain

f:id:mitsunooon:20200126134618j:plain

f:id:mitsunooon:20200126134628j:plain

 

設定すると、各記事上にアイコンが表示され、いいねできるようになります。

f:id:mitsunooon:20200126134644j:plain

 

GoogleAnalyticsと連携する

どの記事が一番見られているか、どれくらいの人に見られているか知りたいものです。

ログの管理方法はいろいろあると思いますが、今回は私が一番使い慣れているGoogleAnalyticsを使ってみたいと思います。

 

GoogleAnalytics側の設定

GoogleAnalyticsの公式サイトでトラッキングコードを入手します。

https://analytics.google.com/analytics/web/provision/#/provision

 

画面に沿って必要な設定を入れていきます。

この辺は少し調べると丁寧な説明がたくさん出てくるので割愛します。

f:id:mitsunooon:20200126134719j:plain

 

設定が完了するとトラッキングコードが表示されます。

これをWordPress用にコピペします。

f:id:mitsunooon:20200126134739j:plain

 

WordPress側の設定

プラグインの新規インストールで[Google Analytics for WordPress]をインストールします。

f:id:mitsunooon:20200126134758j:plain

 

有効化します。

f:id:mitsunooon:20200126134814j:plain

 

サイドバーからGoogleAnalyticsの設定画面を開き、先ほどのトラッキングコードを入力します。

f:id:mitsunooon:20200126134832j:plain

 

これで設定は完了です。

 

再び、GoogleAnalyticsにアクセスすると連携されているのを確認することができます。

f:id:mitsunooon:20200126134846j:plain

 

 

おわりに

上記以外にも、ブログページのレイアウト変更など使いやすいブログを作るために必要な要素はたくさんあります。凝り始めたらキリがなさそうなので、ひとまずこのくらいで。

Azure Web Apps×Azure Active Direstoryでブログを作る

はじめに

繰り返される組織編成によりすっかり廃れてしまった社内ブログを復活させようと思い、Azureでブログを作ってみることにしました。
社内への情報共有の手段が確立されていないと、
いくら外部の勉強会などで情報を得てきても、あまり活かせないのです…
 

要件

・指定した人しかアクセスできないようにする。
・誰でも参加がしやすいように一般的なブログの形式を選ぶ。
・いいねができる。

 

構成

Azure Web Apps(Freeプラン)(WordPress)
Azure Database for MySQL(Basicプラン)
Azure Active Directory

 

参考サイト様

Azure AD 認証を構成する | Microsoft Docs

GitHub - psignoret/aad-sso-wordpress: Single Sign-on with Azure Active Directory (for WordPress)

 

手順

以下、Azure Active Directoryで同じディレクトリの人だけがアクセスできるブログサイトの作成手順になります。

 

WordPressの新規作成

Azureで新規リソース作成をします。

WordPress」で検索、作成します。

f:id:mitsunooon:20200119134838j:plain

 

パラメータを設定します。

とりあえず一番安いものにします。

利用状況によってスケールアップしていきます。

f:id:mitsunooon:20200119135123j:plain

f:id:mitsunooon:20200119135254j:plain


ちなみに、この時点でのMySQLの見積もりはこのくらい。

f:id:mitsunooon:20200119135350j:plain

 

リソースが作成されると、App ServiceからサイトURLに飛べます。

f:id:mitsunooon:20200119144248j:plain

f:id:mitsunooon:20200119144305j:plain

 

WordPressの初期設定をします。

f:id:mitsunooon:20200119144410j:plain

f:id:mitsunooon:20200119144530j:plain

 

ひとまず、WordPressが使える状態になりました。

f:id:mitsunooon:20200119144551j:plain

 

 

Azure Active Directoryの設定

 Azure Active Directory>[アプリの登録]を開きます。

f:id:mitsunooon:20200119144856j:plain


[新規登録]をクリックし、新規アプリを追加します。

f:id:mitsunooon:20200119145402j:plain

f:id:mitsunooon:20200119145423j:plain


作成したら、[概要]にて各種IDが確認できるので、コピペして控えておきます。

この後の設定でよく使います。

f:id:mitsunooon:20200119145602j:plain


各種設定をしていきます。

まず、[ブランド]で対象のサイトURLを登録します。

f:id:mitsunooon:20200119145710j:plain


[認証]でリダイレクトURIとその他設定をします。

2種類のリダイレクトURIを登録します。

https://サイトURL/.auth/login/aad/callback
https://サイトURL/wp-login.php

f:id:mitsunooon:20200119145939j:plain

 

[暗黙の付与]で[IDトークン]にチェックを入れます。

f:id:mitsunooon:20200119145957j:plain

 

[既定のクライアントの種類]で[任意の組織ディレクトリ内のアカウント]にチェックを入れます。

[保存]します。

f:id:mitsunooon:20200119150015j:plain


[証明書とシークレット]で新しいクライアントシークレットを発行します。
発行した直後しかキーを確認できないので、忘れずにコピーしましょう。
このキーはWordPress側の設定で使います。

f:id:mitsunooon:20200119150228j:plain

f:id:mitsunooon:20200119150253j:plain

f:id:mitsunooon:20200119150309j:plain

 

[APIのアクセス許可]で[アクセス許可の追加]をします。

[Microsoft Graph]>[委任されたアクセス許可]>[Directory.Read.All]を選択します。

f:id:mitsunooon:20200119150626j:plain

f:id:mitsunooon:20200119150641j:plain

f:id:mitsunooon:20200119150654j:plain


追加したら、[既定のディレクトリに管理者の同意を与えます]をクリックします。

f:id:mitsunooon:20200119150817j:plain

 

[所有者]でサイトへのアクセスを許可するユーザーを追加します。

この所有者がアクセスできるユーザーの設定になるかと思ったのですが、そうではなさそうです。同じディレクトリのユーザーであればアクセスできるようになります。

f:id:mitsunooon:20200119150922j:plain

 

AAD認証の設定

App Service側にAAD認証設定をします。

これを設定することで、サイトURLにアクセスすると認証画面がでてくるようになります。

App Serviceの[認証承認]を開きます。

[App Service認証]を[オン]にします。

[要求が認証されない場合に実行するアクション]を[Azure Active Direstoryでのログイン]にします。

f:id:mitsunooon:20200119151106j:plain


認証プロパイダーの[Azure Active Direstory]をクリックします。

[詳細]にAADの概要で表示された各種IDを入力します。

クライアントID:アプリケーション(クライアント)ID

発行者のURL:http://login.microsoftonline.com/ディレクトリ(テナント)ID

許可されるトークン対象ユーザー:api://アプリケーション(クライアント)ID

f:id:mitsunooon:20200119151357j:plain

 

設定ができたら、サイトURLにアクセスしてみます。

アクセス直後にMSのアカウント認証画面が出てきます。

 

WordPress側のAAD設定

WordPress側にもAADの設定を入れることで、記事の投稿のときに必要になるWordPress側のサインインにSingle Sign-Onが適用されて、ログイン情報入力の手間が省けます。

 

下記サイトよりプラグインをダウンロードします。

GitHub - psignoret/aad-sso-wordpress: Single Sign-on with Azure Active Directory (for WordPress)

 

管理者アカウントで作成したサイトにアクセスします。

[ダッシュボード]>[プラグイン]>[新規追加] >[プラグインのアップロード]にて上記でダウンロードしたzipファイルをアップロードします。

f:id:mitsunooon:20200120115245j:plain

 

アップロードおよびインストールが完了したら、

プラグインを有効化します。

f:id:mitsunooon:20200120115312j:plain

 

[設定]>[Azure AD]にてAADの設定を入れていきます。

入力する必要があるのは下記です。

クライアントID

クライアントシークレット

オブジェクトID

 

チェックボックスの項目は必要に応じて有効にします。

f:id:mitsunooon:20200120115351j:plain

f:id:mitsunooon:20200120115400j:plain


以上の設定が完了すると、サイトのサインインにシングルサインオンが適用されます。

 

おわりに

以上の手順で「指定した人しかアクセスできないようにする。」という要件を満たすための設定ができました。

他の要件を満たす、あったらいいなの機能をもう少し追加しているのですが、AzureではなくWordPressのお話なのでおまけ程度に別記事で書きます。
運用開始ができたら、コストについてもちゃんとまとめたいです。

 

 ※2020/02/01追記

Office365アカウントでの認証ができれば、一回のサインイン入力でさえも省けるようなのでもう少し試行錯誤してみる余地がでました。

Translator TextのWPFアプリ作成チュートリアルを触ってみた

QiitaのAzure AI Advent Calendar 2019 15日目の記事です。

 

動機

チーム内に外国籍の方が数名おり、日本語のみでのコミュニケーションに限界があるときがあります。

そこで、Cognitive ServicesのTranslator Textを使って少しでもコミュニケーションに役立つものが作れたらいいなと思い、まずはチュートリアルを触ってみました。

 

触ったもの

docs.microsoft.com

 

GitHubにもサンプルコードがあります。

GitHub - MicrosoftTranslator/Text-Translation-API-V3-C-Sharp-Tutorial

 

触ってみた

下記サイトを参考にAzureポータルでCognitive Servicesリソースを作ります。
マルチサービスリソースにします。

リージョンは米国西部がおすすめらしいので米国西部です。
コードの変更箇所も減ります。

f:id:mitsunooon:20191214171912j:plain

 

リソースができたらキーを取得します。

f:id:mitsunooon:20191214171928j:plain

 

Githubからとってきたコードの[COGNITIVE_SERVICES_KEY]の部分に上記のキーを入れます。

f:id:mitsunooon:20191214172135j:plain


実行します。
できました!

f:id:mitsunooon:20191214173911j:plain

f:id:mitsunooon:20191214173928j:plain

つまづいたところ

最初、Azureで作るリソースを間違えました。
マルチサービスリソースではなく、Translator Textの単一サービスリソースにしていました。

f:id:mitsunooon:20191214172407j:plain

 
これで作るとJSONのデシリアライズでエラーが出ます。

f:id:mitsunooon:20191214172724j:plain

f:id:mitsunooon:20191214172430j:plain

 

おわり

Cognitive Servicesには翻訳系や音声系のサービスがいくつかあるので
うまく組み合わせて、言語の壁を越えてコミュニケーションが取りやすくなるといいなぁと思います。

【レポ】Power Platform Day Winter '19に参加してきました

Power Platform Day Winter '19 に参加したレポート記事になります。

 

概要

Microsoft のPower Platform(Power BI/Power Apps/Power Automate/Power Virtual Agents)のコミュニティ主催のイベントです。
キーセッション含め、全22セッション+相談室が用意されたかなり豪華なイベントでした。
ハッシュタグ:#JPPUG #PowerPlatform #MSIgniteTheTour #MSIgnite #JPPUGWinter19

power-platform.connpass.com

 

以下、主に感想や心に残った言葉などを書いていきます。
当日の会場の様子や私が参加した以外のセッションについて知りたい方はTogetterをご覧いただくのがいいかと思います。

Power Platform Day Winter '19 まとめ - Togetter

 

キーセッション

特別ゲストのBrian Dang先生によるお話。
吉田さんによる20分でのPower Platformすべてを使ったアプリを作るデモ。
手品のような素早さでアプリができていく様子は圧巻でした。
このスピード感が開発現場に導入されたらスーパーアジャイルどころではないですね。

 

1つ目のセッション

テーマ:「非ITの初心者が王子のレポート集を見て、1か月で綺麗なレポートが作れるようになったお話」
スピーカー:Tomomi Yoshidaさん、Yugo Shimizuさん
 
元々は管理栄養士さんだった吉田さんが
IT業界に転職して、初めてPower BIを触った時の経緯と成果物のお話でした。
見せていただいたPower BIでまとめた成果物は、そのデータの用途や背景を知らない我々が見てもわかりやすいという印象を持つくらいきれいなものでした。

吉田さんがPower BIを勉強するうえで参考にされたのが、Power BI王子こと清水さんのQiitaと下記のPDFだそうです。

Power BI 王子のレポート集 - Qiita

http://niadqe.jp/wp/wp-content/uploads/2019/02/z004-1902-20190201_seminar_shiryo4.pdf

 

吉田さんの今後の課題は社内にもっとPower BIを普及させること。
すでにPower BIを社内で使っている会場の人たちから出た普及方法例は下記でした。
例)トップダウンで使う。目につきやすいところにリンク張るなどして自然と慣れさせる。
 
清水さん曰く、新しいものを「説明する→知る→習慣化する」の流れには時間が必要。
効果的なプロモーションのひとつとしては、
ITに弱いと思っている(思われている)人にこそ実際に人前で触らせてみて成功体験をさせること。
 
私は社内でPower Platformの話をすると、
Power BIについて聞かれることが多かったのですが、私自身はほぼ触ったことがなく…
吉田さんのお話を伺ってPower BIを触りたくなったので、手始めにブログのアナリティクスをPower BIでまとめてみようと思います。
 

2つ目のセッション

テーマ:「やっぱり TAICHI は Home 365」
スピーカー:Taichi Nakamuraさん
 
前日のMicrosoft Ignite The Tour Tokyoでセッションを拝見して、わかりやすいかつおもしろいセッションだったので今回も参加しました。
 
Home365とは?
→家庭利用向けにOffice365+αで家庭の諸々をサポートしている。
 
Home365の原点
→MS Plannerで大掃除のタスク管理をすること。
誰がどこを掃除しているのかを一目でわかるようにしたい。
人がちょっとめんどくさいなと思う作業を効率化できるのがPowerPlatformが最も輝く場面なのではないかとのこと。
 
アプリ例①
カップラーメン専用アプリ。
なんのカップ麺を食べたかのデータ収集やタイマー機能等がついていました。
 
アプリ例②
安否確認アプリ
位置情報も地図でわかりやすいようになってました。
 
アプリ例③
筋トレ記録アプリ
筋トレのデモ付き!IgniteTourの時より腹筋カウントのセンサーは調子がよさそうでした。
 
アプリ例④
感情蓄積アプリ
物理のボタンと連携したアプリ。
ネガティブな気持ちの時は物理ボタンを長押し。
ポジティブな気持ちの時はワンクリック。
緊急時はダブルクリック→通知が行く。
などで感情をデータ化して、Power BIで可視化してます。
アンガーマネジメントに導入したら良さそうだと思いました。
 
アプリ例⑤
外食記録
外食の記録を位置情報と合わせて記録できるアプリ。
 
たいちさんの作るアプリはUIがシンプルでわかりやすい上に色使いのバランスが良くておしゃれです。お子さんでも使いやすそうなデザインです。
アプリの題材も日常に根付いた題材で、学習効率がすごくよさそうだと思いました。
なにより楽しんで作って利用されているのが伝わってきました。

後半はたいちさんとこだまさんによるPower Apps演奏会でした。
Power Appsで作った楽器アプリで演奏するというもの。
初めて生演奏を拝見しましたが、音がきれいで感動モノでした…!
YoutubeにもPower Apps演奏会の動画があるのでぜひご覧ください。

https://www.youtube.com/watch?v=D95j5DJtC30

 

3つ目のセッション

テーマ:JSON 値との付き合い方」
スピーカー:Tomoyuki Obi さん
資料:JSON Value into Power Automate

 

JSONに特化したお話でした。

 

JSONってなに?
JavaScript Object Notation。データの持ち方の種類。
 
JSONの書き方
→値の種類:数値、文字列、真偽値、配列、オブジェクト、null
{}で全体を囲むし、文字列なら””等。
 
Power Automate上のJSONにできること
スキーマによるデータの検証。値の取得。値のコピー。
値の変更はできない。
 
他にもいろいろ情報があるのですが、まだよくわかっていない私のメモ程度の要約を書くよりスライドを見ていただいたほうが確実なので割愛です。
 
JSON書けばいいよね簡単だよね」「簡単じゃない!」の流れは海外でもよくあることらしいです。
私もまさにこれで、いつもコピペしているJSONについていつかちゃんと学ばねばと思っていたのでこのセッションはありがたかったです。
今後も今回のスライドを参考にします。
 

 4つ目のセッション

テーマ:「タイムカード打刻チャットボット「ごえもん」誕生話」
スピーカー:Noriko Matsumotoさん
 
実際に自社に導入してるタイムカード打刻チャットボットのお話でした。
 
Power Automateの基礎から
・Power AutomateはPower Platformのライセンスが必要
→人とサービスをつなぐもの
・Azure Logic AppsはAzureのライセンスが必要
→サービスとサービスをつなぐもの
それぞれ適材適所があるのでそこを理解して使い分けましょうとのこと。
 
勤怠システムの要件:打刻は簡単にする。改修を手軽にする。
 
最初に使用していた勤怠システム
Slack→Functions→kintone→Excel
⇒欠点:エンジニアしか修正触れない。Excelの形式が違う。
 
「ごえもん」
Teams→Automate→Excel
上記構成で前回の欠点を改修!
 
今後の課題
・日付またぎがない。日付またぎはAutomateに向かないとのこと。
AndroidのTeamsだと姓名の並びが逆になる。
・たまに打刻漏れと重複がある。
 
打刻忘れ防止に、ある場所に入るとTeamsに投げるというような設定をLogic appsで作られているそう。勤怠管理に抜かりがないですね。
 
「誰でもできる」はなにもせずにできることではない。
最初の学習コストは大切。最初の学習コストさえちゃんと押さえておけばそのあとはどんどん進められる。

うちの勤怠システムもTeams×Automateでなんとかしようと錯誤中のところだったので参考にさせていただきます。
いつもブログ等でお世話になっている松本さんのセッションをMicrosoft Ignite The Tour Tokyoでは聞きそびれてしまったので今回参加できてよかったです。
 

5つ目のセッション

テーマ:「IT企業のジャーマネ視点からPower Apps 導入など」
スピーカー:Teruchika Yamadaさん
 
Power Platform初心者から一歩先に行くには、
社内でPower Platformを提案するにはどうするかというお話でした。
 
導入提案時のポイント
・数字
・事例
・流行
上記を抑えると誰にとってもわかりやすく伝わりやすくなる。
 
実運用するためのアプリを作る場合のポイント
・完璧は目指さない。
 困ってることの解決や効率化など、目的を達成することが大事。
 社内利用の場合は特に本質を見失わない。
・利用者の動きを理解した仕組みにする
 "システム"や"アプリ"は"利用する人""運用"まで含めて"システム"。
 人の行動も含めて設計すると良い設計になる。
・役割でアプリを分割する
 一つのアプリにすべての機能を盛り込もうとしない。
 小さくて鋭いツールが良い。
 
山田さんは名古屋でコミュニティ活動で、途中まで作ったけどつまづいて先に進めないアプリを発表してみんなで解決する会をしているらしく、めちゃくちゃ行きたいと思いました!
なので東京でも企画したいと思います。
企画した際にはご参加いただけると嬉しいです。
 

感想

 5つも濃いセッションが聞けてめちゃくちゃ充実した一日でした。
みなさんのPower Platformに対する熱意を直に感じて、私も創作意欲が沸いてきました。
運営の皆さんはこの日のために半年前からご準備されていたとのことで、確実にその結果が表れている素晴らしいイベントでした。ありがとうございました。
また半年後も楽しみにしてます。
今回の熱量を受けて、Jazug女子部でもAzure×Power Platformで何か企画したいと思いました。します。よろしくお願いします。