このトピックでは、サードパーティの依存関係Nette\Utils
を例として使用して、PHPコードの依存関係をインストールし、コードをパッケージ化し、Function Computeにデプロイする方法を説明します。
準備
テスト用のコードディレクトリを作成し、ディレクトリの名前を指定します。 この例では、
mycode
が使用されています。LinuxまたはmacOS
mkdir -p /tmp/mycode
コマンドを実行し、ディレクトリを作成します。Windows
Create a folder and name it
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コンソールで作成されます。 詳細については、「関数を作成します。Creates a function」をご参照ください。
手順
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パッケージをアップロードすることもできます。 詳細については、「関数を作成します。Creates a function」をご参照ください。
[コード] タブで、[テスト機能] をクリックします。
Serverless Devsを使用して依存関係をインストールし、コードをデプロイする
前提条件
手順
mycode
ディレクトリにs.yaml
ファイルを作成します。ファイルには次の内容が含まれています。
edition: 1.0.0 # The version of the YAML syntax. The version complies with the 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 property value of the component. region: cn-shanghai service: name: fctest description: 'test' internetAccess: true function: name: testphp description: this is a test runtime: php7.2 codeUri: ./ handler: index.handler memorySize: 128 timeout: 6
s build -- use-docker
コマンドを実行して、依存関係をインストールします。コマンドを実行した後、
。s
ディレクトリはmycode
ディレクトリに生成されます。 依存関係と関連コードがにデプロイされます。s/build/artifacts/fctest/testphp/vendorのディレクトリ。s deploy
コマンドを実行して、プロジェクトをデプロイします。コマンドを実行した後、関数をFunction Computeにデプロイできます。
追加情報
Function Compute のレイヤー機能を使用して依存関係をインストールすることもできます。 詳細については、「レイヤー管理」をご参照ください。