このトピックでは、サードパーティの依存関係であるNette\Utilsを例として使用して、PHPコードの依存関係をインストールし、コードをパッケージ化してFunction Computeにデプロイする方法を説明します。
準備
テスト用のコードディレクトリを作成し、ディレクトリの名前を指定します。 この例では、
mycode
が使用されています。LinuxとmacOS
mkdir -p /tmp/mycode
コマンドを実行し、ディレクトリを作成します。Windows
フォルダを作成し、
mycode
という名前を付けます。
mycode
ディレクトリで、index.php
ファイルを作成します。ファイルの内容を次のコードで説明します。
<?php require_once __DIR__ . '/vendor/autoload.php'; use Nette\Utils\Arrays; function handler($event, $context) { return Arrays::contains([1, 2, 3], 1); }
Composerを使用して依存関係をインストールし、コードパッケージをデプロイする
前提条件
PHPとComposerがマシンにインストールされ、Composerコマンドを実行する権限があります。 Composerの詳細については、「Composer」をご参照ください。
オプションです。 PHP関数はfunction Computeコンソールで作成されます。 詳細については、「イベント関数の作成」をご参照ください。
手順
mycode
ディレクトリにcomposer.jsonファイルを作成します。サンプルコード:
{ "require": { "nette/utils": "v3.2.5" } }
mycode
ディレクトリ内で
コマンドを実行して依存関係をインストールします。composer install
実行が完了すると、このディレクトリにcomposer.lockファイルとvendorディレクトリが生成されます。 ダウンロードされた依存関係はvendorディレクトリに保存されます。
すべてのファイルをパッケージ化する
mycode
ディレクトリに移動します。LinuxとmacOS
mycode
ディレクトリに移動し、zip code.zip -r ./*
コマンドを実行します。説明ディレクトリの読み取りおよび書き込み権限があることを確認してください。
Windows
mycode
ディレクトリに移動し、すべてのファイルを選択し、ファイルを右クリックして、ファイルをZIPパッケージに圧縮します。
説明作成した
index.php
ファイルがパッケージのルートディレクトリにあることを確認します。Function Computeコンソールで、管理する関数を見つけます。 機能の詳細ページの右上隅にあるコードのアップロードをクリックして、パッケージ化したZIPパッケージをアップロードします。
function Computeコンソールで関数を作成するときに、ZIPパッケージをアップロードすることもできます。 詳細については、「イベント関数の作成」をご参照ください。
コード機能の詳細ページのタブをクリックし、テスト機能.
Serverless Devsを使用した依存関係のインストールとコードのデプロイ
あなたが始める前に
手順
mycode
ディレクトリのs.yaml
ファイルを編集します。次のサンプルコードは、ファイルの例を示しています。
edition: 3.0.0 name: fcDeployApp access: "default" vars: # グローバル変数。 region: "cn-hangzhou" resources: hello_world: component: fc3 # コンポーネントの名前。 props: region: ${vars.region} # 変数の使用方法については、https://docs.serverless-devs.com/serverless-devs/yaml#%E5%8F%98%E9%87%8F%E8%B5%8B%E5%80%BC. をご覧ください。 functionName: "testphp" description: 'this is a test' runtime: "php7.2" code: ./ handler: index.handler memorySize: 128 timeout: 30
mycode
ディレクトリで、composer.json
ファイルを作成します。次のサンプルコードは、ファイルの例を示しています。
{ "require": { "nette/utils": "^ 3.0" } }
sudo s build -- use-docker
を実行して依存関係をインストールします。実行が完了すると、依存関係とコードが. /ベンダーディレクトリに移動します。
sudoのデプロイ
を実行してプロジェクトをデプロイします。実行後、関数をFunction Computeにデプロイできます。
詳細情報
Function Computeのレイヤーを使用して依存関係をインストールすることもできます。 詳細については、「カスタムレイヤーの作成」をご参照ください。