このトピックでは、Pythonコードの依存関係をインストールする方法、およびFunction Computeでコードをパッケージ化してデプロイする方法について説明します。 このトピックでは、サードパーティの依存関係の絵文字を例として使用します。
準備
テスト用のコードディレクトリを作成し、ディレクトリの名前を指定します。 この例では、
mycode
が使用されています。LinuxとmacOS
mkdir -p /tmp/mycode
コマンドを実行し、ディレクトリを作成します。Windows
フォルダを作成し、
mycode
という名前を付けます。
mycode
ディレクトリで、index.py
ファイルを作成します。ファイルの内容を次のコードで説明します。
from emoji import emojize def handler(event, context): return emojize(":thumbs_up:")
pipを使用した依存関係のインストールとコードのデプロイ
前提条件
Python 3がオンプレミスマシンにインストールされ、pip3に必要な権限が付与されます。
Python関数はfunction Computeコンソールで作成されます。 詳細については、「イベント関数の作成」をご参照ください。
手順
pip3インストールemoji -t .
を実行します。mycode
ディレクトリのコマンドを実行して、現在のディレクトリに絵文字依存ライブラリをインストールします。すべてのファイルをパッケージ化する
mycode
ディレクトリに移動します。LinuxとmacOS
mycode
ディレクトリに移動し、zip code.zip -r ./*
コマンドを実行します。説明ディレクトリの読み取りおよび書き込み権限があることを確認してください。
Windows
mycode
ディレクトリに移動し、すべてのファイルを選択し、ファイルを右クリックして、ファイルを zipファイル。
Function Computeコンソールで、管理する関数を見つけます。 機能の詳細ページの右上隅にある [コードのアップロード] をクリックし、あなたが用意したzipファイル。
Function ComputeはLinux環境で実行されます。 WindowsまたはmacOSデバイスに絵文字依存関係ライブラリをインストールするときにバイナリファイルが含まれている場合、コードパッケージの実行に失敗します。 したがって、WebIDEを使用してサードパーティの依存関係をパッケージ化するまたはServerless Devsを使用して依存関係をインストールし、プロジェクトをデプロイすることを推奨します。
Serverless Devsを使用した依存関係のインストールとプロジェクトのデプロイ
あなたが始める前に
手順
cd /tmp/mycode
コマンドを実行して、mycode
ディレクトリに移動します。s.yaml
ファイルを作成します。次のサンプルコードは、ファイルの例を示しています。
edition: 3.0.0 name: fcDeployApp access: "default" vars: # グローバル変数 region: "cn-hangzhou" resources: hello_world: component: fc3 # コンポーネント名 props: region: ${vars.region} functionName: "emojipy" description: 'this is emoji' runtime: "python3" code: ./ handler: index.handler memorySize: 128 timeout: 30 environmentVariables: PYTHONUSERBASE: /code/python # 環境変数を追加して依頼を獲得します
requirements.txt
ファイルを追加します。次のコードスニペットに基づいてファイルを編集します。
emoji==2.0.0
sudo s build -- use-docker
を実行して依存関係をインストールします。実行が完了すると、依存関係は
. /python
ディレクトリにインストールされます。sudoのデプロイ
を実行してプロジェクトをデプロイします。実行後、関数をFunction Computeにデプロイできます。
詳細情報
Function Computeのレイヤーを使用して依存関係をインストールすることもできます。 パブリックレイヤーを使用するか、依存関係レイヤーをオンラインで構築することを推奨します。 詳細については、以下のトピックをご参照ください。