Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
build sam
Halaman ini menyediakan informasi referensi untuk AWS Serverless Application Model perintah Command Line Interface (AWS SAMCLI)sam build.
-
Untuk pengenalan AWS SAMCLI, lihat Apa itu AWS SAM CLI?
-
Untuk dokumentasi tentang penggunaan AWS SAMCLI
sam buildperintah, lihatPengantar bangunan dengan AWS SAM.
Per sam build intah menyiapkan aplikasi untuk langkah-langkah selanjutnya dalam alur kerja pengembang, seperti pengujian lokal atau penerapan ke AWS Cloud.
Penggunaan
$sam build<arguments><options>
Argumen
- ID Sumber Daya
-
Tidak wajib. Menginstruksikan AWS SAM untuk membangun sumber daya tunggal yang dideklarasikan dalam AWS SAM template. Artefak build untuk sumber daya yang ditentukan akan menjadi satu-satunya yang tersedia untuk perintah berikutnya dalam alur kerja, mis.
sam packagedansam deploy.
Opsi
--base-dir, -sDIRECTORY-
Selesaikan jalur relatif ke fungsi atau kode sumber lapisan sehubungan dengan direktori ini. Gunakan opsi ini jika Anda ingin mengubah cara jalur relatif ke folder kode sumber diselesaikan. Secara default, jalur relatif diselesaikan sehubungan dengan lokasi templat AWS SAM .
Selain sumber daya dalam aplikasi root atau tumpukan yang sedang Anda bangun, opsi ini juga memberlakukan aplikasi atau tumpukan nest.
Opsi ini berlaku untuk tipe sumber daya dan properti berikut:
-
Tipe sumber daya: Properti
AWS::Serverless::Function:CodeUri -
Tipe sumber daya: Atribut Sumber Daya
AWS::Serverless::Function: EntriMetadata:DockerContext -
Tipe sumber daya: Properti
AWS::Serverless::LayerVersion:ContentUri -
Tipe sumber daya: Properti
AWS::Lambda::Function:Code -
Tipe sumber daya: Properti
AWS::Lambda::LayerVersion:Content
-
--beta-features | --no-beta-features-
Izinkan atau tolak fitur beta.
--build-dir, -bDIRECTORY-
Jalur ke direktori tempat artefak build disimpan. Direktori ini dan semua isinya akan dihapus dengan opsi ini.
--build-imageTEXT-
URI dari citra kontainer yang ingin Anda tarik untuk build. Secara default, AWS SAM menarik citra kontainer dari Amazon ECR Publik. Gunakan opsi ini untuk menarik citra dari lokasi lain.
Anda dapat menentukan opsi ini beberapa kali. Setiap instans dari opsi ini dapat mengambil baik string atau pasangan kunci-nilai. Jika Anda menentukan string, string adalah URI citra kontainer untuk digunakan untuk semua sumber daya dalam aplikasi Anda. Misalnya,
sam build --use-container --build-image amazon/aws-sam-cli-build-image-python3.8. Jika Anda menentukan pasangan kunci-nilai, kuncinya adalah nama sumber daya, dan nilainya adalah URI citra kontainer untuk digunakan untuk sumber daya tersebut. Sebagai contoh,sam build --use-container --build-image Function1=amazon/aws-sam-cli-build-image-python3.8. Dengan pasangan kunci-nilai, Anda dapat menentukan citra kontainer yang berbeda untuk sumber daya yang berbeda.Opsi ini hanya berlaku jika opsi
--use-containerditentukan, jika tidak akan terjadi kesalahan. --build-in-source | --no-build-in-source-
Berikan
--build-in-sourceuntuk membangun proyek Anda langsung di folder sumber.--build-in-sourceOpsi ini mendukung runtime dan metode build berikut:-
Runtimes — Setiap Node.js runtime yang didukung oleh
sam init --runtimeopsi. -
Membangun metode —
Makefile,esbuild.
--build-in-sourceOpsi ini tidak kompatibel dengan opsi berikut:-
--hook-name -
--use-container
Default:
--no-build-in-source -
--cached | --no-cached-
Mengaktifkan atau menonaktifkan build yang di-cache. Gunakan opsi ini untuk menggunakan kembali artefak build yang belum berubah dari build sebelumnya. AWS SAM mengevaluasi apakah Anda telah mengubah file apa pun di direktori proyek Anda. Secara default, build tidak di-cache. Jika
--no-cachedopsi dipanggil, itu menggantikancached = truepengaturan di samconfig.toml.catatan
AWS SAM tidak mengevaluasi apakah Anda telah mengubah modul pihak ketiga yang bergantung pada proyek Anda, di mana Anda belum memberikan versi tertentu. Misalnya, jika fungsi Python Anda menyertakan
requirements.txtfile dengan entrirequests=1.x, dan versi modul permintaan terbaru berubah dari1.1menjadi1.2, maka AWS SAM tidak menarik versi terbaru sampai Anda menjalankan build yang tidak di-cache. --cache-dir-
Direktori tempat artefak cache disimpan saat
--cachedditentukan. Direktori cache default adalah.aws-sam/cache. --config-envTEXT-
Nama lingkungan yang menentukan nilai parameter default dalam file konfigurasi yang akan digunakan. Nilai default-nya adalah “default”. Untuk informasi selengkapnya tentang file konfigurasi, lihat AWS SAMCLIberkas konfigurasi.
--config-filePATH-
Jalur dan nama file dari file konfigurasi yang berisi nilai parameter default yang akan digunakan. Nilai default-nya adalah ”
samconfig.toml“ di root direktori proyek. Untuk informasi selengkapnya tentang file konfigurasi, lihat AWS SAMCLIberkas konfigurasi. --container-env-var, -eTEXT-
Variabel lingkungan yang akan diteruskan ke kontainer build. Anda dapat menentukan opsi ini beberapa kali. Setiap instans opsi ini mengambil pasangan kunci-nilai, dengan penjelasan kunci adalah variabel sumber daya dan lingkungan, dan nilai adalah nilai variabel lingkungan. Sebagai contoh:
--container-env-var Function1.GITHUB_TOKEN=TOKEN1 --container-env-var Function2.GITHUB_TOKEN=TOKEN2.Opsi ini hanya berlaku jika opsi
--use-containerditentukan, jika tidak akan terjadi kesalahan. --container-env-var-file, -efPATH-
Nama jalur dan file dari file JSON yang berisi nilai-nilai untuk variabel lingkungan kontainer ini. Untuk informasi selengkapnya tentang file variabel lingkungan kontainer, lihat File variabel lingkungan kontainer.
Opsi ini hanya berlaku jika opsi
--use-containerditentukan, jika tidak akan terjadi kesalahan. --debug-
Mengaktifkan pencatatan debug untuk mencetak pesan debug yang dihasilkan, dan untuk menampilkan stempel waktu. AWS SAMCLI
--docker-networkTEXT-
Menentukan nama atau ID Docker jaringan yang ada yang harus terhubung ke Docker wadah Lambda, bersama dengan jaringan jembatan default. Jika tidak ditentukan, kontainer Lambda hanya terhubung ke Docker jaringan jembatan default.
--exclude, -x-
Nama sumber daya yang akan dikecualikan dari
sam build. Misalnya, jika template Anda berisiFunction1,Function2,Function3dan Anda jalankansam build --exclude Function2, hanyaFunction1danFunction3akan dibangun. --help-
Menunjukkan pesan ini dan keluar.
--hook-nameTEXT-
Nama kait yang digunakan untuk memperluas AWS SAMCLI fungsionalitas.
Nilai yang diterima:
terraform. --manifest , -mPATH-
Jalur ke file manifest dependensi kustom (misalnya, package.json) yang akan digunakan bukan default.
--mount-symlinks-
Memastikan AWS SAMCLI selalu memasang symlink yang ada dalam file untuk dibangun atau dipanggil. Ini hanya berlaku untuk symlink di direktori tingkat atas (yaitu, symlink yang langsung di root fungsi). Secara default, symlink tidak dipasang kecuali yang diperlukan
build-in-sourceuntuk digunakannode_modulesdi NodeJS. --no-use-container-
Opsi yang memungkinkan Anda menggunakan IDE toolkit untuk mengatur perilaku default. Anda juga dapat menggunakan
sam build --no-use-containeruntuk menjalankan build di mesin lokal Anda alih-alih wadah docker. --output[ text | json ]-
Format output perintah:
-
text- Mencetak output biasa yang dapat dibaca manusia. Ini adalah nilai default. -
json- Mencetak output terstruktur dan dapat dibaca mesin. Gunakan format ini ketika Anda ingin menggunakan output secara terprogram, seperti di CI/CD pipeline, ekstensi IDE, dan AI-assisted alat.
Ketika Anda menentukan
--output json, AWS SAMCLI mencetak objek JSON tunggal setelah perintah selesai. Jika berhasil, objek ini menyertakan bidang seperti status build, direktori build, file template, dan daftar sumber daya yang dibangun. Pada kegagalan, itu termasukerrorobjek yang menggambarkan apa yang salah. -
--parallel-
Mengaktifkan build paralel. Gunakan opsi ini untuk membangun fungsi dan lapisan AWS SAM template Anda secara paralel. Secara default, fungsi dan lapisan dibangun secara berurutan.
--parameter-overrides-
(Opsional) Sebuah string yang berisi penggantian CloudFormation parameter yang dikodekan sebagai pasangan kunci-nilai. Menggunakan format yang sama dengan AWS Command Line Interface (AWS CLI). Misalnya: '
ParameterKey=KeyPairName,ParameterValue=MyKeyParameterKey=InstanceType,ParameterValue=t1.micro'. Opsi ini tidak kompatibel dengan--hook-name. --profileTEXT-
Profil spesifik dari file kredensi Anda yang mendapatkan kreden AWS SIAL.
--regionTEXT-
Untuk Wilayah AWS disebarkan ke. Misalnya, us-east-1.
--save-params-
Simpan parameter yang Anda berikan di baris perintah ke file AWS SAM konfigurasi.
--skip-prepare-infra-
Melewati tahap persiapan jika tidak ada perubahan infrastruktur yang dilakukan. Gunakan dengan
--hook-nameopsi. --skip-pull-image-
Menentukan apakah perintah harus melewatkan menarik ke bawah citra Docker terbaru untuk waktu aktif Lambda.
--template-file, --template, -tPATH-
Path dan nama file dari file AWS SAM template
[default: template.[yaml|yml]]. Opsi ini tidak kompatibel dengan--hook-name. --terraform-project-root-path-
Jalur relatif atau absolut ke direktori tingkat atas yang berisi file Terraform konfigurasi atau kode sumber fungsi Anda. Jika file-file ini terletak di luar direktori yang berisi modul Terraform root Anda, gunakan opsi ini untuk menentukan jalur absolut atau relatifnya. Opsi ini mengharuskannya
--hook-namedisetel keterraform. --use-buildkit | --no-use-buildkit-
Aktifkan atau nonaktifkan menggunakan BuildKit plugin untuk pembuatan gambar kontainer. Ini akan menggunakan Finch atau DockerCLIs. Secara default, build menggunakan pembuat lama dari SDK. Jika
--no-use-buildkitopsi dipanggil, itu menggantikanuse-buildkit = truepengaturan di samconfig.toml. --use-container,-u-
Jika fungsi Anda bergantung pada paket yang memiliki dependensi yang dikompilasi secara asli, gunakan opsi ini untuk membangun fungsi Anda di dalam wadah Lambda-like Docker.
Contoh
Untuk contoh terperinci dan panduan mendalam tentang penggunaan sam build subperintah, lihat. Pengantar bangunan dengan AWS SAM