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

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

【レポ】Global Microsoft 365 Developer Bootcamp 2019 Tokyo に参加してきました

Global Microsoft 365 Developer Bootcamp 2019 Tokyo に参加したレポート記事になります。

 

概要

Microsoft 365/Office 365の開発手法を学びたい人向けのハンズオンセッションです。
午前と午後でそれぞれひとつずつハンズオンを選択できます。
ハッシュタグ:#OfficeDev
 
以下、主に感想を書いていきますが、
内容や雰囲気を知りたい方はTogetterをご覧いただくのがいいかと思います。
 

午前の部

私が参加した午前のハンズオンは下記です。
今回はMicrosoft Graphについて学ぶために参加したようなものでした。

テーマ: Microsoft Graph
担当: 中村 亮太さん / 株式会社ソントレーゾ 取締役 CTO
担当: 杉本 和也さん(Microsoft MVP - Business Applications) / CData Software Japan 株式会社
資料:

Global Microsoft 365 Developer Bootcamp 2019 Tokyo:Microsoft Graph API · GitHub


座学

今日の目的
APIとは何かを学ぶ
Microsoft Graph APIのアプリを作る
・明日以降の業務に活かす!

 

APIとは何か?
・明示的にhttpメソッドを使用する:HTTP・URIなどによるネットワーク仕様に準拠したものが、RESTと呼ばれているAPI全般を指している。(GET,POST,DELETE,PUT,PATCH
・ステートレスであること:サーバー側でユーザーのセッション状態を保持しない。
なぜなら死ぬほど要求が来るので保持してたらサーバーが持たないから!
ある程度オペレーターが状態を管理しておかないといけない。
ディレクトリ構造に似たURIを公開すること:何をしているか一目瞭然なURIにすること。
XMLまたはJSONまたは両方を返すこと

APIを使えばWebで簡単にデータが取れる!
→その分セキュリティは大丈夫なの???
→大丈夫!認証と認可の体制。期限付きのアクセストークンで使用することでセキュリティを担保している!

Microsoft Graphで何ができるの?
→ユーザー作成をチャットボットで自動作成したり、メールの通知をしたり。

Microsoft Graphを使う流れ(全体)
アプリケーション登録(一度だけ必要)
トークン発行(都度必要)
→各種GraphAPI発行(都度必要)

Microsoft Graphを使う流れ(個々詳細)
アプリケーション登録:AzureADにアプリを登録
トークンの発行のための準備:アプリケーションIDとアクセスキーの取得。
権限付与:「委任されたアクセス許可」と「アプリケーションの許可」は違う権限なので目的によって使い分ける必要がある。
トークンの発行:有効期限で切れるので都度都度発行する
APIの発行:
URIは階層構造になっている。
1次階層/1次階層のパラメータ/2次階層/2次階層のパラメータ/3次階層
1次階層は操作先の指定。usersとか。次の階層でさらに細かいパラメータに絞り込む。
2次階層は操作機能の指定。1次階層によって変化する部分。


ハンズオン

手順がとってもわかりやすいのでぜひ資料をご参照ください!
 
その1
Microsoft Graph エクスローラーを触ってみる」
Webブラウザからどんなものかを見てみました。
あわせてPOSTMANもおすすめだそうです。

Postman | The Collaboration Platform for API Development

 
その2
会議室予約表示アプリを作る」
Power AutomateやPower Appsと組み合わせたアプリです。
既存の会議室予約表示アプリを使うとn万円とコストがかかりますが、
今回のハンズオンで作れてしまえば、大幅コスト削減です!
 
私はOffice365開発者サイトでのリソース作成がうまくできず挫折しました…
手順の後半でPower Automateが出てきてて、大変気になるのでリベンジします…!
 

ランチタイムLT

お昼はMS本社様からSUBWAYの差し入れをいただきました!
おいしいサンドウィッチをいただきながらLTを楽しめるという贅沢仕様でした笑

LT1人目

斎藤さん
「AccessRuntimeの今を探る」
OfficeDeveloper→Office365の変化について等

LT2人目

中山さん
「Microsoft365で使えるソフトウェア開発について」
Officeアドインというマイナーすぎる存在を広めるためのお話。
わずかな時間でもデモ付きというボリューム感。

 LT3人目

目代さん
「人生は学びの連続である」
学習リソースについての話で
Microsoft Learn | Microsoft Docsがいかに便利かというお話。

 

午後の部

私が参加した午後のハンズオンは下記です。
午前中に学んだMicrosoft Graphの知識が活きました!

テーマ: Adaptive Cards
担当: 篠原 敬志さん(Microsoft MVP - Office Development) / アバナード株式会社
担当: 高尾 哲朗さん(Microsoft MVP - Developer Technologies)
資料:

GitHub - karamem0/m365devbootcamp2019: Global Microsoft 365 Developer Bootcamp 2019 Japan の Adaptive Cards ハンズオンの資料です。

 

座学

Adaptive Cardsとは?
→カード形式のコンテンツが送れる新しい方法。
・美しいエクスペリエンス(JSON形式)
・オープンフレームワーク
マルチプラットフォーム
・ネイティブパフォーマンス
 
利用できるサービスも多様:BotFramework、Cortana、OutlookActionableMessage、WindowsTimeline、MS Teams

基本的なスキーマは2つ:body、actions
 
コントロールの種類がいくつかある:コンテナ、要素、入力
 

ハンズオン

こちらのハンズオンも本当に資料がわかりやすかったのでぜひご参照ください。
 
その1
「Adaptive Cards Designerを触ってみる」
Webブラウザで簡単に触れました。
 
その2
「Power AutomateからTeamsに投稿する」
Automateを実行するとTeamsにAdaptive Cardsが送信されるものです。
ちゃんと動くのをみると感動しますね笑
 
その3
「GraphからOutlookに送信する」
今度は表示先がOutlookになります。
事前に用意いただいたコードで動かします。
このコードがきれいで見やすかったです。
 
その4
「アンケート収集システムを作ってみる」
Outlookに送られたアンケートに回答すると、結果がExcelに自動で記載されるというものです。
Power Automate→Outlook→Azure Functions→Excel
私はOffice365開発者アカウントとAzureサブスクリプションのアカウントが分かれていたので不安だったのですが、それでも問題なく動いたので良かったです。達成感!

 
全体の感想

朝の10:00から開始で雨で寒い中でも、運営の方も参加者の方もたくさんいらしててみんなすごいえらいと思いました。
ノベルティにはステッカー、Tシャツ、おしゃれなウォーターボトルがありました。
午前も午後もハンズオンの資料がすごくわかりやすくて、一体どれだけご準備されたのか…計り知れないです。今後の勉強に使わせていただきます。
午前と午後で自分で選んでハンズオンが受けられたのが良かったです。私はMicrosoft Graphが目的だったので、どちらでも触れられて大満足でした。
ハンズオンの成功を左右したのは下準備だと思いました。事前に必要な環境が告知されていましたので、それをもっとちゃんと用意しておけば午前のハンズオンもうまくできたのかなぁと…
全体を通して、充実感のある素敵な一日でした!
運営の皆様ありがとうございました。来年も参加したいです!