Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
sam build
Halaman ini memberikan informasi referensi untuk Antarmuka Baris AWS Serverless Application Model Perintah (AWS SAM CLI) sam build
perintah.
-
Untuk pengantar AWS SAM CLI, lihat Apa itu AWS SAM CLI?
-
Untuk dokumentasi tentang penggunaan AWS SAM CLI
sam build
perintah, lihatPengantar bangunan dengan AWS SAM.
sam build
Perintah menyiapkan aplikasi untuk langkah-langkah selanjutnya dalam alur kerja pengembang, seperti pengujian lokal atau penyebaran ke file. AWS Cloud
Penggunaan
$
sam build
<arguments>
<options>
Pendapat
- 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 package
dansam deploy
.
Opsi
--base-dir, -s
DIRECTORY
-
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, -b
DIRECTORY
-
Jalur ke direktori tempat artefak build disimpan. Direktori ini dan semua isinya akan dihapus dengan opsi ini.
--build-image
TEXT
-
Gambar URI kontainer yang ingin Anda tarik untuk build. Secara default, AWS SAM tarik gambar kontainer dari Amazon ECR Public. 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, itu adalah gambar kontainer yang akan digunakan untuk semua sumber daya dalam aplikasi Anda. URI 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 gambar kontainer yang akan digunakan untuk sumber daya tersebut. URI 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-container
ditentukan, jika tidak akan terjadi kesalahan. --build-in-source | --no-build-in-source
-
Berikan
--build-in-source
untuk membangun proyek Anda langsung di folder sumber.--build-in-source
Opsi ini mendukung runtime dan metode build berikut:-
Runtime - Apa saja Node.js runtime didukung oleh
sam init --runtime
opsi. -
Membangun metode —
Makefile
,esbuild
.
--build-in-source
Opsi ini tidak kompatibel dengan opsi berikut:-
--hook-name
-
--use-container
Default:
--no-build-in-source
-
--cached | --no-cached
-
Aktifkan atau nonaktifkan 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-cached
opsi dipanggil, itu akan mengganticached = true
pengaturan di samcofig.toml.catatan
AWS SAM tidak mengevaluasi apakah Anda telah mengubah modul pihak ketiga yang bergantung pada proyek Anda, di mana Anda belum menyediakan versi tertentu. Misalnya, jika fungsi Python Anda menyertakan
requirements.txt
file dengan entrirequests=1.x
, dan versi modul permintaan terbaru berubah dari1.1
ke1.2
, maka AWS SAM tidak menarik versi terbaru hingga Anda menjalankan build yang tidak di-cache. --cache-dir
-
Direktori tempat artefak cache disimpan saat
--cached
ditentukan. Direktori cache default adalah.aws-sam/cache
. --config-env
TEXT
-
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 SAM CLI berkas konfigurasi.
--config-file
PATH
-
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 SAM CLI berkas konfigurasi. --container-env-var, -e
TEXT
-
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-container
ditentukan, jika tidak akan terjadi kesalahan. --container-env-var-file, -ef
PATH
-
Path dan nama file JSON file yang berisi nilai-nilai untuk variabel lingkungan wadah. Untuk informasi selengkapnya tentang file variabel lingkungan kontainer, lihat File variabel lingkungan kontainer.
Opsi ini hanya berlaku jika opsi
--use-container
ditentukan, jika tidak akan terjadi kesalahan. --debug
-
Mengaktifkan pencatatan debug untuk mencetak pesan debug yang AWS SAM CLI menghasilkan, dan untuk menampilkan stempel waktu.
--docker-network
TEXT
-
Menentukan nama atau ID dari yang ada Docker jaringan yang Lambda Docker kontainer harus terhubung ke, bersama dengan jaringan jembatan default. Jika tidak ditentukan, kontainer Lambda hanya terhubung ke jembatan default Docker jaringan.
--exclude, -x
-
Nama sumber daya untuk dikecualikan dari
sam build
. Misalnya, jika template Anda berisiFunction1
,Function2
,Function3
dan Anda menjalankansam build --exclude Function2
, hanyaFunction1
danFunction3
akan dibangun. --help
-
Menunjukkan pesan ini dan keluar.
--hook-name
TEXT
-
Nama kait yang digunakan untuk memperpanjang AWS SAM CLI fungsionalitas.
Nilai yang diterima:
terraform
. --manifest , -m
PATH
-
Jalur ke file manifest dependensi kustom (misalnya, package.json) yang akan digunakan bukan default.
--parallel
-
Pengaktifan 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) String yang berisi penggantian AWS CloudFormation parameter yang dikodekan sebagai pasangan nilai kunci. Menggunakan format yang sama dengan AWS Command Line Interface (AWS CLI). Misalnya: '
ParameterKey
=KeyPairName
,ParameterValue
=MyKey
ParameterKey
=InstanceType
,ParameterValue
=t1.micro
'. Opsi ini tidak kompatibel dengan--hook-name
. --profile
TEXT
-
Profil spesifik dari file kredensyal Anda yang mendapat AWS kredensyal.
--region
TEXT
-
Wilayah AWS Untuk menyebarkan ke. Misalnya, us-east-1.
--save-params
-
Simpan parameter yang Anda berikan pada baris perintah ke file AWS SAM konfigurasi.
--skip-prepare-infra
-
Melewati tahap persiapan jika tidak ada perubahan infrastruktur yang dilakukan. Gunakan dengan
--hook-name
opsi. --skip-pull-image
-
Menentukan apakah perintah harus melewatkan menarik ke bawah citra Docker terbaru untuk waktu aktif Lambda.
--template-file, --template, -t
PATH
-
Path dan nama file 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 Terraform file konfigurasi atau kode sumber fungsi. Jika file-file ini berada di luar direktori yang berisi Terraform modul root, gunakan opsi ini untuk menentukan jalur absolut atau relatifnya. Opsi ini mengharuskan
--hook-name
diatur keterraform
. --use-container
,-u
-
Jika fungsi Anda tergantung pada paket yang memiliki dependensi terkompilasi secara native, gunakan opsi ini untuk membangun fungsi Anda di dalam kontainer Docker mirip Lambda.
Contoh
Untuk contoh terperinci dan panduan mendalam tentang penggunaan sam build
subperintah, lihat. Pengantar bangunan dengan AWS SAM