Este tópico descreve como configurar camadas personalizadas para uma função.
Configure camadas personalizadas no console do Function Compute
Before you start
Procedure
Ao configurar uma camada com várias versões para uma função, vincule a versão específica da camada à função conforme os requisitos do seu negócio.
Faça login no console do Function Compute. No painel de navegação à esquerda, clique em Functions.
Na barra de navegação superior, selecione uma região. Na página Functions, clique na função que deseja gerenciar.
-
Na página de detalhes da função, clique na aba Configurations. Na árvore de navegação à esquerda, clique em Layers e, em seguida, em Modify. No painel Layers, escolha . Selecione uma camada personalizada na lista suspensa Custom Layer e a respectiva versão na lista suspensa Layer Version. Por fim, clique em Deploy.
Uma função admite no máximo cinco camadas configuradas, incluindo camadas personalizadas e públicas.
Se houver várias camadas configuradas para uma função, o conteúdo será mesclado no diretório /opt em ordem inversa. Caso as camadas contenham arquivos com o mesmo nome, os arquivos da primeira camada configurada substituirão os homônimos das camadas subsequentes.
Usar o Serverless Devs
Before you start
Procedure
-
Execute o comando a seguir para localizar camadas personalizadas na região especificada:
s cli fc layer list --custom --region cn-hangzhouNa lista retornada de camadas personalizadas, obtenha e anote o valor de
arnda camada desejada.- layerName: java11_fc_auto_created arn: acs:fc:cn-hangzhou:1034354682****:layers/numpy/versions/1 version: 1 acl: 0 description: compatibleRuntime: - customAnálise do exemplo:
layerName: Nome da camada.
version: Versão da camada.
arn: Alibaba Cloud Resource Name (ARN) da camada.
acl: Permissões da camada. Defina o valor como 0 para privada ou 1 para pública. Camadas públicas são públicas por padrão, enquanto camadas personalizadas podem ser definidas como privadas ou públicas.
description: Descrição da camada.
compatibleRuntime: Lista de runtimes compatíveis.
-
No diretório de destino, crie um arquivo s.yaml e insira as informações de
arnda camada obtida.Exemplo:
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 Crie uma estrutura de diretórios
codeno diretório de destino e prepare o código da função dentro decode.-
Execute o comando a seguir no diretório de destino para implantar a função e configure as camadas correspondentes:
s deploy
Mais informações
Também é possível gerencie e configure camadas por meio de operações de API ou kits de desenvolvimento de software (SDKs). Chame as seguintes operações de API para configure camadas:
Use o OpenAPI Explorer para chamar operações de API.