Freigeben von Lambda-Ebenen - AWS Serverless Application Repository

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Freigeben von Lambda-Ebenen

Wenn Sie Funktionen in einer Lambda-Ebene implementiert haben, möchten Sie Ihre Ebene möglicherweise freigeben, ohne eine globale Instance davon zu hosten. Wenn Sie Ebenen auf diese Weise freigeben, können andere Benutzer eine Instance Ihrer Ebene in ihrem eigenen Konto bereitstellen. Dadurch wird verhindert, dass Clientanwendungen von einer globalen Instance Ihrer Ebene abhängig sind. DieAWS Serverless Application RepositoryDas ermöglicht es Ihnen, Lambda-Ebenen auf diese Weise einfach freizugeben.

Weitere Informationen über Lambda-Ebenen finden Sie unterAWS LambdaEbenenimAWS LambdaEntwicklerhandbuchaus.

So funktioniert es

Im Folgenden finden Sie die Schritte zum Freigeben der Ebene mit dem AWS Serverless Application Repository. Dadurch kann eine Kopie Ihrer Ebene imAWSKonto.

  1. Definieren einer serverlosen Anwendung mit einemAWS SAMVorlage, die Ihren Layer als Ressource enthält - das heißt entweder eineAWS::Serverless::LayerVersionoder einAWS::Lambda::LayerVersionressource.

  2. Veröffentlichen Sie Ihre Anwendung im AWS Serverless Application Repository und geben Sie sie frei (öffentlich oder privat).

  3. Ein Kunde stellt Ihre Anwendung bereit, die eine Kopie Ihrer Ebene in seiner eigenen erstelltAWSKonto. Der Kunde kann nun auf den Amazon-Ressourcennamen (ARN) der Ebene in seinemAWS-Konto in ihrer Client-Anwendung.

Beispiel

Im Folgenden wird ein Beispiel gezeigtAWS SAM-Vorlage für eine Anwendung, die die Lambda-Ebene enthält, die Sie freigeben möchten:

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

Wenn ein Kunde Ihre Anwendung aus dem bereitstelltAWS Serverless Application Repositorywird ein Layer in ihrerAWSKonto. Der ARN der Ebene sieht ungefähr wie folgt aus:

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

Der Kunde kann diesen ARN nun in seiner eigenen Client-Anwendung referenzieren, wie in diesem Beispiel:

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