SlideShare ist ein Scribd-Unternehmen logo
1 von 38
C# CloudScript
- Azure Functions との連携 -
南 @_y_minami
2020.01.25 PlayFab Meetup in Microsoft #2
自己紹介
• 名前
南(みなみ)
• 所属
miraibox Inc.
• Twitter
@_y_minami
• 好き/興味
C# .NET Unity Azure PlayFab MagicOnion 紅茶
本日の内容
本日の内容
• CloudScript とは
• Azure Functions とは
• C# CloudScript の使い方
• まとめ
CloudScript とは
CloudScript とは
• PlayFab の主要な機能の一つ
• PlayFab は基本的にはクライアントから API を呼ぶだけで
本来はサーバーが必要なゲームをれる
• しかし PlayFab の機能でまかなうことができない場合もある
• その場合は PlayFab 内に自分で書いた Script を登録して
それを呼び出して処理することができる
• FaaS(Function as a Service) のような感覚で使える
• 利用料金は PlayFab の料金に含まれる(つまり無料)
• 言語は JavaScript のみに対応
• JavaScript のみに対応…😭
Azure Functions とは
Azure Functions とは
• Azure の主要な機能の一つ
• FaaS
• 様々な料金プランがあるが無料から利用可能
• 多くの言語に対応
• C# JavaScript F# Java PowerShell Python TypeScript
• Visual Studio などでローカルデバッグが可能
• リアルタイムでオンラインのログのモニタリングが可能
Azure Functions とは
• Azure の主要な機能の一つ
• FaaS
• 様々な料金プランがあるが無料から利用可能
• 多くの言語に対応
• C# JavaScript F# Java PowerShell Python TypeScript
• Visual Studio などでローカルデバッグが可能
• リアルタイムでオンラインのログのモニタリングが可能
Azure Functions は良いことたくさん。
C# CloudScript は PlayFab から Azure Functions を
良い感じに利用可能になるという話。
C# CloudScript の使い方
C# CloudScript の使い方
2019 年中に Public Preview になる予定だったので
使ってみた話をするつもりでしたが、
1/24 現在では Private Preview のままなので
ドキュメントやデモ動画で学んだ話をします 😭😭😭
今回紹介する内容は今後変更される可能性があります。
C# Cloud Script の使い方
• C# で Azure Function のコードを書く
• Azure Functions へ Function を Deploy
• PlayFab へ Azure Functions の Function を Register
• Client or Server or PlayFab(Actions) から Call
C# で Azure Function のコードを書く
C# で Azure Function のコードを書く
C# で Azure Function のコードを書く
Azure Functions は 1/23 に v3 がリリースされている。
C# CloudScript では v2 がサポートされているが、
Public Preview になる頃には v3 もサポートされる
可能性も高い。(と思いたい)
C# で Azure Function のコードを書く
トリガーは Http と Queue をサポート。
今まで通りの CloudScript の使い方をする場合は
Http トリガーを使う。
Queue トリガーは大量のデータを一旦キューに積んで
非同期に処理したい場合に使う。(バッチ処理など)
PlayFab の Scheduled Task より柔軟なバッチ処理が可能。
(と思われるが詳しいことは今後に期待)
C# で Azure Function のコードを書く
Authorization level は Anonymous にしておくと
どこからでも Function を呼べる。
C# で Function を書く
C# で Function を書く
var context = await FunctionContext<dynamic>.Create(req);
var playerId = context.CurrentPlayerId;
という書き方でユーザーの情報を取得できるのがポイント。
Azure Functions へ Function を Deploy
Azure Functions へ Function を Deploy
Azure Functions へ Function を Deploy
PlayFab とのレイテンシを最小にするために
リージョンを East US 2 または East US にすることが
推奨されている。
これは PlayFab 連携をする上では Azure Functions に
限った話ではないので覚えておくとよい。
PlayFab へ Azure Functions を Register
PlayFab へ Azure Functions を Register
Client or Server から Call
Client or Server から Call
少し長いがやってることは難しくない。
- EntityKey に自分の情報を詰める
- FunctionName に Azure Functions の名前を指定
- FunctionParameter に Azure Functions に渡したいパラメーターを詰める
- コールバックで実行したい処理があれば書いておく
- PlayFabCloudScriptAPI.ExecuteFunction を呼ぶ
PlayFab(Actions)から Call
PlayFab(Actions)から Call
Register した Azure Functions を
簡単に呼び出せるようになっている
VS Code なら Azure Functions Extension
• C# で書ける
• Application Insights を使ったデバッグ
VS Code なら Azure Functions Extension
PlayFab Explorer もリリースされる予定
PlayFab Explorer もリリースされる予定
PlayFab Explorer もリリースされる予定
GameManager 側の Explorer と
だいぶまぎらわしいので注意。
参考資料
• PlayFab CloudScript using Azure Functions(公式ドキュメント)
https://docs.microsoft.com/en-us/gaming/playfab/features/automation/cloudscript-af/
• PlayFab + Azure Functions + Visual Studio Code - Crazy Awesome Games!
(公式動画)
https://www.youtube.com/watch?v=apQbkDn1lNo&feature=youtu.be
参考資料
なおこのドキュメントは
サイトの言語設定を
日本語にすると消失する
まとめ
まとめ
• C# CloudScript、とても良さそうなのでリリースされたら是非使いましょう!
• Azure Functions の知識が多少必要になるので予習しておくと良いかも。
• 最新情報は PlayFab の Blog と公式ドキュメント(英語)をチェック。
https://blog.playfab.com/blog
• https://docs.microsoft.com/en-us/gaming/playfab/features/automation/cloudscript-
af/
ご清聴ありがとうございました

Weitere ähnliche Inhalte

Was ist angesagt?

AWSではじめるお手軽オンラインゲーム開発
AWSではじめるお手軽オンラインゲーム開発AWSではじめるお手軽オンラインゲーム開発
AWSではじめるお手軽オンラインゲーム開発AimingStudy
 
剣と魔法のログレス(PC版)の自慢と課題
剣と魔法のログレス(PC版)の自慢と課題剣と魔法のログレス(PC版)の自慢と課題
剣と魔法のログレス(PC版)の自慢と課題AimingStudy
 
baserCMSのstripe連携プラグインを作った話
baserCMSのstripe連携プラグインを作った話baserCMSのstripe連携プラグインを作った話
baserCMSのstripe連携プラグインを作った話Tatsuhiko Uchiba
 
剣と魔法のログレス いにしえの女神 〜スマホ時代の MMORPG を支える技術
剣と魔法のログレス いにしえの女神 〜スマホ時代の MMORPG を支える技術剣と魔法のログレス いにしえの女神 〜スマホ時代の MMORPG を支える技術
剣と魔法のログレス いにしえの女神 〜スマホ時代の MMORPG を支える技術Satoshi Yamafuji
 
Shiva 〜Nextremerをscale upする機械学習環境〜
Shiva 〜Nextremerをscale upする機械学習環境〜Shiva 〜Nextremerをscale upする機械学習環境〜
Shiva 〜Nextremerをscale upする機械学習環境〜Kazuki Morozumi
 
2020/06/16 tsjp-azure-staticwebapps-vs_codespaces
2020/06/16 tsjp-azure-staticwebapps-vs_codespaces2020/06/16 tsjp-azure-staticwebapps-vs_codespaces
2020/06/16 tsjp-azure-staticwebapps-vs_codespacesIssei Hiraoka
 
5分で入門するAzure PlayFab
5分で入門するAzure PlayFab5分で入門するAzure PlayFab
5分で入門するAzure PlayFabYutoNishine
 
C# で Single Page Web アプリを 開発できる Blazor ― その魅力
C# で Single Page Web アプリを開発できる Blazor ― その魅力C# で Single Page Web アプリを開発できる Blazor ― その魅力
C# で Single Page Web アプリを 開発できる Blazor ― その魅力Jun-ichi Sakamoto
 
The Internal of Serverless Plugins
The Internal of Serverless PluginsThe Internal of Serverless Plugins
The Internal of Serverless PluginsTerui Masashi
 
WP REST API の活用事例と今後
WP REST API の活用事例と今後WP REST API の活用事例と今後
WP REST API の活用事例と今後Yuusuke Yoshida
 
モバイルゲームにおけるAWSの泥臭い使い方
モバイルゲームにおけるAWSの泥臭い使い方モバイルゲームにおけるAWSの泥臭い使い方
モバイルゲームにおけるAWSの泥臭い使い方Junpei Nakada
 
Hands on PhotoBlog App with WordPress REST API and App Inventor
Hands on PhotoBlog App with WordPress REST API and App InventorHands on PhotoBlog App with WordPress REST API and App Inventor
Hands on PhotoBlog App with WordPress REST API and App InventorHong Chen
 
Micronaut on Azure 試してみた
Micronaut on Azure 試してみたMicronaut on Azure 試してみた
Micronaut on Azure 試してみた拓将 平林
 
Developers Summit 2014 14E-5 Azureでターイムアタック
Developers Summit 2014 14E-5 AzureでターイムアタックDevelopers Summit 2014 14E-5 Azureでターイムアタック
Developers Summit 2014 14E-5 AzureでターイムアタックKazumi Hirose
 
YARAIYA! Opendata with WordPress
YARAIYA!  Opendata with WordPressYARAIYA!  Opendata with WordPress
YARAIYA! Opendata with WordPressHidetaka Okamoto
 
Fluxflex meetup 2011 in Tokyo
Fluxflex meetup 2011 in TokyoFluxflex meetup 2011 in Tokyo
Fluxflex meetup 2011 in TokyoKyosuke Inoue
 
MobingiALM でスポットインスタンスをいい感じに手なづけている裏側の話 / How to manage EC2 Spot Instances
MobingiALM でスポットインスタンスをいい感じに手なづけている裏側の話 / How to manage EC2 Spot InstancesMobingiALM でスポットインスタンスをいい感じに手なづけている裏側の話 / How to manage EC2 Spot Instances
MobingiALM でスポットインスタンスをいい感じに手なづけている裏側の話 / How to manage EC2 Spot InstancesMasafumi Noguchi
 
Github codespaces すごく良い。もうこれで 十分なんじゃという話
Github codespaces すごく良い。もうこれで 十分なんじゃという話Github codespaces すごく良い。もうこれで 十分なんじゃという話
Github codespaces すごく良い。もうこれで 十分なんじゃという話xiidec
 
【Unite Tokyo 2019】Game Server Services ではじめる サーバー開発運用しないゲーム開
【Unite Tokyo 2019】Game Server Services ではじめる サーバー開発運用しないゲーム開【Unite Tokyo 2019】Game Server Services ではじめる サーバー開発運用しないゲーム開
【Unite Tokyo 2019】Game Server Services ではじめる サーバー開発運用しないゲーム開UnityTechnologiesJapan002
 
Game Server Services ではじめる サーバー開発運用しないゲーム開発 /GTMF2019
Game Server Services ではじめる サーバー開発運用しないゲーム開発 /GTMF2019Game Server Services ではじめる サーバー開発運用しないゲーム開発 /GTMF2019
Game Server Services ではじめる サーバー開発運用しないゲーム開発 /GTMF2019Game Tools & Middleware Forum
 

Was ist angesagt? (20)

AWSではじめるお手軽オンラインゲーム開発
AWSではじめるお手軽オンラインゲーム開発AWSではじめるお手軽オンラインゲーム開発
AWSではじめるお手軽オンラインゲーム開発
 
剣と魔法のログレス(PC版)の自慢と課題
剣と魔法のログレス(PC版)の自慢と課題剣と魔法のログレス(PC版)の自慢と課題
剣と魔法のログレス(PC版)の自慢と課題
 
baserCMSのstripe連携プラグインを作った話
baserCMSのstripe連携プラグインを作った話baserCMSのstripe連携プラグインを作った話
baserCMSのstripe連携プラグインを作った話
 
剣と魔法のログレス いにしえの女神 〜スマホ時代の MMORPG を支える技術
剣と魔法のログレス いにしえの女神 〜スマホ時代の MMORPG を支える技術剣と魔法のログレス いにしえの女神 〜スマホ時代の MMORPG を支える技術
剣と魔法のログレス いにしえの女神 〜スマホ時代の MMORPG を支える技術
 
Shiva 〜Nextremerをscale upする機械学習環境〜
Shiva 〜Nextremerをscale upする機械学習環境〜Shiva 〜Nextremerをscale upする機械学習環境〜
Shiva 〜Nextremerをscale upする機械学習環境〜
 
2020/06/16 tsjp-azure-staticwebapps-vs_codespaces
2020/06/16 tsjp-azure-staticwebapps-vs_codespaces2020/06/16 tsjp-azure-staticwebapps-vs_codespaces
2020/06/16 tsjp-azure-staticwebapps-vs_codespaces
 
5分で入門するAzure PlayFab
5分で入門するAzure PlayFab5分で入門するAzure PlayFab
5分で入門するAzure PlayFab
 
C# で Single Page Web アプリを 開発できる Blazor ― その魅力
C# で Single Page Web アプリを開発できる Blazor ― その魅力C# で Single Page Web アプリを開発できる Blazor ― その魅力
C# で Single Page Web アプリを 開発できる Blazor ― その魅力
 
The Internal of Serverless Plugins
The Internal of Serverless PluginsThe Internal of Serverless Plugins
The Internal of Serverless Plugins
 
WP REST API の活用事例と今後
WP REST API の活用事例と今後WP REST API の活用事例と今後
WP REST API の活用事例と今後
 
モバイルゲームにおけるAWSの泥臭い使い方
モバイルゲームにおけるAWSの泥臭い使い方モバイルゲームにおけるAWSの泥臭い使い方
モバイルゲームにおけるAWSの泥臭い使い方
 
Hands on PhotoBlog App with WordPress REST API and App Inventor
Hands on PhotoBlog App with WordPress REST API and App InventorHands on PhotoBlog App with WordPress REST API and App Inventor
Hands on PhotoBlog App with WordPress REST API and App Inventor
 
Micronaut on Azure 試してみた
Micronaut on Azure 試してみたMicronaut on Azure 試してみた
Micronaut on Azure 試してみた
 
Developers Summit 2014 14E-5 Azureでターイムアタック
Developers Summit 2014 14E-5 AzureでターイムアタックDevelopers Summit 2014 14E-5 Azureでターイムアタック
Developers Summit 2014 14E-5 Azureでターイムアタック
 
YARAIYA! Opendata with WordPress
YARAIYA!  Opendata with WordPressYARAIYA!  Opendata with WordPress
YARAIYA! Opendata with WordPress
 
Fluxflex meetup 2011 in Tokyo
Fluxflex meetup 2011 in TokyoFluxflex meetup 2011 in Tokyo
Fluxflex meetup 2011 in Tokyo
 
MobingiALM でスポットインスタンスをいい感じに手なづけている裏側の話 / How to manage EC2 Spot Instances
MobingiALM でスポットインスタンスをいい感じに手なづけている裏側の話 / How to manage EC2 Spot InstancesMobingiALM でスポットインスタンスをいい感じに手なづけている裏側の話 / How to manage EC2 Spot Instances
MobingiALM でスポットインスタンスをいい感じに手なづけている裏側の話 / How to manage EC2 Spot Instances
 
Github codespaces すごく良い。もうこれで 十分なんじゃという話
Github codespaces すごく良い。もうこれで 十分なんじゃという話Github codespaces すごく良い。もうこれで 十分なんじゃという話
Github codespaces すごく良い。もうこれで 十分なんじゃという話
 
【Unite Tokyo 2019】Game Server Services ではじめる サーバー開発運用しないゲーム開
【Unite Tokyo 2019】Game Server Services ではじめる サーバー開発運用しないゲーム開【Unite Tokyo 2019】Game Server Services ではじめる サーバー開発運用しないゲーム開
【Unite Tokyo 2019】Game Server Services ではじめる サーバー開発運用しないゲーム開
 
Game Server Services ではじめる サーバー開発運用しないゲーム開発 /GTMF2019
Game Server Services ではじめる サーバー開発運用しないゲーム開発 /GTMF2019Game Server Services ではじめる サーバー開発運用しないゲーム開発 /GTMF2019
Game Server Services ではじめる サーバー開発運用しないゲーム開発 /GTMF2019
 

Ähnlich wie C# CloudScript Azure Functions との連携

[REV UP] あなたならどう使う?最新Azureレシピ for LINE Platform
[REV UP] あなたならどう使う?最新Azureレシピ for LINE Platform[REV UP] あなたならどう使う?最新Azureレシピ for LINE Platform
[REV UP] あなたならどう使う?最新Azureレシピ for LINE Platform拓将 平林
 
20180616 to takepartflow
20180616 to takepartflow20180616 to takepartflow
20180616 to takepartflowTomoyuki Obi
 
俺とCiとinfrastructure as code(未完)
俺とCiとinfrastructure as code(未完)俺とCiとinfrastructure as code(未完)
俺とCiとinfrastructure as code(未完)Masayuki KaToH
 
Inside mobage platform
Inside mobage platformInside mobage platform
Inside mobage platformToru Yamaguchi
 
201910 azure seminar
201910 azure seminar201910 azure seminar
201910 azure seminarSAKURUG co.
 
LambdaとMobileの美味しいかもしれない関係
LambdaとMobileの美味しいかもしれない関係LambdaとMobileの美味しいかもしれない関係
LambdaとMobileの美味しいかもしれない関係Hiraku Komuro
 
Azure Functionsでサーバーレスアプリケーション構築
Azure Functionsでサーバーレスアプリケーション構築Azure Functionsでサーバーレスアプリケーション構築
Azure Functionsでサーバーレスアプリケーション構築ryosuke matsumura
 
Azure Functionsでサーバーレスアプリケーション構築
Azure Functionsでサーバーレスアプリケーション構築Azure Functionsでサーバーレスアプリケーション構築
Azure Functionsでサーバーレスアプリケーション構築ryosuke matsumura
 
俺とサーバレスアーキテクチャ Aws cognito + aws api gateway 編
俺とサーバレスアーキテクチャ Aws cognito + aws api gateway 編俺とサーバレスアーキテクチャ Aws cognito + aws api gateway 編
俺とサーバレスアーキテクチャ Aws cognito + aws api gateway 編Masayuki KaToH
 
Azure Functions 入門
Azure Functions 入門Azure Functions 入門
Azure Functions 入門jz5 MATSUE
 
TypeScriptでCLIアプリケーション開発
TypeScriptでCLIアプリケーション開発TypeScriptでCLIアプリケーション開発
TypeScriptでCLIアプリケーション開発Shuto Suzuki
 
Azure Function GAした!Visual Studio Tools for Azure Functions もプレビューだ!
Azure Function GAした!Visual Studio Tools for Azure Functions もプレビューだ!Azure Function GAした!Visual Studio Tools for Azure Functions もプレビューだ!
Azure Function GAした!Visual Studio Tools for Azure Functions もプレビューだ!Yasuaki Matsuda
 
GCP でも Serverless!!
GCP でも Serverless!!GCP でも Serverless!!
GCP でも Serverless!!Igarashi Toru
 
GitHub Actions と Azure PaaS でプルリクエストごとに環境を ~ Azure Static Web Apps と Containe...
GitHub Actions と Azure PaaS でプルリクエストごとに環境を ~ Azure Static Web Apps と Containe...GitHub Actions と Azure PaaS でプルリクエストごとに環境を ~ Azure Static Web Apps と Containe...
GitHub Actions と Azure PaaS でプルリクエストごとに環境を ~ Azure Static Web Apps と Containe...Kazumi IWANAGA
 
Azure Websites で作るスケーラブルな PHP アプリケーション
Azure Websites で作るスケーラブルな PHP アプリケーションAzure Websites で作るスケーラブルな PHP アプリケーション
Azure Websites で作るスケーラブルな PHP アプリケーションMasashi Shinbara
 
くまあず平日夜の勉強会#4
くまあず平日夜の勉強会#4くまあず平日夜の勉強会#4
くまあず平日夜の勉強会#4Noriaki Sakata
 

Ähnlich wie C# CloudScript Azure Functions との連携 (20)

[REV UP] あなたならどう使う?最新Azureレシピ for LINE Platform
[REV UP] あなたならどう使う?最新Azureレシピ for LINE Platform[REV UP] あなたならどう使う?最新Azureレシピ for LINE Platform
[REV UP] あなたならどう使う?最新Azureレシピ for LINE Platform
 
俺とHashiCorp
俺とHashiCorp俺とHashiCorp
俺とHashiCorp
 
20180616 to takepartflow
20180616 to takepartflow20180616 to takepartflow
20180616 to takepartflow
 
俺とCiとinfrastructure as code(未完)
俺とCiとinfrastructure as code(未完)俺とCiとinfrastructure as code(未完)
俺とCiとinfrastructure as code(未完)
 
Inside mobage platform
Inside mobage platformInside mobage platform
Inside mobage platform
 
201910 azure seminar
201910 azure seminar201910 azure seminar
201910 azure seminar
 
LambdaとMobileの美味しいかもしれない関係
LambdaとMobileの美味しいかもしれない関係LambdaとMobileの美味しいかもしれない関係
LambdaとMobileの美味しいかもしれない関係
 
Azure Functionsでサーバーレスアプリケーション構築
Azure Functionsでサーバーレスアプリケーション構築Azure Functionsでサーバーレスアプリケーション構築
Azure Functionsでサーバーレスアプリケーション構築
 
[Japan Tech summit 2017] DEP 005
[Japan Tech summit 2017] DEP 005[Japan Tech summit 2017] DEP 005
[Japan Tech summit 2017] DEP 005
 
Azure Functionsでサーバーレスアプリケーション構築
Azure Functionsでサーバーレスアプリケーション構築Azure Functionsでサーバーレスアプリケーション構築
Azure Functionsでサーバーレスアプリケーション構築
 
俺とサーバレスアーキテクチャ Aws cognito + aws api gateway 編
俺とサーバレスアーキテクチャ Aws cognito + aws api gateway 編俺とサーバレスアーキテクチャ Aws cognito + aws api gateway 編
俺とサーバレスアーキテクチャ Aws cognito + aws api gateway 編
 
Azure Functions 入門
Azure Functions 入門Azure Functions 入門
Azure Functions 入門
 
TypeScriptでCLIアプリケーション開発
TypeScriptでCLIアプリケーション開発TypeScriptでCLIアプリケーション開発
TypeScriptでCLIアプリケーション開発
 
Azure Function GAした!Visual Studio Tools for Azure Functions もプレビューだ!
Azure Function GAした!Visual Studio Tools for Azure Functions もプレビューだ!Azure Function GAした!Visual Studio Tools for Azure Functions もプレビューだ!
Azure Function GAした!Visual Studio Tools for Azure Functions もプレビューだ!
 
GCP でも Serverless!!
GCP でも Serverless!!GCP でも Serverless!!
GCP でも Serverless!!
 
GitHub Actions と Azure PaaS でプルリクエストごとに環境を ~ Azure Static Web Apps と Containe...
GitHub Actions と Azure PaaS でプルリクエストごとに環境を ~ Azure Static Web Apps と Containe...GitHub Actions と Azure PaaS でプルリクエストごとに環境を ~ Azure Static Web Apps と Containe...
GitHub Actions と Azure PaaS でプルリクエストごとに環境を ~ Azure Static Web Apps と Containe...
 
Using Windows Azure
Using Windows AzureUsing Windows Azure
Using Windows Azure
 
Azure Websites で作るスケーラブルな PHP アプリケーション
Azure Websites で作るスケーラブルな PHP アプリケーションAzure Websites で作るスケーラブルな PHP アプリケーション
Azure Websites で作るスケーラブルな PHP アプリケーション
 
Azure Fundamental
Azure FundamentalAzure Fundamental
Azure Fundamental
 
くまあず平日夜の勉強会#4
くまあず平日夜の勉強会#4くまあず平日夜の勉強会#4
くまあず平日夜の勉強会#4
 

Kürzlich hochgeladen

Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイスCRI Japan, Inc.
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルCRI Japan, Inc.
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 

Kürzlich hochgeladen (7)

Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 

C# CloudScript Azure Functions との連携

  • 1. C# CloudScript - Azure Functions との連携 - 南 @_y_minami 2020.01.25 PlayFab Meetup in Microsoft #2
  • 2. 自己紹介 • 名前 南(みなみ) • 所属 miraibox Inc. • Twitter @_y_minami • 好き/興味 C# .NET Unity Azure PlayFab MagicOnion 紅茶
  • 4. 本日の内容 • CloudScript とは • Azure Functions とは • C# CloudScript の使い方 • まとめ
  • 6. CloudScript とは • PlayFab の主要な機能の一つ • PlayFab は基本的にはクライアントから API を呼ぶだけで 本来はサーバーが必要なゲームをれる • しかし PlayFab の機能でまかなうことができない場合もある • その場合は PlayFab 内に自分で書いた Script を登録して それを呼び出して処理することができる • FaaS(Function as a Service) のような感覚で使える • 利用料金は PlayFab の料金に含まれる(つまり無料) • 言語は JavaScript のみに対応 • JavaScript のみに対応…😭
  • 8. Azure Functions とは • Azure の主要な機能の一つ • FaaS • 様々な料金プランがあるが無料から利用可能 • 多くの言語に対応 • C# JavaScript F# Java PowerShell Python TypeScript • Visual Studio などでローカルデバッグが可能 • リアルタイムでオンラインのログのモニタリングが可能
  • 9. Azure Functions とは • Azure の主要な機能の一つ • FaaS • 様々な料金プランがあるが無料から利用可能 • 多くの言語に対応 • C# JavaScript F# Java PowerShell Python TypeScript • Visual Studio などでローカルデバッグが可能 • リアルタイムでオンラインのログのモニタリングが可能 Azure Functions は良いことたくさん。 C# CloudScript は PlayFab から Azure Functions を 良い感じに利用可能になるという話。
  • 11. C# CloudScript の使い方 2019 年中に Public Preview になる予定だったので 使ってみた話をするつもりでしたが、 1/24 現在では Private Preview のままなので ドキュメントやデモ動画で学んだ話をします 😭😭😭 今回紹介する内容は今後変更される可能性があります。
  • 12. C# Cloud Script の使い方 • C# で Azure Function のコードを書く • Azure Functions へ Function を Deploy • PlayFab へ Azure Functions の Function を Register • Client or Server or PlayFab(Actions) から Call
  • 13. C# で Azure Function のコードを書く
  • 14. C# で Azure Function のコードを書く
  • 15. C# で Azure Function のコードを書く Azure Functions は 1/23 に v3 がリリースされている。 C# CloudScript では v2 がサポートされているが、 Public Preview になる頃には v3 もサポートされる 可能性も高い。(と思いたい)
  • 16. C# で Azure Function のコードを書く トリガーは Http と Queue をサポート。 今まで通りの CloudScript の使い方をする場合は Http トリガーを使う。 Queue トリガーは大量のデータを一旦キューに積んで 非同期に処理したい場合に使う。(バッチ処理など) PlayFab の Scheduled Task より柔軟なバッチ処理が可能。 (と思われるが詳しいことは今後に期待)
  • 17. C# で Azure Function のコードを書く Authorization level は Anonymous にしておくと どこからでも Function を呼べる。
  • 18. C# で Function を書く
  • 19. C# で Function を書く var context = await FunctionContext<dynamic>.Create(req); var playerId = context.CurrentPlayerId; という書き方でユーザーの情報を取得できるのがポイント。
  • 20. Azure Functions へ Function を Deploy
  • 21. Azure Functions へ Function を Deploy
  • 22. Azure Functions へ Function を Deploy PlayFab とのレイテンシを最小にするために リージョンを East US 2 または East US にすることが 推奨されている。 これは PlayFab 連携をする上では Azure Functions に 限った話ではないので覚えておくとよい。
  • 23. PlayFab へ Azure Functions を Register
  • 24. PlayFab へ Azure Functions を Register
  • 25. Client or Server から Call
  • 26. Client or Server から Call 少し長いがやってることは難しくない。 - EntityKey に自分の情報を詰める - FunctionName に Azure Functions の名前を指定 - FunctionParameter に Azure Functions に渡したいパラメーターを詰める - コールバックで実行したい処理があれば書いておく - PlayFabCloudScriptAPI.ExecuteFunction を呼ぶ
  • 28. PlayFab(Actions)から Call Register した Azure Functions を 簡単に呼び出せるようになっている
  • 29. VS Code なら Azure Functions Extension • C# で書ける • Application Insights を使ったデバッグ
  • 30. VS Code なら Azure Functions Extension
  • 33. PlayFab Explorer もリリースされる予定 GameManager 側の Explorer と だいぶまぎらわしいので注意。
  • 34. 参考資料 • PlayFab CloudScript using Azure Functions(公式ドキュメント) https://docs.microsoft.com/en-us/gaming/playfab/features/automation/cloudscript-af/ • PlayFab + Azure Functions + Visual Studio Code - Crazy Awesome Games! (公式動画) https://www.youtube.com/watch?v=apQbkDn1lNo&feature=youtu.be
  • 37. まとめ • C# CloudScript、とても良さそうなのでリリースされたら是非使いましょう! • Azure Functions の知識が多少必要になるので予習しておくと良いかも。 • 最新情報は PlayFab の Blog と公式ドキュメント(英語)をチェック。 https://blog.playfab.com/blog • https://docs.microsoft.com/en-us/gaming/playfab/features/automation/cloudscript- af/