Function Computeは、ランタイム環境で参照するための組み込みの共通依存関係を提供します。 Function Computeはサードパーティの依存関係もサポートしています。 このトピックでは、関数のサードパーティ依存関係をインストールする方法について説明します。
背景情報
Function Computeの組み込みの共通依存関係の詳細については、以下のトピックを参照してください。
レイヤーを使用して依存関係をインストールする
Function Computeは、直接使用できるいくつかのライブラリ依存関係をリリースしました。 詳細については、「関数の共通レイヤーの設定」をご参照ください。 より一般的なレイヤーを取得する場合は、「awesome-layers」をご参照ください。
公式の共通レイヤーを使用して依存関係をインストールする
公式共通レイヤー
関数の作成後、[設定] タブをクリックします。 [レイヤー] セクションで、[変更] をクリックします。 レイヤー変更パネルで、関数の共通レイヤーの設定」をご参照ください。
を選択します。 詳細については、「非公式共通レイヤー
awesome-layersから目的のレイヤーを見つけ、レイヤーのAlibaba Cloud Resource Name (ARN) を取得します。 [設定] タブをクリックします。 [レイヤー] セクションで、[変更] をクリックします。 レイヤー変更パネルで、 を選択します。
カスタムレイヤーを使用して依存関係をインストールする
Function Computeコンソールを使用したレイヤーの構築
Function Computeコンソールにログインします。 左側のナビゲーションウィンドウで、 を選択します。 詳細については、「カスタムレイヤーの作成」をご参照ください。
説明このメソッドは、Node.jsおよびPythonランタイム環境にのみ適用されます。
このメソッドは、Puppeteer for Node.jsなど、システムの動的リンクライブラリ (.so) を含む依存関係をサポートしません。 依存関係にダイナミックリンクライブラリ (.so) が含まれている場合は、Dockerfileを使用してレイヤーを構築することを推奨します。
オンプレミスマシンでレイヤーを構築する
オンプレミスのマシンでカスタムレイヤーを構築できます。 詳細については、「レイヤーのZIPパッケージの作成」をご参照ください。 この方法を使用するには、オンプレミスマシンのオペレーティングシステムとプロセッサアーキテクチャがFunction Computeランタイム環境のものと同じであることを確認します。 オンプレミスのマシンはLinux x86-64を実行する必要があります。そうしないと、インストールするライブラリの依存関係が基盤となる環境やプロセッサアーキテクチャに依存しません。 それ以外の場合は、Function ComputeコンソールまたはDockerfileを使用してレイヤーを構築することを推奨します。
たとえば、Pythonのnumpyライブラリは、基盤となる環境に依存します。 オンプレミスマシンがM1チップを搭載したMacシステムを実行している場合、オンプレミスマシンに依存関係をインストールすることはできません。
Dockerfileを使用してレイヤーを構築する
依存関係に基になるダイナミックリンクライブラリが含まれている場合、またはオンプレミスマシンにインストールできない場合は、Dockerfileを使用して依存関係をインストールできます。 詳細については、「Dockerfileを使用したレイヤーの構築」をご参照ください。
Function Computeコンソールを使用して依存関係をインストールする
依存関係をパッケージ化し、依存関係をコンソールにアップロードする
サードパーティの依存関係とコードファイルをパッケージに圧縮します。
重要コードディレクトリ内のすべてのファイルをパッケージに圧縮する必要があります。 ハンドラ関数のファイルは、パッケージのルートディレクトリにある必要があります。
パッケージング方法は、オペレーティングシステムによって異なります。 ビジネス要件に基づいてパッケージング方法を選択します。
Function Computeコンソールにログインし、[ZIPのアップロード] 、[フォルダのアップロード] 、または [OSS] をクリックしてコードパッケージをアップロードし、関数をデプロイします。
コンソールでWeb IDEを使用して依存関係をインストールする
Function Computeコンソールにログインし、目的の関数を見つけます。
関数の詳細ページで、[コード] タブをクリックします。 Web IDEインターフェイスで、
を選択します。 表示されるターミナルで、コマンドを実行して依存関係をインストールします。次のサンプルコードは、Pythonに依存関係をインストールする方法を示しています。 詳細については、「コードパッケージのデプロイ」をご参照ください。
pip install -t . <PackageName> # PackageName indicates the name of the dependency package.
次の図に示すように、Web IDEのディレクトリ構造を表示します。
Serverless Devsを使用した依存関係のインストール
function Computeが提供するServerless Devsを使用して関数を作成およびデプロイします。 詳細については、「Serverless Devsコマンド」をご参照ください。