Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Unggah artefak lokal ke bucket S3 dengan AWS CLI
Untuk beberapa properti sumber daya yang memerlukan lokasi Amazon S3 (nama bucket dan nama file), Anda dapat menentukan referensi lokal sebagai gantinya. Misalnya, Anda dapat menentukan lokasi S3 dari kode sumber AWS Lambda fungsi Anda atau file Terbuka Amazon API Gateway REST API API (sebelumnya Swagger). Alih-alih mengunggah file secara manual ke bucket S3 dan kemudian menambahkan lokasi ke template Anda, Anda dapat menentukan referensi lokal, yang disebut artefak lokal, di template Anda dan kemudian menggunakan packageCLIperintah untuk mengunggahnya dengan cepat. Artefak lokal adalah jalur ke file atau folder yang diunggah package perintah ke Amazon S3. Misalnya, artefak dapat berupa jalur lokal ke kode sumber AWS Lambda fungsi Anda atau API file REST API Terbuka Amazon API Gateway.
Jika Anda menentukan file, perintah secara langsung mengunggahnya ke bucket S3. Setelah mengunggah artifact, perintah menampilkan salinan templat Anda, mengganti referensi ke artifact lokal dengan lokasi S3 tempat perintah mengunggah artifact. Kemudian, Anda dapat menggunakan template yang ditampilkan untuk membuat atau memperbarui tumpukan.
Jika Anda menentukan folder, perintah membuat .zip
file untuk folder, dan kemudian mengunggah .zip
file. Jika Anda tidak menentukan jalur, perintah akan membuat .zip
file untuk direktori kerja, dan mengunggahnya. Anda dapat menentukan jalur absolut atau relatif, dimana jalur relatif bersifat relatif untuk lokasi templat Anda.
Anda dapat menggunakan artifact lokal untuk atribut sumber daya yang didukung perintah package saja. Untuk informasi selengkapnya tentang perintah ini dan daftar properti sumber daya yang didukung, lihat packagedokumentasi dalam Referensi AWS CLI Perintah.
Templat berikut menentukan artifact lokal untuk kode sumber fungsi Lambda. Kode sumber disimpan di folder /home/user/code/lambdafunction
pengguna.
Template asli
{
"AWSTemplateFormatVersion": "2010-09-09",
"Transform": "AWS::Serverless-2016-10-31",
"Resources": {
"MyFunction": {
"Type": "AWS::Serverless::Function",
"Properties": {
"Handler": "index.handler",
"Runtime": "nodejs18.x",
"CodeUri": "/home/user/code/lambdafunction"
}
}
}
}
packagePerintah berikut membuat .zip
file yang berisi folder kode sumber fungsi, dan kemudian mengunggah .zip
file ke folder root
bucket.amzn-s3-demo-bucket
Perintah package
aws cloudformation package --s3-bucket
amzn-s3-demo-bucket
\ --template/path_to_template/template.json
\ --output-template-filepackaged-template.json
\ --output json
Perintah menyimpan templat yang dihasilkannya ke jalur yang ditentukan oleh pilihan --output-template-file
. Perintah menggantikan artefak dengan lokasi Amazon S3, seperti yang ditunjukkan pada contoh berikut:
Template yang dihasilkan
{
"AWSTemplateFormatVersion": "2010-09-09",
"Transform": "AWS::Serverless-2016-10-31",
"Resources": {
"MyFunction": {
"Type": "AWS::Serverless::Function",
"Properties": {
"Handler": "index.handler",
"Runtime": "nodejs18.x",
"CodeUri": "s3://amzn-s3-demo-bucket
/<md5 checksum>
"
}
}
}
}