Azure Container Apps Dynamic Sessions で安全にコードを実行する

396 Views

November 29, 24

スライド概要

2024/11/29 dotnet newでのLT資料です

profile-image

SIer所属のインフラ屋さんです

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

Azure Container Apps Dynamic Sessions で 安全にコードを実行する 2024/11/29 dotnet new Shunsuke Yoshikawa

2.

Shunsuke Yoshikawa X: @ussvgr Technical Evangelist @ AP Communications Organizer @ Platform Engineering Meetup Microsoft MVP (Microsoft Azure) 2023/06~ Kubestronaut 2024/07~

3.

What is Dynamic Sessions? Azure Container Apps に構築された環境内で、コードを安全に実行する仕組み。 Microsoft Build 2024 でプレビュー公開、Microsoft Ignite 2024 で GA。 対応している言語は以下の3種。 ● ● ● Python (GA) Javascript (パブリックプレビュー) カスタムコンテナー (GA)

4.

プレイグラウンド

5.
[beta]
REST APIでの利用
以下のようなJSONを…
{

}

"properties": {
"codeInputType": "inline",
"executionType": "synchronous",
"code": "print('Hello, world!')"
}

6.

REST APIでの利用 POSTで投げると… curl -X POST -H "Content-Type: application/json" \ -H "Authorization: Bearer $BEARER_TOKEN" \ --data @./body.json $ENDPOINT

7.

REST APIでの利用 実行結果が返ってくる { } "$id": "1", "properties": { "$id": "2", "status": "Success", "stdout": "Hello, world!\n", "stderr": "", "result": "", "executionTimeInMilliseconds": 8 }

8.

想定されるユースケース プログラミング学習の実行環境として 講師 受講者 ①お題を出題 ②コードを実装し提出 ③実行し結果を確認 Dynamic Sessions

9.

想定されるユースケース 生成AIが提示したコードの実行環境として(LangChainやSemantic Kernelにも対応) 講師 Azure OpenAI Service ①お題を出題 ②コードを提示 ③実行し結果を確認 Dynamic Sessions

10.

ところで … 【再掲】 対応している言語は以下の3種。 ● ● ● Python (GA) Javascript (パブリックプレビュー) カスタムコンテナー (GA)

11.

実行用コンテナーを作れば色んな言語に対応可能 引用元: Azure Container Apps のカスタム コンテナー セッション | Microsoft Learn > Azure Container Apps 動的セッションで提供される > 組み込みのコード インタープリターに加えて、 > カスタム コンテナーを使って独自のセッションサンドボックスを > 定義することもできます。 でも、肝心のコンテナーの作り方があんまり書かれてない…

12.

サンプルリポジトリがあります https://github.com/Azure-Samples/container-apps-dynamic-sessions-samples の code-interpreter/bring-your-own-code-interpreter/samples の階層あたりにもろもろ置かれてます

13.

サンプルリポジトリがあります

14.

サンプルリポジトリがあります Jupyter Notebook向けのC# KernelのWindowsバイナリをMonoで動かしてるっぽい { } "argv": [ "mono", "/home/ubuntu/icsharp/Kernel/bin/Release/iCSharp.Kernel.exe", "{connection_file}" ], "display_name": "C#", "language": "csharp"

15.

続きは君たちの目で確かめてくれ!