Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Lapisan Lambda
Jika Anda telah menerapkan fungsionalitas di layer Lambda, Anda mungkin ingin berbagi layer Anda tanpa hosting instance global dari itu. Berbagi layer dengan cara ini memungkinkan orang lain untuk menyebarkan instance layer Anda ke akun mereka sendiri. Hal ini mencegah aplikasi klien tergantung pada instance global layer Anda. ParameterAWS Serverless Application Repositorymemungkinkan Anda untuk berbagi layer Lambda dengan cara ini dengan mudah.
Untuk informasi selengkapnya tentang lapisan Lambda, lihatAWS LambdaLapisandiAWS LambdaPanduan Pengembang.
Cara Kerjanya
Berikut adalah langkah-langkah untuk berbagi lapisan Anda menggunakanAWS Serverless Application Repository. Hal ini memungkinkan salinan layer Anda untuk dibuat di penggunaAWSakun.
-
Mendefinisikan aplikasi nirserver denganAWS SAMtemplate yang mencakup layer Anda sebagai resource— yaitu, baik
AWS::Serverless::LayerVersion
atauAWS::Lambda::LayerVersion
sumber daya. -
Publikasikan aplikasi Anda keAWS Serverless Application Repository, dan membaginya (baik secara terbuka maupun pribadi).
-
Pelanggan menyebarkan aplikasi Anda, yang membuat salinan layer Anda sendiriAWSakun. Pelanggan sekarang dapat referensi Amazon Resource Name (ARN) dari lapisan di dalamnyaAWSakun dalam aplikasi klien mereka.
Contoh
Berikut ini adalah contoh-contohnyaAWS SAMtemplate untuk aplikasi yang berisi layer Lambda yang ingin Anda bagikan:
Resources: SharedLayer: Type: AWS::Serverless::LayerVersion Properties: LayerName: shared-layer ContentUri: source/layer-code/ CompatibleRuntimes: - python3.7 Outputs: LayerArn: Value: !Ref SharedLayer
Ketika pelanggan menyebarkan aplikasi Anda dariAWS Serverless Application Repository, sebuah layer dibuat diAWSakun. Lapisan ARN terlihat seperti berikut ini:
arn:aws:lambda:us-east-1:012345678901:layer:shared-layer:1
Pelanggan sekarang dapat referensi ARN ini dalam aplikasi klien mereka sendiri, seperti dalam contoh ini:
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