全部產品
Search
文件中心

Function Compute:在函數中配置自訂層

更新時間:Jul 06, 2024

本文介紹如何在函數中配置自訂層。

通過控制台配置

前提條件

操作步驟

為函數配置層時,如果層有多個版本,將按照具體的層版本與函數進行綁定。

  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。只支援在自訂層中使用。
    • arnV2:層的新ARN。支援在自訂層和官方公用層中使用。
    • acl:層的許可權。取值0代表私人,取值1代表公有。官方公用層預設為公有,自訂層可以設定為私人或者公有。
    • description:層的描述資訊。
    • compatibleRuntime:相容的運行時列表。
  2. 在任意目錄下建立s.yaml檔案,填寫擷取的層arn資訊。
    樣本如下:
    edition: 1.0.0          #  命令列YAML規範版本,遵循語義化版本(Semantic Versioning)規範
    name: fcDeployApp       #  專案名稱
    access: "default"  #  密鑰別名
    
    services:
      fc-deploy-test: #  服務名稱
        component: fc  #  組件名稱
        props: #  組件的屬性值
          region: cn-hangzhou
          service:
            name: fctest
            description: 'test'
            internetAccess: true
          function:
            name: emoji #  函數名稱
            description: this is a emoji
            runtime: java11
            codeUri: ./
            handler: index.handler
            memorySize: 128
            timeout: 6
            layers:    # 函數綁定層,取值是層的ARN
              - acs:fc:cn-hangzhou:164901546557****:layers/java11_fc_auto_created/versions/1
  3. s.yaml檔案所在目錄,執行以下命令部署函數並為其配置層。
    s deploy

更多資訊

您還可以通過API或SDK來管理層和配置層。您可以在以下API中配置層:

您可以通過OpenAPI Explorer調用API和SDK。