すべてのプロダクト
Search
ドキュメントセンター

Function Compute:カスタムレイヤーの設定

最終更新日:Jul 24, 2024

このトピックでは、関数のカスタムレイヤーを設定する方法について説明します。

Function Computeコンソールでのカスタムレイヤーの設定

あなたが始める前に

手順

関数に対して複数のバージョンを持つレイヤーを構成する場合、ビジネス要件に基づいて、レイヤーの1つのバージョンが関数にバインドされます。

  1. Function Computeコンソールにログインします。 左側のナビゲーションウィンドウで、[関数] をクリックします。

  2. 上部のナビゲーションバーで、リージョンを選択します。 [関数] ページで、管理する関数をクリックします。

  3. 機能の詳細ページで、[設定] タブをクリックします。 左側のナビゲーションツリーで、[レイヤー] をクリックします。 [変更] をクリックします。 レイヤーパネルで、[+ レイヤーの追加] > [カスタムレイヤーの追加] を選択します。 次に、[カスタムレイヤー] ドロップダウンリストからカスタムレイヤーを選択し、[レイヤーバージョン] ドロップダウンリストからそのバージョンを選択して、[デプロイ] をクリックします。

    • 関数は、カスタムレイヤーとパブリックレイヤーを含む最大5つのレイヤーで構成できます。

    • 関数に対して複数のレイヤーが設定されている場合、これらのレイヤーのコンテンツは逆の順序で /optディレクトリにマージされます。 レイヤーに同じ名前のファイルが含まれている場合、最初に構成されたレイヤーのファイルは、後で構成されたレイヤーの同じ名前のファイルを上書きします。

Serverless Devsを使用する

あなたが始める前に

手順

  1. 次のコマンドを実行して、指定したリージョンのカスタムレイヤーを見つけます。

    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: 互換性のあるランタイムのリスト。

  2. ターゲットディレクトリで、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
  3. ターゲットディレクトリにコード階層を作成し、コードで関数コードを準備します。

  4. ターゲットディレクトリで次のコマンドを実行して、関数をデプロイし、関数のレイヤーを設定します。

    s deploy

詳細情報

API操作またはSDKを使用して、レイヤーを管理および構成することもできます。 次のAPIを呼び出してレイヤーを設定できます。

OpenAPI Explorerを使用してAPI操作を呼び出し、SDKを使用できます。