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

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

最終更新日:Sep 04, 2024

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

Function Computeコンソールの使用

あなたが始める前に

手順

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

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

  2. 上部のナビゲーションバーで、リージョンを選択します。 [サービス] ページで、目的のサービスをクリックします。

  3. [関数] ページで目的の関数を見つけ、[操作] 列の [設定] をクリックします。

  4. [レイヤー] セクションで、[レイヤーの追加] をクリックし、ドロップダウンリストから [カスタムレイヤーの追加] を選択します。 [カスタムレイヤー] および [レイヤーバージョン] ドロップダウンリストからオプションを選択し、[保存] をクリックします。

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

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

Serverless Devsを使用する

前提条件

手順

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

    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: 互換性のあるランタイム環境のリストを指定します。

  2. 任意のディレクトリに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
  3. s.yamlファイルが格納されているディレクトリで次のコマンドを実行して、関数をデプロイし、関数のレイヤーを設定します。

    s deploy

追加情報

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

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