SlideShare a Scribd company logo
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/
ご清聴ありがとうございました

More Related Content

What's hot

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_codespaces
Issei Hiraoka
 
5分で入門するAzure PlayFab
5分で入門するAzure PlayFab5分で入門するAzure PlayFab
5分で入門するAzure PlayFab
YutoNishine
 
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 Plugins
Terui 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 Inventor
Hong 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 WordPress
Hidetaka 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 Instances
Masafumi 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 ではじめる サーバー開発運用しないゲーム開発 /GTMF2019
Game Tools & Middleware Forum
 

What's hot (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
 

Similar to 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
拓将 平林
 
俺とHashiCorp
俺とHashiCorp俺とHashiCorp
俺とHashiCorp
Toru Makabe
 
20180616 to takepartflow
20180616 to takepartflow20180616 to takepartflow
20180616 to takepartflow
Tomoyuki 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 platform
Toru Yamaguchi
 
201910 azure seminar
201910 azure seminar201910 azure seminar
201910 azure seminar
SAKURUG co.
 
LambdaとMobileの美味しいかもしれない関係
LambdaとMobileの美味しいかもしれない関係LambdaとMobileの美味しいかもしれない関係
LambdaとMobileの美味しいかもしれない関係
Hiraku Komuro
 
Azure Functionsでサーバーレスアプリケーション構築
Azure Functionsでサーバーレスアプリケーション構築Azure Functionsでサーバーレスアプリケーション構築
Azure Functionsでサーバーレスアプリケーション構築
ryosuke matsumura
 
[Japan Tech summit 2017] DEP 005
[Japan Tech summit 2017] DEP 005[Japan Tech summit 2017] DEP 005
[Japan Tech summit 2017] DEP 005
Microsoft Tech Summit 2017
 
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
 
Using Windows Azure
Using Windows AzureUsing Windows Azure
Using Windows Azure
Shinji Tanaka
 
Azure Websites で作るスケーラブルな PHP アプリケーション
Azure Websites で作るスケーラブルな PHP アプリケーションAzure Websites で作るスケーラブルな PHP アプリケーション
Azure Websites で作るスケーラブルな PHP アプリケーション
Masashi Shinbara
 
Azure Fundamental
Azure FundamentalAzure Fundamental
Azure Fundamental
Yui Ashikaga
 
くまあず平日夜の勉強会#4
くまあず平日夜の勉強会#4くまあず平日夜の勉強会#4
くまあず平日夜の勉強会#4
Noriaki Sakata
 

Similar to 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
 

Recently uploaded

FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance
 
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
atsushi061452
 
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
yassun7010
 
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance
 
【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
Sony - Neural Network Libraries
 
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance
 
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
atsushi061452
 
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
CRI Japan, Inc.
 
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
Fukuoka Institute of Technology
 
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance
 
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
harmonylab
 
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
iPride Co., Ltd.
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
Matsushita Laboratory
 
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
NTT DATA Technology & Innovation
 

Recently uploaded (15)

FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
 
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
 
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
 
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
 
【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
 
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
 
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
 
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
 
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
 
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
 
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
 
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
 
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
 

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/