Bu konu, bir işlev için özel katmanların nasıl yapılandırılacağını açıklar.
Function Compute konsolunda özel katman yapılandırma
Before you start
Procedure
Birden çok sürümü bulunan bir katmanı bir işlev için yapılandırdığınızda, iş gereksinimlerinize göre katmanın tek bir sürümü işleve bağlanır.
Function Compute konsoluna giriş yapın. Sol gezinme bölmesinde Functions öğesine tıklayın.
Üst gezinme çubuğundan bir bölge seçin. Functions sayfasında yönetmek istediğiniz işleve tıklayın.
-
İşlev ayrıntıları sayfasında Configurations sekmesine tıklayın. Sol gezinme ağacında Layers öğesine tıklayın. Modify seçeneğine tıklayın. Katmanlar panelinde yolunu izleyin. Ardından, Custom Layer açılır listesinden bir özel katman ve Layer Version açılır listesinden ilgili sürümü seçerek Deploy düğmesine tıklayın.
Bir işleve, özel katmanlar ve genel katmanlar dahil olmak üzere en fazla beş katman yapılandırılabilir.
Bir işlev için birden çok katman yapılandırıldığında, bu katmanların içeriği ters sırada /opt dizinine birleştirilir. Katmanlar aynı ada sahip dosyalar içeriyorsa, ilk yapılandırılan katmandaki dosyalar, sonraki yapılandırılan katmanlardaki aynı adlı dosyaların üzerine yazar.
Serverless Devs kullanma
Before you start
Procedure
-
Belirtilen bölgedeki özel katmanları bulmak için aşağıdaki komutu çalıştırın:
s cli fc layer list --custom --region cn-hangzhouDönen özel katman listesinde, istenen katmanın
arndeğerini alın ve kaydedin.- layerName: java11_fc_auto_created arn: acs:fc:cn-hangzhou:1034354682****:layers/numpy/versions/1 version: 1 acl: 0 description: compatibleRuntime: - customÖrnek analizi şu şekildedir:
layerName: Katmanın adı.
version: Katmanın sürümü.
arn: Katmanın Alibaba Cloud Resource Name (ARN) değeri.
acl: Katmanın izinleri. Değeri özel için 0 veya genel için 1 olarak ayarlayın. Genel katmanlar varsayılan olarak geneldir. Özel katmanlar özel veya genel olarak ayarlanabilir.
description: Katmanın açıklaması.
compatibleRuntime: Uyumlu çalışma zamanlarının listesi.
-
Hedef dizinde bir s.yaml dosyası oluşturun ve alınan katman
arnbilgilerini girin.Örnek:
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 Hedef dizinde bir
codehiyerarşisi oluşturun ve ardından işlev kodunucodeiçinde hazırlayın.-
İşlevi dağıtmak ve işlev için katmanları yapılandırmak üzere hedef dizinde aşağıdaki komutu çalıştırın:
s deploy
Daha fazla bilgi
Katmanları API işlemleri veya yazılım geliştirme kitleri (SDK) kullanarak da yönetebilir ve yapılandırabilirsiniz. Katmanları yapılandırmak için aşağıdaki API işlemlerini çağırabilirsiniz:
API işlemlerini çağırmak için OpenAPI Explorer kullanabilirsiniz.