Function Computeは、一般的に使用されるパブリックレイヤを提供します。 独自のレイヤーを設定することなく、関数にパブリックレイヤーを使用できます。 このトピックでは、関数のパブリックレイヤーを設定する方法について説明します。
Function Computeの共通レイヤー
Function Computeは、さまざまなタイプのパブリックレイヤーをサポートしています。 このセクションでは、Function Computeでサポートされている一般的に使用されるパブリックレイヤを示します。 Function Computeで提供されるすべてのパブリックレイヤーの詳細については、「パブリックレイヤー」をご参照ください。
カスタムランタイム
このセクションの表では、Python 3.10やNode.js 17など、特定のカスタムランタイムと互換性のあるレイヤーを一覧表示します。 表には、特定の依存関係ライブラリが含まれています。 たとえば、共通層のPython310-Packageコレクション
には、特定の共通Python依存関係ライブラリが含まれます。
パブリックレイヤー | 互換性のあるランタイム | 説明 | 関連ドキュメント |
PHP81-Debian10 | Custom.Debian10 | PHP 8.1 Debian 10ランタイム層 | |
Nginx | Custom.Debian10 | Nginx Debian 10ランタイム層 | |
PHP80-Debian10 | Custom.Debian10 | PHP 8.0 Debian 10ランタイム層 | |
Python310 |
| Python 3.10.5ランタイムレイヤー | |
Python310-Package-Collection |
| Python 3.10ランタイムの共通依存関係ライブラリのコレクション | |
Python39 |
| Python 3.9.13ランタイムレイヤー | |
Python39-Package-Collection |
| Python 3.9ランタイムの共通依存関係ライブラリのコレクション | |
Python38 |
| Python 3.8.13ランタイム層 | |
Python38-Package-Collection |
| Python 3.8.13ランタイムの共通依存関係ライブラリのコレクション | |
Python36 | Custom | Python 3.6.15ランタイム層 | |
Python36-Package-Collection | Custom | Python 3.6.15ランタイムの共通依存関係ライブラリのコレクション | |
Dotnet6 | Custom | ASP.NET 6.0.5ランタイム層 | |
PHP81 | Custom | PHP 8.1ランタイムレイヤー | |
PHP80 | Custom | PHP 8.0ランタイムレイヤー | |
PHP72 | Custom | PHP 7.2ランタイムレイヤー | |
Java8 | Custom.Debian10 | Java 8ランタイムレイヤー | |
Java11 | Custom | Java 11ランタイムレイヤー | |
Java17 | Custom | Java 17ランタイムレイヤー | |
Nodejs20 | Custom.Debian10 | Node.js 20ランタイム層 | |
Nodejs18 | Custom.Debian10 | Node.js 18ランタイム層 | |
Nodejs17 | Custom | Node.js 17ランタイム層 | |
Nodejs16 |
| Node.js 16ランタイム層 | |
Nodejs14 | Custom | Node.js 14ランタイム層 | |
Nodejs12 | Custom | Node.js 12ランタイム層 | |
Go118 | Custom | Go 1.xランタイムレイヤー |
共通依存関係ライブラリ
パブリックレイヤー | 互換性のあるランタイム | 説明 | コアライブラリのバージョン | 関連ドキュメント |
Python310-TensorFlow2x |
| オープンソースの機械学習フレームワーク (CPUエディション) | tensorflow==2.15.0.post1 | |
Python3x-PyMongo4x |
| オープンソースの科学計算ライブラリ | PyMongo==4.6.1 | |
Python3x-Pandas2x |
| NumPyに基づくオープンソースのデータ分析および処理ツール |
| |
Python310-PyTorch2x |
| オープンソースの機械学習フレームワーク (CPUエディション) |
| |
Python39-Pandas1x |
| NumPyに基づくオープンソースのデータ分析および処理ツール |
| |
Python39-SciPy1x |
| オープンソースの科学計算ライブラリ |
| |
Python36-SciPy1x |
| オープンソースの科学計算ライブラリ |
| |
Python39-PyTorch1x |
| オープンソースの機械学習フレームワーク (CPUエディション) |
| |
Python36-PyTorch1x |
| オープンソースの機械学習フレームワーク (CPUエディション) |
| |
Python3-Flask2x |
| Pythonベースの軽量webフレームワーク | v2.2.2 | |
Nodejs-Puppeteer17x |
| ヘッドレスChromeツール | puppeteer-v17.1.0 | |
Nodejs-Puppeteer10x |
| ヘッドレスChromeツール | puppeteer-v10.2.0 | |
Python310-Opencv4x |
| コンピュータビジョンのクロスプラットフォームライブラリ | v4.7.0.68 | |
SQLite3 |
| 軽量でプロセス内のリレーショナルデータベース | 3.41.1 | |
FFmpeg6x |
| オーディオとビデオの記録、オーディオとビデオの形式の変換、オーディオとビデオのファイルのストリーミングに使用される一連のプログラムで構成されるオープンソースのソフトウェアプロジェクト | 6.0 | |
Nodejs-Puppeteer19x | Custom.Debian10 | ヘッドレスChromeツール | puppeteer-v19.8.5 | |
Python38-Playwright | Custom.Debian10 | puppeteer-v19.8.5 | 1.31.1 | |
Poppler22x-Pdf2image | Python 3.10 | PDFドキュメントをレンダリングするためのライブラリ | 22.12.0 | |
ServerlessDevs |
| 開発者向けの堅牢なツールセットを提供するオープンソースのサーバーレスプラットフォーム | 2.1.14 |
Webフレームワーク
パブリックレイヤー | 互換性のあるランタイム | コアライブラリのバージョン | 関連ドキュメント |
Python3-Flask2x |
| フラスコ-2.2.2 |
Alibaba Cloud SDK
パブリックレイヤー | 互換性のあるランタイム | 説明 | 関連ドキュメント |
Python310-Aliyun-SDK |
| Python 3.10用の共通Alibaba Cloud SDK | |
Aliyun-DataX |
| Alibaba Cloud DataWorks Data Integrationのオープンソース版 | |
Python39-Aliyun-SDK |
| Python 3.9用の共通Alibaba Cloud SDK | |
Python36-Aliyun-SDK |
| Python 3.6用の共通Alibaba Cloud SDK | |
Nodejs-Aliyun-SDK |
| Node.js 20、Node.js 18、Node.js 16、Node.js 14、およびNode.js 12の共通Alibaba Cloud SDK |
Function Computeコンソールでの共通レイヤーの設定
あなたが始める前に
手順
Function Computeコンソールにログインします。 左側のナビゲーションウィンドウで、[関数] をクリックします。
上部のナビゲーションバーで、リージョンを選択します。 [関数] ページで、管理する関数をクリックします。
機能の詳細ページで、[設定] タブをクリックします。
左側のナビゲーションツリーで、[レイヤー] をクリックします。 [変更] をクリックします。 レイヤーパネルで、 を選択します。 次に、[公式共通レイヤー] ドロップダウンリストからレイヤーを選択し、[レイヤーバージョン] ドロップダウンリストからそのバージョンを選択して、[デプロイ] をクリックします。
関数は、カスタムレイヤーとパブリックレイヤーを含む最大5つのレイヤーで構成できます。
関数に対して複数のレイヤーが設定されている場合、これらのレイヤーのコンテンツは逆の順序で /optディレクトリにマージされます。 レイヤーに同じ名前のファイルが含まれている場合、最初に構成されたレイヤーのファイルは、後で構成されたレイヤーの同じ名前のファイルを上書きします。
Serverless Devsを使用してパブリックレイヤーを構成する
あなたが始める前に
サーバーレスDevsが設定されています。 詳細については、「Serverless Devsの設定」をご参照ください。
手順
次のコマンドを実行して、指定したリージョンのカスタムレイヤーを見つけます。
s cli fc layer list --official --region cn-hangzhou
返されるカスタムレイヤーリストで、目的のレイヤーのarnの値を取得して記録します。
- layerName: Python39-Aliyun-SDK arn: acs:fc:cn-hangzhou:official:layers/Python39-Aliyun-SDK/versions/3 version: 3 acl: 1 description: Python3.9 Aliyun SDK layer. compatibleRuntime: - custom - python3.9 - custom.debian10 - layerName: Python39-Package-Collection arn: acs:fc:cn-hangzhou:official:layers/Python39-Package-Collection/versions/3 version: 3 acl: 1 description: Python3.9 package collection layer. compatibleRuntime: - custom - custom.debian10
説明:
layerName: レイヤーの名前。
version: レイヤーのバージョン。
arn: レイヤーのARN。
acl: レイヤーの権限。 数字0はレイヤーがプライベートであることを指定し、数字1はレイヤーがパブリックであることを指定します。 デフォルトでは、パブリックレイヤはpublicです。 カスタムレイヤーは、プライベートまたはパブリックに設定できます。
description: レイヤーの説明。
compatibleRuntime: 互換性のあるランタイムのリスト。
ターゲットディレクトリで、s.yamlファイルを入力し、取得したレイヤーarn情報を入力します。
例:
edition: 3.0.0 name: hello-world-app access: "default" vars: # The global variable. region: "cn-hangzhou" resources: hello_world: component: fc3 # The component name actions: # The custom execution logic. For more information about actions, visit https://docs.serverless-devs.com/serverless-devs/yaml#%E8%A1%8C%E4%B8%BA%E6%8F%8F%E8%BF%B0actions. props: region: ${vars.region} # For information about how to use variables, visit: https://docs.serverless-devs.com/serverless-devs/yaml#%E5%8F%98%E9%87%8F%E8%B5%8B%E5%80%BC. functionName: "emoji" description: 'this is a layer demo' runtime: "python3.9" code: ./code handler: index.handler memorySize: 512 timeout: 60 internetAccess: true layers: # The layers bound to the function. The values are the ARNs of the layers. - acs:fc:cn-hangzhou:official:layers/Python39-Aliyun-SDK/versions/3
ターゲットディレクトリに
コード
階層を作成し、コード
で関数コードを準備します。ターゲットディレクトリで次のコマンドを実行して、関数をデプロイし、関数のレイヤーを設定します。
s deploy
詳細情報
API操作またはSDKを使用して、レイヤーを管理および構成することもできます。 次のAPIを呼び出してレイヤーを設定できます。
OpenAPI Explorerを使用してAPI操作を呼び出し、SDKを使用できます。