Function Computeのアップデートについて

以前、Function Computeについて調べていました。
[FunctionComputeで.NET Coreが使える話 (1)](https://qiita.com/cube8080/items/ceb7147d5cd43702b194)
[FunctionComputeで.NET Coreが使える話 (2)](https://qiita.com/cube8080/items/ce27de96138b1aecad6b)

約3年間の間に、どの様なアップデートがあったのかみていきたいと思います。

# RAM Role Template
Function Computeの利用開始時に、DefaultのRAM Role Templateを作成する画面が表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254932/c45aa21a-c255-70fb-756c-ad90efb81b8e.png)

このRAM RoleはFunction Computeが他のAlibaba Cloudのサービスにアクセスする際に必要な承認を簡素化するために、アクセス許可を割り当てます。
詳細については、[こちら](https://www.alibabacloud.com/help/en/function-compute/latest/grant-function-compute-permissions-to-access-other-alibaba-cloud-services)をご確認ください。

# ランタイム環境
3年前の時の使用可能言語については、[こちら](https://qiita.com/cube8080/items/ceb7147d5cd43702b194#%E4%BB%96%E7%A4%BE%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E3%81%A8%E3%81%AE%E4%BD%BF%E7%94%A8%E8%A8%80%E8%AA%9E%E6%AF%94%E8%BC%83)。

現在、ランタイム環境が準備されている言語は[こちら](https://www.alibabacloud.com/help/en/function-compute/latest/programming-languages-overview)。
利用できる言語の幅が大幅に増えました。
Rust、C++、Lua、Dart、Ruby、Go、PowerShell、TypeScriptが新しく対応されています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254932/82aeec54-28b2-593f-a834-ab2f829fadbe.png)

## .NET Coreのバージョン
前回調べたとき、ランタイムでサポートされている.NET Coreのバージョンは2.1でした。
3年経っても、バージョンに変更が入っていない状況です。
[.NET Coreランタイム環境](https://www.alibabacloud.com/help/en/function-compute/latest/dotnet-core-runtime-environment)
.NET Core 2.1自体は、2021年8月21日にサポートが終了しています。
[.NETおよび.NET Core サポートポリシー](https://dotnet.microsoft.com/ja-jp/platform/support/policy/dotnet-core)

## プログラム言語の各対応バージョン
新しく対応された言語は、[**カスタムランタイム**](https://www.alibabacloud.com/help/en/function-compute/latest/custom-runtime)として利用できるようです。

| 言語名 | バージョン |
|:-----:|:---------:|
|Node.js|8.xから16.x|
|Pyhton|3.6と3.9|
|Java|8と11|
|PHP|7.2|
|.NET Core|2.1|
|Go|1.x(1.8以降推奨)|
|C++|カスタムランタイム|
|Ruby|カスタムランタイム|
|Rust|カスタムランタイム|
|Lua|カスタムランタイム|
|Dart|カスタムランタイム|
|PowerShell|カスタムランタイム|
|TypeScript|カスタムランタイム|

Node.js16と.NET Core 3.1はパブリックプレビュー版として選択可能です。(2022/11/24現在)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254932/73e729fa-9531-1b4a-846c-1eab0706da9d.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254932/ad60c96b-fad0-f4ef-49b5-b59feb37db7f.png)

## カスタムコンテナー
ランタイム環境としてカスタムコンテナーが利用できるようになっています。
[カスタムコンテナー概要](https://www.alibabacloud.com/help/en/function-compute/latest/custom-container-overview?spm=a2c63.p38356.0.0.76971c4cdCeMsc#concept-2559678)
カスタムコンテナーは改めてピックアップする予定です。

# コードのアップロード方法
以前は、zipファイルかOSSの2択でしたが現在は選択肢が増えています。
「サンプルコードの使用」も増えて、最初の掴みとして利用のイメージがしやすくなったと思います。
これからの進化に期待したいですね。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254932/c4cdce30-2662-be8c-bcad-86ad49ed70ff.png)

# 環境変数
環境変数の入力方法がJSONエディターとフォームエディターの2タイプ用意されています。
分かりやすいので便利な機能かと思います。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254932/dc8d5681-5497-ce1c-51a7-1cd25a42f3e5.png)

# Web IDEについて
Web IDEで編集できると便利なのですが、現状少し制限や環境が異なる状態のため注意が必要です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254932/d4758832-cef6-30a4-13b3-0cff861241ef.png)

# 関数の詳細
情報が整理されており、タブを切り替えることで該当関数についての情報をサッと確認することができるようになっています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254932/1f075634-4ac5-b74a-44cb-d1b697844031.png)


## 関数のテスト
今回はサンプルコードで関数を作成しました。
テスト関数 > 関数のテスト　を実行すると実行結果が表示されます。
![関数テスト.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/254932/26126cd4-0d48-ca0d-f4f5-7fa1bd304d66.png)

# まとめ
機能が大幅に充実しているので、以前よりは利用しやすくなっていると思いました。
アップロード含めたコードの取り扱い方について、これから使いやすくなって欲しいです。
カスタムコンテナーが面白そうなので、改めて試してみたいと考えています。