Condivisione dei livelli Lambda - AWS Serverless Application Repository

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Condivisione dei livelli Lambda

Se hai implementato funzionalità in un livello Lambda, potresti voler condividere il livello senza ospitarne l'istanza globale. La condivisione dei livelli in questo modo consente ad altri utenti di distribuire un'istanza del livello nel proprio account, impedendo alle applicazioni client di dipendere da un'istanza globale del livello. LaAWS Serverless Application Repositoryconsente di condividere facilmente i livelli Lambda in questo modo.

Per ulteriori informazioni sui livelli Lambda, consultaAWS LambdaLivellinellaAWS LambdaGuida per gli sviluppatori.

Come funziona

Di seguito sono riportati i passaggi per condividere il livello utilizzando AWS Serverless Application Repository. In tal modo crei una copia del layer nell'utenteAWSconto.

  1. Definire un'applicazione serverless conAWS SAMmodello che include il layer come risorsa, ovvero unAWS::Serverless::LayerVersiono unAWS::Lambda::LayerVersionrisorsa.

  2. Pubblicare l'applicazione in AWS Serverless Application Repository e condividerla (pubblicamente o privatamente).

  3. Un cliente distribuisce l'applicazione che crea una copia del layer nel suoAWSconto. Il cliente può ora fare riferimento all'Amazon Resource Name (ARN) del livello nelAWSaccount nell'applicazione client.

Esempio

Di seguito è riportato un esempio:AWS SAMmodello per un'applicazione che contiene il livello Lambda da condividere:

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

Quando un cliente distribuisce l'applicazione dalAWS Serverless Application Repository, viene creato un livello nel loroAWSconto. L'ARN del livello è simile al seguente:

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

Il cliente può ora fare riferimento a questo ARN nella sua applicazione client, come in questo esempio:

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