Function Computeは、一般的に使用されるパブリックレイヤを提供します。 独自のレイヤーを設定することなく、関数にパブリックレイヤーを使用できます。 このトピックでは、関数のパブリックレイヤーを設定する方法について説明します。
Function Computeでサポートされているパブリックレイヤ
このセクションでは、Function Computeでサポートされているパブリックレイヤーを一覧表示します。 使用したいレイヤーが見つからない場合は、お問い合わせください。
次のセクションでは、一部のパブリックレイヤのみを示します。 Function Computeがサポートするパブリックレイヤーの詳細については、「パブリックレイヤー」をご参照ください。
カスタムランタイム
Python 3.10やNode.js 17などのカスタムランタイムのレイヤーが含まれています。 表には、いくつかの依存関係ライブラリのコレクションも含まれています。 たとえば、パブリック層のPython310-Packageコレクション
には、一般的に使用されるPython依存関係ライブラリが含まれます。
パブリックレイヤー | 互換性のあるランタイム | 説明 | 関連ドキュメント |
PHP81-Debian10 | カスタム。Debian10 | PHP 8.1 Debian 10ランタイム層 | |
PHP80-Debian10 | カスタム。Debian10 | PHP 8.0 Debian 10ランタイム層 | |
Nginx | カスタム。Debian10 | Nginx 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 |
| ASP.NET 6.0.5ランタイム層 | |
PHP72 | Custom | PHP 7.2ランタイムレイヤー | |
Java8 | カスタム。Debian10 | Java 8ランタイムレイヤー | |
Java11 |
| Java 11ランタイムレイヤー | |
Java17 |
| Java 17ランタイムレイヤー | |
Java21 | カスタム。Debian10 | Java 21ランタイムレイヤー | |
Nodejs20 | カスタム。Debian10 | Node.js 20ランタイム層 | |
Nodejs18 | カスタム。Debian10 | Node.js 18ランタイム層 | |
Nodejs17 | Custom | Node.js 17ランタイム層 | |
Nodejs16 |
| Node.js 16ランタイム層 | |
Nodejs14 | Custom | Node.js 14ランタイム層 | |
Nodejs12 | Custom | Node.js 12ランタイム層 | |
Go1 | カスタム。Debian10 | Go 1ランタイムレイヤー | |
Go118 | Custom | Go 1.xランタイムレイヤー |
共通依存関係ライブラリ
パブリックレイヤー | 互換性のあるランタイム | 説明 | コアライブラリのバージョン | 関連ドキュメント |
Python310-OSS2 |
| oss2: Alibaba Cloud Object Storage Service (OSS) SDK for Python | - | |
Python39-OSS2 |
| oss2: Python用OSS SDK | - | |
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 | カスタム。Debian10 | ヘッドレスChromeツール | puppeteer-v19.8.5 | |
Python38-Playwright | カスタム。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 |
| Alibaba Cloudの一般的なSDK (Node.js 20、Node.js 18、Node.js 16、およびNode.js 14) |
Function Computeコンソールでのパブリックレイヤーの設定
あなたが始める前に
手順
Function Computeコンソールにログインします。 左側のナビゲーションウィンドウで、[サービスと機能] をクリックします。
上部のナビゲーションバーで、リージョンを選択します。 [サービス] ページで、目的のサービスをクリックします。
[関数] ページで目的の関数を見つけ、[操作] 列の [設定] をクリックします。
では、レイヤーセクション、をクリック+ レイヤーを追加を選択し、パブリックレイヤーの追加ドロップダウンリストから
[パブリックレイヤー] ドロップダウンリストで、レイヤーに関する説明とライセンス情報を表示し、パブリックレイヤーを選択します。 [レイヤーバージョン] ドロップダウンリストで、レイヤーバージョンを選択し、[デプロイ] をクリックします。
関数は、カスタムレイヤーと公式パブリックレイヤーを含む最大5つのレイヤーで構成できます。
関数に対して複数のレイヤーが設定されている場合、これらのレイヤーのコンテンツはマージされ、/optディレクトリに逆の順序で格納されます。 レイヤーに同じ名前のファイルが含まれている場合、最初に構成されたレイヤーのファイルは、後で構成されたレイヤーの同じ名前のファイルを上書きします。
Serverless Devsを使用してパブリックレイヤを構成する
あなたが始める前に
手順
次のコマンドを実行して、指定したリージョンのカスタムレイヤーを一覧表示します。
s cli fc layer list --official --region cn-hangzhou
返されるカスタムレイヤーリストで、目的のレイヤーの新しいARN (
arnV2
) を取得して記録します。 次のサンプルコードに例を示します。- layerName: Aliyun-DataX arn: arnV2: acs:fc:cn-hangzhou:official:layers/Aliyun-DataX/versions/1 version: 1 acl: 1 description: Aliyun DataX for python (datax_v202205) compatibleRuntime: - custom - python2.7 - python3 - python3.9 - layerName: Python36-SciPy1x arn: arnV2: acs:fc:cn-hangzhou:official:layers/Python36-SciPy1x/versions/1 version: 1 acl: 1 description: SciPy Layer for python36(scipy-1.5.4,numpy-1.19.5) compatibleRuntime: - custom - python3
次の項目は、サンプルコードのコードスニペットを示しています。
layerName: レイヤーの名前。
version: レイヤーのバージョン。
arn: レイヤーの元のARN。 元のARNはカスタムレイヤーでのみ使用できます。
arnV2: レイヤーの新しいARN。 新しいARNは、カスタムレイヤーと公式パブリックレイヤーで使用できます。
acl: レイヤーの権限。 数字0はレイヤーがプライベートであることを指定し、数字1はレイヤーがパブリックであることを指定します。 デフォルトでは、公式パブリックレイヤはpublicです。 カスタムレイヤーは、プライベートまたはパブリックに設定できます。
description: レイヤーの説明。
compatibleRuntime: 互換性のあるランタイム環境のリストを指定します。
作成します。Create thes.yamlファイルを任意のディレクトリに保存し、取得したレイヤーの新しいARNを入力します。
例:
edition: 1.0.0 # The YAML version, which complies with semantic versioning specification. name: fcDeployApp # The name of the project. access: "default" # The alias of the key. services: fc-deploy-test: # The name of the service. component: fc # The name of the component. props: # The attribute value of the component. region: cn-hangzhou service: name: fctest description: 'test' internetAccess: true function: name: emoji # The name of the function. description: this is a layer demo runtime: python3.9 codeUri: ./ handler: index.handler memorySize: 128 timeout: 6 layers: # The layers bound to the function. The values are layer ARNs. - acs:fc:cn-hangzhou:official:layers/Aliyun-DataX/versions/1 - acs:fc:cn-hangzhou:official:layers/Python39-SciPy1x/versions/1
s.yamlファイルが格納されているディレクトリで次のコマンドを実行して、関数をデプロイし、関数のレイヤーを構成します。
s deploy
関連ドキュメント
API操作とSDKを使用して、レイヤーを管理および構成することもできます。 詳細については、「CreateFunction」および「UpdateFunction」をご参照ください。
関数のレイヤーを設定するときにエラー「xxx is not supported by layer」が報告された場合は、を参照して問題を修正します。関数のレイヤーを設定するときに「xxx is not supported by layer」が報告された場合はどうすればよいですか?