475 Views
November 29, 24
スライド概要
2024/11/29 dotnet newでのLT資料です
Azure Container Apps Dynamic Sessions で 安全にコードを実行する 2024/11/29 dotnet new Shunsuke Yoshikawa
Shunsuke Yoshikawa X: @ussvgr Technical Evangelist @ AP Communications Organizer @ Platform Engineering Meetup Microsoft MVP (Microsoft Azure) 2023/06~ Kubestronaut 2024/07~
What is Dynamic Sessions? Azure Container Apps に構築された環境内で、コードを安全に実行する仕組み。 Microsoft Build 2024 でプレビュー公開、Microsoft Ignite 2024 で GA。 対応している言語は以下の3種。 ● ● ● Python (GA) Javascript (パブリックプレビュー) カスタムコンテナー (GA)
プレイグラウンド
REST APIでの利用
以下のようなJSONを…
{
}
"properties": {
"codeInputType": "inline",
"executionType": "synchronous",
"code": "print('Hello, world!')"
}
REST APIでの利用 POSTで投げると… curl -X POST -H "Content-Type: application/json" \ -H "Authorization: Bearer $BEARER_TOKEN" \ --data @./body.json $ENDPOINT
REST APIでの利用 実行結果が返ってくる { } "$id": "1", "properties": { "$id": "2", "status": "Success", "stdout": "Hello, world!\n", "stderr": "", "result": "", "executionTimeInMilliseconds": 8 }
想定されるユースケース プログラミング学習の実行環境として 講師 受講者 ①お題を出題 ②コードを実装し提出 ③実行し結果を確認 Dynamic Sessions
想定されるユースケース 生成AIが提示したコードの実行環境として(LangChainやSemantic Kernelにも対応) 講師 Azure OpenAI Service ①お題を出題 ②コードを提示 ③実行し結果を確認 Dynamic Sessions
ところで … 【再掲】 対応している言語は以下の3種。 ● ● ● Python (GA) Javascript (パブリックプレビュー) カスタムコンテナー (GA)
実行用コンテナーを作れば色んな言語に対応可能 引用元: Azure Container Apps のカスタム コンテナー セッション | Microsoft Learn > Azure Container Apps 動的セッションで提供される > 組み込みのコード インタープリターに加えて、 > カスタム コンテナーを使って独自のセッションサンドボックスを > 定義することもできます。 でも、肝心のコンテナーの作り方があんまり書かれてない…
サンプルリポジトリがあります https://github.com/Azure-Samples/container-apps-dynamic-sessions-samples の code-interpreter/bring-your-own-code-interpreter/samples の階層あたりにもろもろ置かれてます
サンプルリポジトリがあります
サンプルリポジトリがあります Jupyter Notebook向けのC# KernelのWindowsバイナリをMonoで動かしてるっぽい { } "argv": [ "mono", "/home/ubuntu/icsharp/Kernel/bin/Release/iCSharp.Kernel.exe", "{connection_file}" ], "display_name": "C#", "language": "csharp"
続きは君たちの目で確かめてくれ!