SlideShare a Scribd company logo
Power Apps Mixed Reality コントロール、
Azure SQL Database 等を使⽤した
3D モバイル アプリの構築
鈴⽊ 章太郎
Elastic テクニカルプロダクトマーケティングマネージャー/エバンジェリスト
デジタル庁 省庁業務グループ ソリューションアーキテクト
Elastic
Technical Product Marketing
Manager/Evangelist
デジタル庁
省庁業務グループ
ソリューションアーキテクト
元 Microsoft Technical Evangelist
Twitter : @shosuz
Shotaro Suzuki
• Mixed Reality x Power Apps
• MS Learn コンテンツご紹介
• データソースを Azure SQL Database 等に変更する
• まとめ
• リソース
アジェンダ
Mixed Reality x Power Apps
PHYSICAL
REALITY
VIRTUAL
REALITY
MIXED
REALITY
DIGITAL
REALITY
PHYSICAL
REALITY
物理世界とデジタル世界とのブレンド
Mixed Reality のスペクトラム
Smart Phone、HoloLens 2、 他
VR Headset 他
VR
today
AR today
PHYSICAL
REALITY
DIGITAL
REALITY
MIXED REALITY
(MR)
物理世界とデジタル世界とをミックスし、新たな環境を創造
両オブジェクトが、現実世界のように、共存し、協同
Power Apps での 3D コンテンツの表⽰
•
• 3D コンテンツのギャラリーから選択
•
•
•
•
https://docs.microsoft.com/ja-jp/power-apps/maker/canvas-apps/mixed-reality-component-view-3d
MS Learn コンテンツご紹介
Power Apps での 3D コンテンツの表⽰
•
•
•
•
•
•
•
• キャンバス アプリ
•
•
https://docs.microsoft.com/ja-jp/learn/modules/power-apps-tutorial/
データソースを Azure SQL Database 等に
変更する
キャンバス アプリに追加するデータ ソース
• データソース
https://docs.microsoft.com/ja-jp/learn/modules/power-apps-tutorial/3-exercise-add-data-source-gallery-controls
Power Apps のカスタム フォルダー
• データはどう準備するか︖
• PowerAppsでは基本的には
(.glb)ファイルのみ
• 他のデータから変換等でき
る場合にはそれらを使える
• 難しい場合、⾯倒な場合
・今回のチュートリアル
に付属のデータ
・Windows 11の 3D
ビューアの3D のモデル
(.glb)
• GitHub 等にあるデータ
など
SharePoint (Excel) を使うのが本チュートリアル
• SharePoint
• (Excel も可)
https://docs.microsoft.com/ja-jp/learn/modules/power-apps-tutorial/3-exercise-add-data-source-gallery-controls
• いくつかのやり⽅があるが、どこに格納するかが問題
• SharePoint のリストに格納または Excel + OneDrive が⼀番便利
• オフィス内での使⽤のみなら⼀番いい
• 今回は、SQL Azure Database に URL を格納して表⽰したい
Azure SQL Database を設定する
• Azure SQL Database
https://docs.microsoft.com/ja-jp/learn/modules/power-apps-tutorial/3-exercise-add-data-source-gallery-controls
Azure Data Studio 拡張機能による
データインポート - 1
• データはどうインポート︖
• Azure Data Studio 拡張機能
インストール
• インポートしたいデータ
ベース上で右クリック
(Import Wizard が追加され
ている)
• Easy Sales.csv を指定して
インポート
https://docs.microsoft.com/ja-jp/sql/azure-data-studio/extensions/add-extensions?view=sql-server-ver16
Azure Data Studio 拡張機能による
データインポート - 2
• 注意点
• Price_cm2 カラムは
decimal(5,5) にしておく
• あとは URL 格納等⻑めの⽂
字列になりそうなところは
nvarchar(MAX) にしておく
• その他はデフォルト、全て
NULL 可能で OK
• スキーマ変更もこの画⾯から
柔軟に可能
• 保存を⾏うと新しい内容で
スキーマがコンパイルされ
表⽰される
https://docs.microsoft.com/ja-jp/sql/azure-data-studio/extensions/add-extensions?view=sql-server-ver16
テーブル更新の時は、テーブルエディタで⼀つ⼀つエディットする
Command + S または Control + S でテーブルがビルドされる
OK ならそのまま作成・更新
簡単に更新ができデータも問題なし
3D .glb データの取得
• 3D .glb データの取得
• 今回のチュートリアルに
付属の 3D Models を使う
• .glb データが⾜りないので
3D ビューア等から保存
Power Apps のカスタム フォルダー
https://apps.microsoft.com/store/detail/3d-viewer/9NBLGGH42THS?hl=ja-jp&gl=JP
データの配置先には制約あり - 1
• キャンバス アプリに 3D モデルを読み込む場合の既知の制約
• https://docs.microsoft.com/ja-jp/power-apps/maker/canvas-apps/mixed-reality-
component-view-3d-store#known-constraints-when-loading-3d-models-in-
canvas-apps
• Power Apps のセキュリティ アーキテクチャは、HTTP ではなく HTTPS
リンクを必要とします。
• モデル ファイルをホストするサーバーは、認証を必要とせず、CORS
に準拠している必要があります。
データの配置先には制約あり - 2
https://docs.microsoft.com/ja-jp/learn/modules/power-apps-tutorial/3-exercise-add-data-source-gallery-controls
• データの配置先を下記のように変更
• Azure Blob (.png 等)
• GitHub (.glb )
データの配置先には制約あり - 3
• GitHub に格納するときの注意点
• raw データを参照する
• URL を書き換える
1. GitHub にパブリックでリポジトリを作成
2. .glbファイルをローカルでコミットしてプッシュ
3. URL から /blob/ 部分を削除、冒頭を https://raw.githubusercontent.com/ に置換
https://raw.githubusercontent.com/microsoft/experimental-pcf-control-
assets/master/robot_arm.glb (例)
4. Power Appsで3Dコントロールを追加しその src プロパティに上記 URL をセット
(これでファイルが 3D 表⽰される)
5. その内容をすべて Azure SQL Database に⼊れておく
データの配置先に関する考察まとめ
1. Microsoft Power Automate を使⽤して Base64 でエンコード
された 3D モデルを作成する
https://docs.microsoft.com/ja-jp/power-
apps/maker/canvas-apps/mixed-reality-component-view-
3d-store#create-a-base64-encoded-3d-model-with-
microsoft-power-automate
今回は使わない
2. Blob ストレージに格納
アクセス権をブロブとコンテナーをパブリックに設定
CORS を Power Apps Com 等に設定(念の為)
テキストでURL が来るだけでエンコードされず、表⽰されず Blob がダウン
ロードされることもある
https://portal.azure.com/#@koryoku.com/resource/subscrip
tions/0c27fa1d-69fc-43e5-80d8-
83da4f6a10c8/resourceGroups/appdev/providers/Microsoft.
Storage/storageAccounts/glbfiles1/storagebrowser
3. Blob ストレージに格納された URL をそのままBase 64に変換しな
がらロードして表⽰
⼤きなものだと変換に時間がかかり PowerApps Studio がクラッシュする
こともあり
https://base64.guru/converter/encode/file
https://www.youtube.com/watch?v=bIne3DD3HAg
4. Blob ストレージに全て格納
Button コントロールを配置
OnSelect で Gallery にある ファイルの Name をもとにとってくる
Set(glbfiles1, AzureBlobStorage.CreateShareLinkByPathV2
(Galery_Products.Selected.AttachedFile).webUrl
⼤量データの管理が⾯倒なのは SharePoint や Excel と変わらずAzure SQL
Database を使いたいのでパス
5.Azure Blob には Image データ、GitHub には .glb データをホストする
これが⼀番スムースに可能なので今回はこれ(今後検討する必要がある)
https://docs.microsoft.com/ja-jp/power-apps/maker/canvas-
apps/mixed-reality-component-view-3d-store#host-your-3d-model-
files-in-github
キャンバスアプリから接続する際の注意点
https://docs.microsoft.com/ja-jp/learn/modules/power-apps-tutorial/3-exercise-add-data-source-gallery-controls
• デフォルトオンに注意︕
• 設定 → 近⽇公開の機能
• 拡張 Microsoft SQL Server コネクタを有効にする
• → オフにしないと繋がっているのにキャンバスに
データが表⽰されない
認証
テーブル選択
Babylon.js 他
• 応⽤
• MR で表⽰に関連して
• Babylon.js
https://docs.microsoft.com/ja-jp/power-apps/maker/canvas-
apps/mixed-reality-overview?WT.mc_id=spatial-13741-
apspeigh
Power Apps の MR コントロールは、Babylon と Babylon
React Native を活⽤します。 この共有型 MR プラット
フォームの結果として、Power Apps で機能する 3D コン
テンツは Babylon サンドボックス で機能するはずです。
コンテンツが Babylon で機能するが、Power Apps では機
能しない場合、Power Apps コミュニティ フォーラム で
質問してください。Babylon との統合に関する詳細をお
読みください。
• Developing Immersive XR Experiences on the Web
https://www.youtube.com/watch?v=IA7UCP0W5ms
Babylon.js 公式⼊⾨チュートリアル ざっくり和訳
https://zenn.dev/chomado/books/babylonjs-tutorial-ja
DEMO
Building 3D mobile apps using Power Apps Mixed Reality controls, Azure SQL Database, etc..pdf
リソース
参考︓
Mixed Reality in Power Apps – View in 3D Component
https://www.youtube.com/watch?v=GmYOjyUP9Hk
Mixed Reality in Power Apps - View in MR Component
https://www.youtube.com/watch?v=wjB54iD5qzo
Dhruvinshah16/PowerApps-MR-Lab
https://github.com/Dhruvinshah16/PowerApps-MR-Lab
Babylon.js
https://docs.microsoft.com/ja-jp/power-apps/maker/canvas-apps/mixed-reality-
overview?WT.mc_id=spatial-13741-apspeigh
デベロッパーアドボケート ウェビナーシリーズ (Vol.1) VMware、Microsoft、Elastic
- Java 18、Azure Spring Apps そして Elastic x Azure Spring Cloud コラボレーションの最新技術情報
2022/5/31 13:00-15:00
https://www.elastic.co/jp/virtual-event/developer-advocate-series-1/
Apps
IT Media Cloud Native Week 2022 Summer
2022/6/22
https://enq.itmedia.co.jp/on24u/form/cnw2206?partnerref=itm_atit_ev#keynote2
Elastic 最新バージョンを使って Web・モバイルアプリ開発をしてみよう︕
Elastic 8.x を使った Web・モバイルアプリ開発について、各種パブリッククラウドと連携したデモを交えて、ご紹介していきます。
Thank you for your attention!
Ad

More Related Content

Similar to Building 3D mobile apps using Power Apps Mixed Reality controls, Azure SQL Database, etc..pdf (20)

.NET 最新ロードマップと今押さえておきたい技術要素
.NET 最新ロードマップと今押さえておきたい技術要素.NET 最新ロードマップと今押さえておきたい技術要素
.NET 最新ロードマップと今押さえておきたい技術要素
Akira Inoue
 
Open Cloud カンファレンス@札幌 Microsoft AI最前線
Open Cloud カンファレンス@札幌 Microsoft AI最前線Open Cloud カンファレンス@札幌 Microsoft AI最前線
Open Cloud カンファレンス@札幌 Microsoft AI最前線
Daiyu Hatakeyama
 
.NET の過去、現在、そして未来
.NET の過去、現在、そして未来.NET の過去、現在、そして未来
.NET の過去、現在、そして未来
Akira Inoue
 
[Microsoft Tech Summit 2018] Azure Machine Learning サービスと Azure Databricks で実...
[Microsoft Tech Summit 2018] Azure Machine Learning サービスと Azure Databricks で実...[Microsoft Tech Summit 2018] Azure Machine Learning サービスと Azure Databricks で実...
[Microsoft Tech Summit 2018] Azure Machine Learning サービスと Azure Databricks で実...
Naoki (Neo) SATO
 
BigQuery ML for unstructured data
BigQuery ML for unstructured dataBigQuery ML for unstructured data
BigQuery ML for unstructured data
幸太朗 岩澤
 
Big Data Architecture 全体概要
Big Data Architecture 全体概要Big Data Architecture 全体概要
Big Data Architecture 全体概要
Knowledge & Experience
 
GitHub Actions で CI/CD
GitHub Actions で CI/CDGitHub Actions で CI/CD
GitHub Actions で CI/CD
Issei Hiraoka
 
2021/03/19 パブリッククラウドを活かす運用プロセス自動化
2021/03/19 パブリッククラウドを活かす運用プロセス自動化2021/03/19 パブリッククラウドを活かす運用プロセス自動化
2021/03/19 パブリッククラウドを活かす運用プロセス自動化
Issei Hiraoka
 
de:code 2018 一挙紹介! Azure が提供する IoT 系サービス
de:code 2018 一挙紹介! Azure が提供する IoT 系サービスde:code 2018 一挙紹介! Azure が提供する IoT 系サービス
de:code 2018 一挙紹介! Azure が提供する IoT 系サービス
Masaru Takahashi
 
Building a Flutter Development Environment with VSCode and Useful Extensions
Building a Flutter Development Environment with VSCode and Useful ExtensionsBuilding a Flutter Development Environment with VSCode and Useful Extensions
Building a Flutter Development Environment with VSCode and Useful Extensions
Shotaro Suzuki
 
20190514 Smart Store - Azure servlerless architecture
20190514 Smart Store - Azure servlerless architecture20190514 Smart Store - Azure servlerless architecture
20190514 Smart Store - Azure servlerless architecture
Issei Hiraoka
 
Smart Store サーバーレスアーキテクチャ編
Smart Store サーバーレスアーキテクチャ編Smart Store サーバーレスアーキテクチャ編
Smart Store サーバーレスアーキテクチャ編
Microsoft Azure Japan
 
Building React, Flutter and Blazor development and debugging environment with...
Building React, Flutter and Blazor development and debugging environment with...Building React, Flutter and Blazor development and debugging environment with...
Building React, Flutter and Blazor development and debugging environment with...
Shotaro Suzuki
 
Azure Hybrid全体整理! ~ Azure Hybrid Dayに登場した要素 + αの関係性を整理! ~
Azure Hybrid全体整理! ~ Azure Hybrid Dayに登場した要素 + αの関係性を整理! ~Azure Hybrid全体整理! ~ Azure Hybrid Dayに登場した要素 + αの関係性を整理! ~
Azure Hybrid全体整理! ~ Azure Hybrid Dayに登場した要素 + αの関係性を整理! ~
Masahiko Ebisuda
 
[Japan Tech summit 2017] DAL 005
[Japan Tech summit 2017] DAL 005[Japan Tech summit 2017] DAL 005
[Japan Tech summit 2017] DAL 005
Microsoft Tech Summit 2017
 
Microsoft AzureでのServerless活用術
Microsoft AzureでのServerless活用術Microsoft AzureでのServerless活用術
Microsoft AzureでのServerless活用術
ryosuke matsumura
 
20151024 Azureデータストア概要
20151024 Azureデータストア概要20151024 Azureデータストア概要
20151024 Azureデータストア概要
Keiji Kamebuchi
 
Introduction to extensions and other useful features for developing apps usin...
Introduction to extensions and other useful features for developing apps usin...Introduction to extensions and other useful features for developing apps usin...
Introduction to extensions and other useful features for developing apps usin...
Shotaro Suzuki
 
【de:code 2020】 「あつまれ フロントエンドエンジニア」 Azure Static Web Apps がやってきた
【de:code 2020】 「あつまれ フロントエンドエンジニア」 Azure Static Web Apps がやってきた【de:code 2020】 「あつまれ フロントエンドエンジニア」 Azure Static Web Apps がやってきた
【de:code 2020】 「あつまれ フロントエンドエンジニア」 Azure Static Web Apps がやってきた
日本マイクロソフト株式会社
 
クラウドコンピューティングでつくるビッグデータ解析のいまとこれから
クラウドコンピューティングでつくるビッグデータ解析のいまとこれからクラウドコンピューティングでつくるビッグデータ解析のいまとこれから
クラウドコンピューティングでつくるビッグデータ解析のいまとこれから
Shohei Kobayashi
 
.NET 最新ロードマップと今押さえておきたい技術要素
.NET 最新ロードマップと今押さえておきたい技術要素.NET 最新ロードマップと今押さえておきたい技術要素
.NET 最新ロードマップと今押さえておきたい技術要素
Akira Inoue
 
Open Cloud カンファレンス@札幌 Microsoft AI最前線
Open Cloud カンファレンス@札幌 Microsoft AI最前線Open Cloud カンファレンス@札幌 Microsoft AI最前線
Open Cloud カンファレンス@札幌 Microsoft AI最前線
Daiyu Hatakeyama
 
.NET の過去、現在、そして未来
.NET の過去、現在、そして未来.NET の過去、現在、そして未来
.NET の過去、現在、そして未来
Akira Inoue
 
[Microsoft Tech Summit 2018] Azure Machine Learning サービスと Azure Databricks で実...
[Microsoft Tech Summit 2018] Azure Machine Learning サービスと Azure Databricks で実...[Microsoft Tech Summit 2018] Azure Machine Learning サービスと Azure Databricks で実...
[Microsoft Tech Summit 2018] Azure Machine Learning サービスと Azure Databricks で実...
Naoki (Neo) SATO
 
BigQuery ML for unstructured data
BigQuery ML for unstructured dataBigQuery ML for unstructured data
BigQuery ML for unstructured data
幸太朗 岩澤
 
GitHub Actions で CI/CD
GitHub Actions で CI/CDGitHub Actions で CI/CD
GitHub Actions で CI/CD
Issei Hiraoka
 
2021/03/19 パブリッククラウドを活かす運用プロセス自動化
2021/03/19 パブリッククラウドを活かす運用プロセス自動化2021/03/19 パブリッククラウドを活かす運用プロセス自動化
2021/03/19 パブリッククラウドを活かす運用プロセス自動化
Issei Hiraoka
 
de:code 2018 一挙紹介! Azure が提供する IoT 系サービス
de:code 2018 一挙紹介! Azure が提供する IoT 系サービスde:code 2018 一挙紹介! Azure が提供する IoT 系サービス
de:code 2018 一挙紹介! Azure が提供する IoT 系サービス
Masaru Takahashi
 
Building a Flutter Development Environment with VSCode and Useful Extensions
Building a Flutter Development Environment with VSCode and Useful ExtensionsBuilding a Flutter Development Environment with VSCode and Useful Extensions
Building a Flutter Development Environment with VSCode and Useful Extensions
Shotaro Suzuki
 
20190514 Smart Store - Azure servlerless architecture
20190514 Smart Store - Azure servlerless architecture20190514 Smart Store - Azure servlerless architecture
20190514 Smart Store - Azure servlerless architecture
Issei Hiraoka
 
Smart Store サーバーレスアーキテクチャ編
Smart Store サーバーレスアーキテクチャ編Smart Store サーバーレスアーキテクチャ編
Smart Store サーバーレスアーキテクチャ編
Microsoft Azure Japan
 
Building React, Flutter and Blazor development and debugging environment with...
Building React, Flutter and Blazor development and debugging environment with...Building React, Flutter and Blazor development and debugging environment with...
Building React, Flutter and Blazor development and debugging environment with...
Shotaro Suzuki
 
Azure Hybrid全体整理! ~ Azure Hybrid Dayに登場した要素 + αの関係性を整理! ~
Azure Hybrid全体整理! ~ Azure Hybrid Dayに登場した要素 + αの関係性を整理! ~Azure Hybrid全体整理! ~ Azure Hybrid Dayに登場した要素 + αの関係性を整理! ~
Azure Hybrid全体整理! ~ Azure Hybrid Dayに登場した要素 + αの関係性を整理! ~
Masahiko Ebisuda
 
Microsoft AzureでのServerless活用術
Microsoft AzureでのServerless活用術Microsoft AzureでのServerless活用術
Microsoft AzureでのServerless活用術
ryosuke matsumura
 
20151024 Azureデータストア概要
20151024 Azureデータストア概要20151024 Azureデータストア概要
20151024 Azureデータストア概要
Keiji Kamebuchi
 
Introduction to extensions and other useful features for developing apps usin...
Introduction to extensions and other useful features for developing apps usin...Introduction to extensions and other useful features for developing apps usin...
Introduction to extensions and other useful features for developing apps usin...
Shotaro Suzuki
 
【de:code 2020】 「あつまれ フロントエンドエンジニア」 Azure Static Web Apps がやってきた
【de:code 2020】 「あつまれ フロントエンドエンジニア」 Azure Static Web Apps がやってきた【de:code 2020】 「あつまれ フロントエンドエンジニア」 Azure Static Web Apps がやってきた
【de:code 2020】 「あつまれ フロントエンドエンジニア」 Azure Static Web Apps がやってきた
日本マイクロソフト株式会社
 
クラウドコンピューティングでつくるビッグデータ解析のいまとこれから
クラウドコンピューティングでつくるビッグデータ解析のいまとこれからクラウドコンピューティングでつくるビッグデータ解析のいまとこれから
クラウドコンピューティングでつくるビッグデータ解析のいまとこれから
Shohei Kobayashi
 

More from Shotaro Suzuki (20)

This is how our first offline technical event in three years was able to succ...
This is how our first offline technical event in three years was able to succ...This is how our first offline technical event in three years was able to succ...
This is how our first offline technical event in three years was able to succ...
Shotaro Suzuki
 
Introducing the new features of the Elastic 8.6 release.pdf
Introducing the new features of the Elastic 8.6 release.pdfIntroducing the new features of the Elastic 8.6 release.pdf
Introducing the new features of the Elastic 8.6 release.pdf
Shotaro Suzuki
 
NET MAUI for .NET 7 for iOS, Android app development
 NET MAUI for .NET 7 for iOS, Android app development  NET MAUI for .NET 7 for iOS, Android app development
NET MAUI for .NET 7 for iOS, Android app development
Shotaro Suzuki
 
What's New in the Elastic 8.5 Release
What's New in the Elastic 8.5 ReleaseWhat's New in the Elastic 8.5 Release
What's New in the Elastic 8.5 Release
Shotaro Suzuki
 
Centralized Observability for the Azure Ecosystem
Centralized Observability for the Azure EcosystemCentralized Observability for the Azure Ecosystem
Centralized Observability for the Azure Ecosystem
Shotaro Suzuki
 
What's New in the Elastic 8.4 Release
What's New in the Elastic 8.4 ReleaseWhat's New in the Elastic 8.4 Release
What's New in the Elastic 8.4 Release
Shotaro Suzuki
 
Power Apps x .NET ~ Transforming Business Applications with Fusion Development
Power Apps x .NET ~ Transforming Business Applications with Fusion DevelopmentPower Apps x .NET ~ Transforming Business Applications with Fusion Development
Power Apps x .NET ~ Transforming Business Applications with Fusion Development
Shotaro Suzuki
 
devreljapan2022evaadvoc-final.pdf
devreljapan2022evaadvoc-final.pdfdevreljapan2022evaadvoc-final.pdf
devreljapan2022evaadvoc-final.pdf
Shotaro Suzuki
 
elastic-mabl-co-webinar-20220729
elastic-mabl-co-webinar-20220729elastic-mabl-co-webinar-20220729
elastic-mabl-co-webinar-20220729
Shotaro Suzuki
 
Application development with c#, .net 6, blazor web assembly, asp.net web api...
Application development with c#, .net 6, blazor web assembly, asp.net web api...Application development with c#, .net 6, blazor web assembly, asp.net web api...
Application development with c#, .net 6, blazor web assembly, asp.net web api...
Shotaro Suzuki
 
Discover what's new in the Elastic 8.3 release - Find, monitor, and protect e...
Discover what's new in the Elastic 8.3 release - Find, monitor, and protect e...Discover what's new in the Elastic 8.3 release - Find, monitor, and protect e...
Discover what's new in the Elastic 8.3 release - Find, monitor, and protect e...
Shotaro Suzuki
 
Building a search experience with Elastic – Introducing Elastic's latest samp...
Building a search experience with Elastic – Introducing Elastic's latest samp...Building a search experience with Elastic – Introducing Elastic's latest samp...
Building a search experience with Elastic – Introducing Elastic's latest samp...
Shotaro Suzuki
 
Developing .NET 6 Blazor WebAssemby apps with Radzen Blazor component library...
Developing .NET 6 Blazor WebAssemby apps with Radzen Blazor component library...Developing .NET 6 Blazor WebAssemby apps with Radzen Blazor component library...
Developing .NET 6 Blazor WebAssemby apps with Radzen Blazor component library...
Shotaro Suzuki
 
Elastic x Microsoft Azure Integration Evolution - Integrated Monitoring for S...
Elastic x Microsoft Azure Integration Evolution - Integrated Monitoring for S...Elastic x Microsoft Azure Integration Evolution - Integrated Monitoring for S...
Elastic x Microsoft Azure Integration Evolution - Integrated Monitoring for S...
Shotaro Suzuki
 
What's New in the Elastic 8.2 Release - Seamless User Experience with Search -
What's New in the Elastic 8.2 Release - Seamless User Experience with Search -What's New in the Elastic 8.2 Release - Seamless User Experience with Search -
What's New in the Elastic 8.2 Release - Seamless User Experience with Search -
Shotaro Suzuki
 
Application development with c#, .net 6, blazor web assembly, asp.net web api...
Application development with c#, .net 6, blazor web assembly, asp.net web api...Application development with c#, .net 6, blazor web assembly, asp.net web api...
Application development with c#, .net 6, blazor web assembly, asp.net web api...
Shotaro Suzuki
 
Building Software Reliability through Distributed Tracing.pdf
Building Software Reliability through Distributed Tracing.pdfBuilding Software Reliability through Distributed Tracing.pdf
Building Software Reliability through Distributed Tracing.pdf
Shotaro Suzuki
 
Application development with c#, .net 6, blazor web assembly, asp.net web api...
Application development with c#, .net 6, blazor web assembly, asp.net web api...Application development with c#, .net 6, blazor web assembly, asp.net web api...
Application development with c#, .net 6, blazor web assembly, asp.net web api...
Shotaro Suzuki
 
Introducing Elastic 8.1 Release - More Integration, Faster Indexing Speed, Lo...
Introducing Elastic 8.1 Release - More Integration, Faster Indexing Speed, Lo...Introducing Elastic 8.1 Release - More Integration, Faster Indexing Speed, Lo...
Introducing Elastic 8.1 Release - More Integration, Faster Indexing Speed, Lo...
Shotaro Suzuki
 
Application development with c#, .net 6, blazor web assembly, asp.net web api...
Application development with c#, .net 6, blazor web assembly, asp.net web api...Application development with c#, .net 6, blazor web assembly, asp.net web api...
Application development with c#, .net 6, blazor web assembly, asp.net web api...
Shotaro Suzuki
 
This is how our first offline technical event in three years was able to succ...
This is how our first offline technical event in three years was able to succ...This is how our first offline technical event in three years was able to succ...
This is how our first offline technical event in three years was able to succ...
Shotaro Suzuki
 
Introducing the new features of the Elastic 8.6 release.pdf
Introducing the new features of the Elastic 8.6 release.pdfIntroducing the new features of the Elastic 8.6 release.pdf
Introducing the new features of the Elastic 8.6 release.pdf
Shotaro Suzuki
 
NET MAUI for .NET 7 for iOS, Android app development
 NET MAUI for .NET 7 for iOS, Android app development  NET MAUI for .NET 7 for iOS, Android app development
NET MAUI for .NET 7 for iOS, Android app development
Shotaro Suzuki
 
What's New in the Elastic 8.5 Release
What's New in the Elastic 8.5 ReleaseWhat's New in the Elastic 8.5 Release
What's New in the Elastic 8.5 Release
Shotaro Suzuki
 
Centralized Observability for the Azure Ecosystem
Centralized Observability for the Azure EcosystemCentralized Observability for the Azure Ecosystem
Centralized Observability for the Azure Ecosystem
Shotaro Suzuki
 
What's New in the Elastic 8.4 Release
What's New in the Elastic 8.4 ReleaseWhat's New in the Elastic 8.4 Release
What's New in the Elastic 8.4 Release
Shotaro Suzuki
 
Power Apps x .NET ~ Transforming Business Applications with Fusion Development
Power Apps x .NET ~ Transforming Business Applications with Fusion DevelopmentPower Apps x .NET ~ Transforming Business Applications with Fusion Development
Power Apps x .NET ~ Transforming Business Applications with Fusion Development
Shotaro Suzuki
 
devreljapan2022evaadvoc-final.pdf
devreljapan2022evaadvoc-final.pdfdevreljapan2022evaadvoc-final.pdf
devreljapan2022evaadvoc-final.pdf
Shotaro Suzuki
 
elastic-mabl-co-webinar-20220729
elastic-mabl-co-webinar-20220729elastic-mabl-co-webinar-20220729
elastic-mabl-co-webinar-20220729
Shotaro Suzuki
 
Application development with c#, .net 6, blazor web assembly, asp.net web api...
Application development with c#, .net 6, blazor web assembly, asp.net web api...Application development with c#, .net 6, blazor web assembly, asp.net web api...
Application development with c#, .net 6, blazor web assembly, asp.net web api...
Shotaro Suzuki
 
Discover what's new in the Elastic 8.3 release - Find, monitor, and protect e...
Discover what's new in the Elastic 8.3 release - Find, monitor, and protect e...Discover what's new in the Elastic 8.3 release - Find, monitor, and protect e...
Discover what's new in the Elastic 8.3 release - Find, monitor, and protect e...
Shotaro Suzuki
 
Building a search experience with Elastic – Introducing Elastic's latest samp...
Building a search experience with Elastic – Introducing Elastic's latest samp...Building a search experience with Elastic – Introducing Elastic's latest samp...
Building a search experience with Elastic – Introducing Elastic's latest samp...
Shotaro Suzuki
 
Developing .NET 6 Blazor WebAssemby apps with Radzen Blazor component library...
Developing .NET 6 Blazor WebAssemby apps with Radzen Blazor component library...Developing .NET 6 Blazor WebAssemby apps with Radzen Blazor component library...
Developing .NET 6 Blazor WebAssemby apps with Radzen Blazor component library...
Shotaro Suzuki
 
Elastic x Microsoft Azure Integration Evolution - Integrated Monitoring for S...
Elastic x Microsoft Azure Integration Evolution - Integrated Monitoring for S...Elastic x Microsoft Azure Integration Evolution - Integrated Monitoring for S...
Elastic x Microsoft Azure Integration Evolution - Integrated Monitoring for S...
Shotaro Suzuki
 
What's New in the Elastic 8.2 Release - Seamless User Experience with Search -
What's New in the Elastic 8.2 Release - Seamless User Experience with Search -What's New in the Elastic 8.2 Release - Seamless User Experience with Search -
What's New in the Elastic 8.2 Release - Seamless User Experience with Search -
Shotaro Suzuki
 
Application development with c#, .net 6, blazor web assembly, asp.net web api...
Application development with c#, .net 6, blazor web assembly, asp.net web api...Application development with c#, .net 6, blazor web assembly, asp.net web api...
Application development with c#, .net 6, blazor web assembly, asp.net web api...
Shotaro Suzuki
 
Building Software Reliability through Distributed Tracing.pdf
Building Software Reliability through Distributed Tracing.pdfBuilding Software Reliability through Distributed Tracing.pdf
Building Software Reliability through Distributed Tracing.pdf
Shotaro Suzuki
 
Application development with c#, .net 6, blazor web assembly, asp.net web api...
Application development with c#, .net 6, blazor web assembly, asp.net web api...Application development with c#, .net 6, blazor web assembly, asp.net web api...
Application development with c#, .net 6, blazor web assembly, asp.net web api...
Shotaro Suzuki
 
Introducing Elastic 8.1 Release - More Integration, Faster Indexing Speed, Lo...
Introducing Elastic 8.1 Release - More Integration, Faster Indexing Speed, Lo...Introducing Elastic 8.1 Release - More Integration, Faster Indexing Speed, Lo...
Introducing Elastic 8.1 Release - More Integration, Faster Indexing Speed, Lo...
Shotaro Suzuki
 
Application development with c#, .net 6, blazor web assembly, asp.net web api...
Application development with c#, .net 6, blazor web assembly, asp.net web api...Application development with c#, .net 6, blazor web assembly, asp.net web api...
Application development with c#, .net 6, blazor web assembly, asp.net web api...
Shotaro Suzuki
 
Ad

Building 3D mobile apps using Power Apps Mixed Reality controls, Azure SQL Database, etc..pdf

  • 1. Power Apps Mixed Reality コントロール、 Azure SQL Database 等を使⽤した 3D モバイル アプリの構築 鈴⽊ 章太郎 Elastic テクニカルプロダクトマーケティングマネージャー/エバンジェリスト デジタル庁 省庁業務グループ ソリューションアーキテクト
  • 3. • Mixed Reality x Power Apps • MS Learn コンテンツご紹介 • データソースを Azure SQL Database 等に変更する • まとめ • リソース アジェンダ
  • 4. Mixed Reality x Power Apps
  • 7. Mixed Reality のスペクトラム Smart Phone、HoloLens 2、 他 VR Headset 他 VR today AR today PHYSICAL REALITY DIGITAL REALITY MIXED REALITY (MR) 物理世界とデジタル世界とをミックスし、新たな環境を創造 両オブジェクトが、現実世界のように、共存し、協同
  • 8. Power Apps での 3D コンテンツの表⽰ • • 3D コンテンツのギャラリーから選択 • • • • https://docs.microsoft.com/ja-jp/power-apps/maker/canvas-apps/mixed-reality-component-view-3d
  • 10. Power Apps での 3D コンテンツの表⽰ • • • • • • • • キャンバス アプリ • • https://docs.microsoft.com/ja-jp/learn/modules/power-apps-tutorial/
  • 11. データソースを Azure SQL Database 等に 変更する
  • 12. キャンバス アプリに追加するデータ ソース • データソース https://docs.microsoft.com/ja-jp/learn/modules/power-apps-tutorial/3-exercise-add-data-source-gallery-controls Power Apps のカスタム フォルダー • データはどう準備するか︖ • PowerAppsでは基本的には (.glb)ファイルのみ • 他のデータから変換等でき る場合にはそれらを使える • 難しい場合、⾯倒な場合 ・今回のチュートリアル に付属のデータ ・Windows 11の 3D ビューアの3D のモデル (.glb) • GitHub 等にあるデータ など
  • 13. SharePoint (Excel) を使うのが本チュートリアル • SharePoint • (Excel も可) https://docs.microsoft.com/ja-jp/learn/modules/power-apps-tutorial/3-exercise-add-data-source-gallery-controls • いくつかのやり⽅があるが、どこに格納するかが問題 • SharePoint のリストに格納または Excel + OneDrive が⼀番便利 • オフィス内での使⽤のみなら⼀番いい • 今回は、SQL Azure Database に URL を格納して表⽰したい
  • 14. Azure SQL Database を設定する • Azure SQL Database https://docs.microsoft.com/ja-jp/learn/modules/power-apps-tutorial/3-exercise-add-data-source-gallery-controls
  • 15. Azure Data Studio 拡張機能による データインポート - 1 • データはどうインポート︖ • Azure Data Studio 拡張機能 インストール • インポートしたいデータ ベース上で右クリック (Import Wizard が追加され ている) • Easy Sales.csv を指定して インポート https://docs.microsoft.com/ja-jp/sql/azure-data-studio/extensions/add-extensions?view=sql-server-ver16
  • 16. Azure Data Studio 拡張機能による データインポート - 2 • 注意点 • Price_cm2 カラムは decimal(5,5) にしておく • あとは URL 格納等⻑めの⽂ 字列になりそうなところは nvarchar(MAX) にしておく • その他はデフォルト、全て NULL 可能で OK • スキーマ変更もこの画⾯から 柔軟に可能 • 保存を⾏うと新しい内容で スキーマがコンパイルされ 表⽰される https://docs.microsoft.com/ja-jp/sql/azure-data-studio/extensions/add-extensions?view=sql-server-ver16 テーブル更新の時は、テーブルエディタで⼀つ⼀つエディットする Command + S または Control + S でテーブルがビルドされる OK ならそのまま作成・更新 簡単に更新ができデータも問題なし
  • 17. 3D .glb データの取得 • 3D .glb データの取得 • 今回のチュートリアルに 付属の 3D Models を使う • .glb データが⾜りないので 3D ビューア等から保存 Power Apps のカスタム フォルダー https://apps.microsoft.com/store/detail/3d-viewer/9NBLGGH42THS?hl=ja-jp&gl=JP
  • 18. データの配置先には制約あり - 1 • キャンバス アプリに 3D モデルを読み込む場合の既知の制約 • https://docs.microsoft.com/ja-jp/power-apps/maker/canvas-apps/mixed-reality- component-view-3d-store#known-constraints-when-loading-3d-models-in- canvas-apps • Power Apps のセキュリティ アーキテクチャは、HTTP ではなく HTTPS リンクを必要とします。 • モデル ファイルをホストするサーバーは、認証を必要とせず、CORS に準拠している必要があります。
  • 20. データの配置先には制約あり - 3 • GitHub に格納するときの注意点 • raw データを参照する • URL を書き換える 1. GitHub にパブリックでリポジトリを作成 2. .glbファイルをローカルでコミットしてプッシュ 3. URL から /blob/ 部分を削除、冒頭を https://raw.githubusercontent.com/ に置換 https://raw.githubusercontent.com/microsoft/experimental-pcf-control- assets/master/robot_arm.glb (例) 4. Power Appsで3Dコントロールを追加しその src プロパティに上記 URL をセット (これでファイルが 3D 表⽰される) 5. その内容をすべて Azure SQL Database に⼊れておく
  • 21. データの配置先に関する考察まとめ 1. Microsoft Power Automate を使⽤して Base64 でエンコード された 3D モデルを作成する https://docs.microsoft.com/ja-jp/power- apps/maker/canvas-apps/mixed-reality-component-view- 3d-store#create-a-base64-encoded-3d-model-with- microsoft-power-automate 今回は使わない 2. Blob ストレージに格納 アクセス権をブロブとコンテナーをパブリックに設定 CORS を Power Apps Com 等に設定(念の為) テキストでURL が来るだけでエンコードされず、表⽰されず Blob がダウン ロードされることもある https://portal.azure.com/#@koryoku.com/resource/subscrip tions/0c27fa1d-69fc-43e5-80d8- 83da4f6a10c8/resourceGroups/appdev/providers/Microsoft. Storage/storageAccounts/glbfiles1/storagebrowser 3. Blob ストレージに格納された URL をそのままBase 64に変換しな がらロードして表⽰ ⼤きなものだと変換に時間がかかり PowerApps Studio がクラッシュする こともあり https://base64.guru/converter/encode/file https://www.youtube.com/watch?v=bIne3DD3HAg 4. Blob ストレージに全て格納 Button コントロールを配置 OnSelect で Gallery にある ファイルの Name をもとにとってくる Set(glbfiles1, AzureBlobStorage.CreateShareLinkByPathV2 (Galery_Products.Selected.AttachedFile).webUrl ⼤量データの管理が⾯倒なのは SharePoint や Excel と変わらずAzure SQL Database を使いたいのでパス 5.Azure Blob には Image データ、GitHub には .glb データをホストする これが⼀番スムースに可能なので今回はこれ(今後検討する必要がある) https://docs.microsoft.com/ja-jp/power-apps/maker/canvas- apps/mixed-reality-component-view-3d-store#host-your-3d-model- files-in-github
  • 22. キャンバスアプリから接続する際の注意点 https://docs.microsoft.com/ja-jp/learn/modules/power-apps-tutorial/3-exercise-add-data-source-gallery-controls • デフォルトオンに注意︕ • 設定 → 近⽇公開の機能 • 拡張 Microsoft SQL Server コネクタを有効にする • → オフにしないと繋がっているのにキャンバスに データが表⽰されない 認証 テーブル選択
  • 23. Babylon.js 他 • 応⽤ • MR で表⽰に関連して • Babylon.js https://docs.microsoft.com/ja-jp/power-apps/maker/canvas- apps/mixed-reality-overview?WT.mc_id=spatial-13741- apspeigh Power Apps の MR コントロールは、Babylon と Babylon React Native を活⽤します。 この共有型 MR プラット フォームの結果として、Power Apps で機能する 3D コン テンツは Babylon サンドボックス で機能するはずです。 コンテンツが Babylon で機能するが、Power Apps では機 能しない場合、Power Apps コミュニティ フォーラム で 質問してください。Babylon との統合に関する詳細をお 読みください。 • Developing Immersive XR Experiences on the Web https://www.youtube.com/watch?v=IA7UCP0W5ms Babylon.js 公式⼊⾨チュートリアル ざっくり和訳 https://zenn.dev/chomado/books/babylonjs-tutorial-ja
  • 24. DEMO
  • 26. リソース 参考︓ Mixed Reality in Power Apps – View in 3D Component https://www.youtube.com/watch?v=GmYOjyUP9Hk Mixed Reality in Power Apps - View in MR Component https://www.youtube.com/watch?v=wjB54iD5qzo Dhruvinshah16/PowerApps-MR-Lab https://github.com/Dhruvinshah16/PowerApps-MR-Lab Babylon.js https://docs.microsoft.com/ja-jp/power-apps/maker/canvas-apps/mixed-reality- overview?WT.mc_id=spatial-13741-apspeigh
  • 27. デベロッパーアドボケート ウェビナーシリーズ (Vol.1) VMware、Microsoft、Elastic - Java 18、Azure Spring Apps そして Elastic x Azure Spring Cloud コラボレーションの最新技術情報 2022/5/31 13:00-15:00 https://www.elastic.co/jp/virtual-event/developer-advocate-series-1/ Apps
  • 28. IT Media Cloud Native Week 2022 Summer 2022/6/22 https://enq.itmedia.co.jp/on24u/form/cnw2206?partnerref=itm_atit_ev#keynote2 Elastic 最新バージョンを使って Web・モバイルアプリ開発をしてみよう︕ Elastic 8.x を使った Web・モバイルアプリ開発について、各種パブリッククラウドと連携したデモを交えて、ご紹介していきます。
  • 29. Thank you for your attention!