Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menerbitkan aplikasi Anda dengan AWS SAMCLI
Untuk membuat AWS SAM aplikasi Anda tersedia bagi orang lain untuk menemukan dan menyebarkan, Anda dapat menggunakan AWS SAMCLI untuk mempublikasikannya ke AWS Serverless Application Repository. Untuk mempublikasikan aplikasi Anda menggunakan AWS SAMCLI, Anda harus mendefinisikannya menggunakan AWS SAM template. Anda juga harus sudah mengujinya secara lokal atau di AWS Cloud.
Ikuti instruksi pada topik ini untuk membuat aplikasi baru, membuat versi baru dari aplikasi yang ada, atau memperbarui metadata aplikasi yang ada. (Apa yang Anda lakukan tergantung pada apakah aplikasi sudah ada di AWS Serverless Application Repository, dan apakah ada metadata aplikasi yang berubah.) Untuk informasi selengkapnya tentang metadata aplikasi, lihat Properti bagian Metadata templat AWS SAM.
Prasyarat
Sebelum Anda mempublikasikan aplikasi untuk AWS Serverless Application Repository menggunakan AWS SAMCLI, Anda harus memiliki yang berikut:
-
Yang AWS SAMCLI diinstal. Untuk informasi selengkapnya, lihat Instal AWS SAM CLI. Untuk menentukan AWS SAMCLI apakah diinstal, jalankan perintah berikut:
sam --version
-
AWS SAM Template yang valid.
-
Kode aplikasi Anda dan dependensi yang referensi AWS SAM template.
-
Versi semantik, hanya diperlukan untuk membagikan aplikasi Anda secara publik. Nilai ini bisa hanya sebesar 1,0.
-
URL yang memberi akses ke kode sumber aplikasi Anda.
-
File
README.md
. File ini harus menjelaskan cara pelanggan dapat menggunakan aplikasi Anda dan cara mengonfigurasinya sebelum men-deploynya ke Akun AWS pelanggan sendiri. -
File
LICENSE.txt
, hanya diperlukan untuk membagikan aplikasi Anda secara publik. -
Jika aplikasi Anda mencakup aplikasi yang di-nest, Anda harus sudah memublikasikan aplikasi tersebut ke AWS Serverless Application Repository.
-
Kebijakan valid bucket Amazon Simple Storage Service (Amazon S3) yang memberikan layanan izin baca untuk artefak yang Anda unggah ke Amazon S3 ketika Anda mengemas aplikasi Anda. Untuk menyiapkan kebijakan ini, lakukan hal berikut:
Buka konsol Amazon S3 di https://console.aws.amazon.com/s3/
. -
Pilih nama bucket Amazon S3 yang Anda gunakan untuk mengemas aplikasi Anda.
-
Pilih Izin.
-
Pada tab Izin, di bawah Kebijakan bucket, pilih Edit.
-
Pada Halaman Edit kebijakan bucket, tempel pernyataan kebijakan berikut ke editor Kebijakan. Pada pernyataan kebijakan, pastikan untuk menggunakan nama bucket Anda di elemen
Resource
dan ID akun AWS di elemenCondition
. Ekspresi dalamCondition
elemen memastikan bahwa AWS Serverless Application Repository memiliki izin untuk mengakses hanya aplikasi dari AWS akun yang ditentukan. Untuk informasi selengkapnya tentang pernyataan kebijakan, lihat Referensi elemen kebijakan JSON IAM di Panduan Pengguna IAM.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "serverlessrepo.amazonaws.com" }, "Action": "s3:GetObject", "Resource": "arn:aws:s3:::
<your-bucket-name>
/*", "Condition" : { "StringEquals": { "aws:SourceAccount": "123456789012
" } } } ] } -
Pilih Simpan perubahan.
Memublikasikan aplikasi baru
Langkah 1: Tambahkan Metadata
bagian ke AWS SAM template
Pertama, tambahkan Metadata
bagian ke AWS SAM template Anda. Berikan informasi aplikasi yang akan dipublikasikan ke AWS Serverless Application Repository.
Berikut ini adalah contoh bagian Metadata
:
Metadata: AWS::ServerlessRepo::Application: Name:
my-app
Description:hello world
Author:user1
SpdxLicenseId: Apache-2.0 LicenseUrl:LICENSE.txt
ReadmeUrl:README.md
Labels:['tests']
HomePageUrl:https://github.com/user1/my-app-project
SemanticVersion:0.0.1
SourceCodeUrl:https://github.com/user1/my-app-project
Resources: HelloWorldFunction: Type: AWS::Lambda::Function Properties: ... CodeUri:source-code1
...
Untuk informasi selengkapnya tentang Metadata
bagian AWS SAM templat, lihatProperti bagian Metadata templat AWS SAM.
Langkah 2: Kemas aplikasi
Jalankan AWS SAMCLI perintah berikut, yang mengunggah artefak aplikasi ke Amazon S3 dan mengeluarkan file template baru yang disebut: packaged.yaml
sam package --output-template-file packaged.yaml --s3-bucket
<your-bucket-name>
Anda menggunakan file templat packaged.yaml
di langkah berikutnya untuk memublikasikan aplikasi ke AWS Serverless Application Repository. File ini mirip dengan file templat asli (template.yaml
), tetapi memiliki perbedaan kunci— properti inti CodeUri
, LicenseUrl
, dan ReadmeUrl
menunjuk pada bucket Amazon S3 dan objek yang mencakup artefaknya masing-masing.
Sinppet berikut dari contoh file templat packaged.yaml
menunjukkan properti CodeUri
:
MySampleFunction: Type: AWS::Serverless::Function Properties: CodeUri: s3://
bucketname
/fbd77a3647a4f47a352fcObjectGUID
...
Langkah 3: Publikasikan aplikasi
Untuk mempublikasikan versi pribadi AWS SAM aplikasi Anda ke AWS Serverless Application Repository, jalankan AWS SAMCLI perintah berikut:
sam publish --template packaged.yaml --region us-east-1
Output dari perintah sam publish
memuat link ke aplikasi Anda pada AWS Serverless Application Repository. Anda juga dapat langsung membuka Halaman arahan AWS Serverless Application Repository
Langkah 4: Bagikan aplikasi (opsional)
Secara default, aplikasi Anda diatur pada pengaturan privat, sehingga tidak terlihat oleh akun AWS lain. Untuk membagikan aplikasi Anda dengan orang lain, Anda harus membuatnya publik atau memberikan izin ke daftar AWS akun tertentu.
Untuk informasi tentang berbagi aplikasi menggunakan AWS CLI, lihat Contoh Kebijakan AWS Serverless Application Repository Berbasis Sumber Daya di Panduan Pengembang.AWS Serverless Application Repository Untuk informasi tentang berbagi aplikasi menggunakan AWS Management Console, lihat Berbagi Aplikasi di Panduan Developer AWS Serverless Application Repository .
Memublikasikan versi baru aplikasi yang sudah ada
Setelah Anda menerbitkan aplikasi ke AWS Serverless Application Repository, Anda mungkin ingin mempublikasikan versi baru dari itu. Misalnya, Anda mungkin telah mengubah kode fungsi Lambda Anda atau menambahkan komponen baru ke arsitektur aplikasi Anda.
Untuk memperbarui aplikasi yang telah Anda publikasikan sebelumnya, Aplikasi dipublikasikan kembali menggunakan proses yang sama pada detail sebelumnya. Di bagian Metadata
file templat AWS SAM
, berikan nama aplikasi yang sama dengan nama aplikasi yang sebelumnya Anda publikasikan, tetapi sertakan nilai SemanticVersion
baru.
Misalnya, pertimbangkan aplikasi yang dipublikasikan dengan nama SampleApp
dan SemanticVersion
dari 1.0.0
. Untuk memperbarui aplikasi tersebut, templat AWS SAM
harus memiliki nama aplikasi SampleApp
dan SemanticVersion
dari 1.0.1
(atau apa pun selain 1.0.0
).