このトピックでは、関数のカスタムレイヤーを設定する方法について説明します。
Function Computeコンソールの使用
あなたが始める前に
手順
関数のレイヤーを設定すると、レイヤーに複数のバージョンがある場合、ビジネス要件に基づいてレイヤーの1つのバージョンが関数にバインドされます。
Function Computeコンソールにログインします。 左側のナビゲーションウィンドウで、[サービスと機能] をクリックします。
上部のナビゲーションバーで、リージョンを選択します。 [サービス] ページで、目的のサービスをクリックします。
[関数] ページで目的の関数を見つけ、[操作] 列の [設定] をクリックします。
[レイヤー] セクションで、[レイヤーの追加] をクリックし、ドロップダウンリストから [カスタムレイヤーの追加] を選択します。 [カスタムレイヤー] および [レイヤーバージョン] ドロップダウンリストからオプションを選択し、[保存] をクリックします。
関数は、カスタムレイヤーと公式パブリックレイヤーを含む最大5つのレイヤーで構成できます。
関数に対して複数のレイヤーが設定されている場合、これらのレイヤーのコンテンツはマージされ、/optディレクトリに逆の順序で格納されます。 レイヤーに同じ名前のファイルが含まれている場合、最初に構成されたレイヤーのファイルは、後で構成されたレイヤーの同じ名前のファイルを上書きします。
Serverless Devsを使用する
前提条件
手順
次のコマンドを実行して、指定したリージョンのカスタムレイヤーを照会します。
s cli fc layer list --custom --region cn-hangzhou
実行後、カスタムレイヤーリストが返されます。 目的のレイヤーの
arn
の値を取得して記録します。説明返されたカスタムレイヤー情報では、arnフィールドの値が廃止されようとしています。 arnV2フィールドの値をカスタムレイヤーのARNとして使用することを推奨します。
- layerName: java11_fc_auto_created arn: ec284ee1c033fa7fc68ffcd44c******#java11_fc_auto_created#1 arnV2: acs:fc:cn-hangzhou:164901546557****:layers/java11_fc_auto_created/versions/1 version: 1 acl: 0 description: compatibleRuntime: - custom
次の項目は、サンプルコードのコードスニペットを示しています。
layerName: レイヤーの名前。
version: レイヤーのバージョン。
arn: レイヤーの元のARN。 元のARNはカスタムレイヤーでのみ使用できます。
arnV2: レイヤーの新しいARN。 新しいARNは、カスタムレイヤーと公式パブリックレイヤーで使用できます。
acl: レイヤーの権限。 数字0はレイヤーがプライベートであることを指定し、数字1はレイヤーがパブリックであることを指定します。 デフォルトでは、公式パブリックレイヤはpublicです。 カスタムレイヤーは、プライベートまたはパブリックに設定できます。
description: レイヤーの説明。
compatibleRuntime: 互換性のあるランタイム環境のリストを指定します。
任意のディレクトリにs.yamlファイルを作成し、取得したレイヤー
arn
を入力します。例:
edition: 1.0.0 # The version of the YAML specification. 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 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 emoji runtime: java11 codeUri: ./ handler: index.handler memorySize: 128 timeout: 6 layers: # The layers bound to the function. The values are the ARNs of the layers. - acs:fc:cn-hangzhou:164901546557****:layers/java11_fc_auto_created/versions/1
s.yamlファイルが格納されているディレクトリで次のコマンドを実行して、関数をデプロイし、関数のレイヤーを設定します。
s deploy
追加情報
API操作またはSDKを使用して、レイヤーを管理および構成することもできます。 次のAPIを呼び出してレイヤーを設定できます。
OpenAPI Explorerを使用してAPI操作を呼び出し、SDKを使用できます。