Partage de couches Lambda - AWS Serverless Application Repository

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Partage de couches Lambda

Si vous avez implémenté des fonctionnalités dans une couche Lambda, vous pouvez partager cette dernière sans en héberger une instance globale. Le partage de couches de cette manière permet à d'autres personnes de déployer une instance de votre couche sur leur propre compte. Cela empêche les applications clientes de dépendre d'une instance globale de votre couche. LeAWS Serverless Application Repositoryvous permet de partager des couches Lambda de cette manière facilement.

Pour plus d'informations sur les couches Lambda, consultezAWS LambdaCouchesdans leAWS LambdaManuel du développeur.

Fonctionnement

Voici les étapes de partage de votre couche à l'aide de la AWS Serverless Application Repository. Cela permet de créer une copie de votre couche dansAWS.

  1. Définissez une application sans serveur à l'aide d'AWS SAMqui inclut votre couche en tant que ressource, c'est-à-dire unAWS::Serverless::LayerVersionou unAWS::Lambda::LayerVersionressource.

  2. Publiez votre application sur le AWS Serverless Application Repository et partagez-la (publiquement ou en privé).

  3. Un client déploie votre application, ce qui crée une copie de votre couche dans son propre.AWS. Le client peut désormais référencer le nom de ressource Amazon (ARN) de la couche dans sonAWSdans leur application cliente.

Example (Exemple)

Voici un exemple de.AWS SAMpour une application qui contient la couche Lambda que vous souhaitez partager :

Resources: SharedLayer: Type: AWS::Serverless::LayerVersion Properties: LayerName: shared-layer ContentUri: source/layer-code/ CompatibleRuntimes: - python3.7 Outputs: LayerArn: Value: !Ref SharedLayer

Lorsqu'un client déploie votre application à partir duAWS Serverless Application Repository, une couche est créée dans leurAWS. L'ARN de la couche ressemble à ce qui suit :

arn:aws:lambda:us-east-1:012345678901:layer:shared-layer:1

Le client peut désormais référencer cet ARN dans sa propre application cliente, comme dans cet exemple :

Resources: MyFunction: Type: AWS::Serverless::Function Properties: Handler: index.handler Runtime: python3.7 CodeUrl: source/app-code/ Layers: - arn:aws:lambda:us-east-1:012345678901:layer:shared-layer:1