このトピックでは、関数のカスタムレイヤーを設定する方法について説明します。
Function Computeコンソールでのカスタムレイヤーの設定
あなたが始める前に
手順
関数に対して複数のバージョンを持つレイヤーを構成する場合、ビジネス要件に基づいて、レイヤーの1つのバージョンが関数にバインドされます。
Function Computeコンソールにログインします。 左側のナビゲーションウィンドウで、[関数] をクリックします。
上部のナビゲーションバーで、リージョンを選択します。 [関数] ページで、管理する関数をクリックします。
機能の詳細ページで、[設定] タブをクリックします。 左側のナビゲーションツリーで、[レイヤー] をクリックします。 [変更] をクリックします。 レイヤーパネルで、
を選択します。 次に、[カスタムレイヤー] ドロップダウンリストからカスタムレイヤーを選択し、[レイヤーバージョン] ドロップダウンリストからそのバージョンを選択して、[デプロイ] をクリックします。関数は、カスタムレイヤーとパブリックレイヤーを含む最大5つのレイヤーで構成できます。
関数に対して複数のレイヤーが設定されている場合、これらのレイヤーのコンテンツは逆の順序で /optディレクトリにマージされます。 レイヤーに同じ名前のファイルが含まれている場合、最初に構成されたレイヤーのファイルは、後で構成されたレイヤーの同じ名前のファイルを上書きします。
Serverless Devsを使用する
あなたが始める前に
手順
次のコマンドを実行して、指定したリージョンのカスタムレイヤーを見つけます。
s cli fcレイヤーリスト -- custom -- region cn-hangzhou
返されるカスタムレイヤーリストで、目的のレイヤーの
arn
の値を取得して記録します。- layerName: java11_fc_auto_created arn: acs:fc:cn-hangzhou:1034354682****:layers/numpy/versions/1 version: 1 acl: 0 description: compatibleRuntime: - custom
説明:
layerName: レイヤーの名前。
version: レイヤーのバージョン。
arn: レイヤーのARN。
acl: レイヤーの権限。 数字0はレイヤーがプライベートであることを指定し、数字1はレイヤーがパブリックであることを指定します。 デフォルトでは、パブリックレイヤはpublicです。 カスタムレイヤーは、プライベートまたはパブリックに設定できます。
description: レイヤーの説明。
compatibleRuntime: 互換性のあるランタイムのリスト。
ターゲットディレクトリで、s.yamlファイルを入力し、取得したレイヤーを入力します
arn
情報を提供します。例:
edition: 3.0.0 name: hello-world-app access: "default" vars: # The global variable. region: "cn-hangzhou" resources: hello_world: component: fc3 # The component name actions: # The custom execution logic. For more information about actions, visit https://docs.serverless-devs.com/serverless-devs/yaml#%E8%A1%8C%E4%B8%BA%E6%8F%8F%E8%BF%B0actions. props: region: ${vars.region} # For information about how to use variables, visit: https://docs.serverless-devs.com/serverless-devs/yaml#%E5%8F%98%E9%87%8F%E8%B5%8B%E5%80%BC. functionName: "emoji" description: 'this is a layer demo' runtime: "python3.9" code: ./code handler: index.handler memorySize: 512 timeout: 60 internetAccess: true layers: # The layers bound to the function. The values are the ARNs of the layers. - acs:fc:cn-hangzhou:1034354682****:layers/numpy/versions/1
ターゲットディレクトリに
コード
階層を作成し、コード
で関数コードを準備します。ターゲットディレクトリで次のコマンドを実行して、関数をデプロイし、関数のレイヤーを設定します。
s deploy
詳細情報
API操作またはSDKを使用して、レイヤーを管理および構成することもできます。 次のAPIを呼び出してレイヤーを設定できます。
OpenAPI Explorerを使用してAPI操作を呼び出し、SDKを使用できます。