Pilih preferensi cookie Anda

Kami menggunakan cookie penting serta alat serupa yang diperlukan untuk menyediakan situs dan layanan. Kami menggunakan cookie performa untuk mengumpulkan statistik anonim sehingga kami dapat memahami cara pelanggan menggunakan situs dan melakukan perbaikan. Cookie penting tidak dapat dinonaktifkan, tetapi Anda dapat mengklik “Kustom” atau “Tolak” untuk menolak cookie performa.

Jika Anda setuju, AWS dan pihak ketiga yang disetujui juga akan menggunakan cookie untuk menyediakan fitur situs yang berguna, mengingat preferensi Anda, dan menampilkan konten yang relevan, termasuk iklan yang relevan. Untuk menerima atau menolak semua cookie yang tidak penting, klik “Terima” atau “Tolak”. Untuk membuat pilihan yang lebih detail, klik “Kustomisasi”.

Gunakan CloudFormation parameter untuk mendapatkan CloudFormation nilai

Mode fokus
Gunakan CloudFormation parameter untuk mendapatkan CloudFormation nilai - AWS Cloud Development Kit (AWS CDK) v2

Ini adalah Panduan Pengembang AWS CDK v2. CDK v1 yang lebih lama memasuki pemeliharaan pada 1 Juni 2022 dan mengakhiri dukungan pada 1 Juni 2023.

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Ini adalah Panduan Pengembang AWS CDK v2. CDK v1 yang lebih lama memasuki pemeliharaan pada 1 Juni 2022 dan mengakhiri dukungan pada 1 Juni 2023.

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Gunakan AWS CloudFormation parameter dalam AWS Cloud Development Kit (AWS CDK) aplikasi untuk memasukkan nilai kustom ke dalam CloudFormation template yang disintesis saat penerapan.

Untuk pendahuluan, lihat Parameter dan AWS CDK.

Tentukan parameter di aplikasi CDK

Gunakan CfnParameterkelas untuk menentukan parameter. Anda akan ingin menentukan setidaknya jenis dan deskripsi untuk sebagian besar parameter, meskipun keduanya secara teknis opsional. Deskripsi muncul ketika pengguna diminta untuk memasukkan nilai parameter di AWS CloudFormation konsol. Untuk informasi selengkapnya tentang jenis yang tersedia, lihat Jenis.

catatan

Anda dapat menentukan parameter dalam lingkup apa pun. Namun, kami merekomendasikan untuk menentukan parameter pada tingkat tumpukan sehingga ID logisnya tidak berubah saat Anda memfaktorkan ulang kode Anda.

TypeScript
const uploadBucketName = new CfnParameter(this, "uploadBucketName", { type: "String", description: "The name of the Amazon S3 bucket where uploaded files will be stored."});
JavaScript
const uploadBucketName = new CfnParameter(this, "uploadBucketName", { type: "String", description: "The name of the Amazon S3 bucket where uploaded files will be stored."});
Python
upload_bucket_name = CfnParameter(self, "uploadBucketName", type="String", description="The name of the Amazon S3 bucket where uploaded files will be stored.")
Java
CfnParameter uploadBucketName = CfnParameter.Builder.create(this, "uploadBucketName") .type("String") .description("The name of the Amazon S3 bucket where uploaded files will be stored") .build();
C#
var uploadBucketName = new CfnParameter(this, "uploadBucketName", new CfnParameterProps { Type = "String", Description = "The name of the Amazon S3 bucket where uploaded files will be stored" });
const uploadBucketName = new CfnParameter(this, "uploadBucketName", { type: "String", description: "The name of the Amazon S3 bucket where uploaded files will be stored."});

Gunakan parameter

Sebuah CfnParameter instance mengekspos nilainya ke aplikasi CDK Anda melalui token. Seperti semua token, token parameter diselesaikan pada waktu sintesis. Tapi itu menyelesaikan referensi ke parameter yang ditentukan dalam AWS CloudFormation template (yang akan diselesaikan pada waktu penerapan), bukan ke nilai konkret.

Anda dapat mengambil token sebagai contoh dari Token kelas, atau dalam string, daftar string, atau pengkodean numerik. Pilihan Anda tergantung pada jenis nilai yang dibutuhkan oleh kelas atau metode yang ingin Anda gunakan parameternya.

TypeScript
Properti jenis nilai
value Tokencontoh kelas
valueAsList Token direpresentasikan sebagai daftar string
valueAsNumber Token direpresentasikan sebagai angka
valueAsString Token direpresentasikan sebagai string
JavaScript
Properti jenis nilai
value Tokencontoh kelas
valueAsList Token direpresentasikan sebagai daftar string
valueAsNumber Token direpresentasikan sebagai angka
valueAsString Token direpresentasikan sebagai string
Python
Properti jenis nilai
value Tokencontoh kelas
value_as_list Token direpresentasikan sebagai daftar string
value_as_number Token direpresentasikan sebagai angka
value_as_string Token direpresentasikan sebagai string
Java
Properti jenis nilai
getValue() Tokencontoh kelas
getValueAsList() Token direpresentasikan sebagai daftar string
getValueAsNumber() Token direpresentasikan sebagai angka
getValueAsString() Token direpresentasikan sebagai string
C#
Properti jenis nilai
Value Tokencontoh kelas
ValueAsList Token direpresentasikan sebagai daftar string
ValueAsNumber Token direpresentasikan sebagai angka
ValueAsString Token direpresentasikan sebagai string
Properti jenis nilai
value Tokencontoh kelas
valueAsList Token direpresentasikan sebagai daftar string
valueAsNumber Token direpresentasikan sebagai angka
valueAsString Token direpresentasikan sebagai string

Misalnya, untuk menggunakan parameter dalam Bucket definisi:

TypeScript
const bucket = new Bucket(this, "amzn-s3-demo-bucket", { bucketName: uploadBucketName.valueAsString});
JavaScript
const bucket = new Bucket(this, "amzn-s3-demo-bucket", { bucketName: uploadBucketName.valueAsString});
Python
bucket = Bucket(self, "amzn-s3-demo-bucket", bucket_name=upload_bucket_name.value_as_string)
Java
Bucket bucket = Bucket.Builder.create(this, "amzn-s3-demo-bucket") .bucketName(uploadBucketName.getValueAsString()) .build();
C#
var bucket = new Bucket(this, "amzn-s3-demo-bucket") { BucketName = uploadBucketName.ValueAsString };
const bucket = new Bucket(this, "amzn-s3-demo-bucket", { bucketName: uploadBucketName.valueAsString});

Terapkan aplikasi CDK yang berisi parameter

Saat Anda menerapkan AWS CloudFormation template yang dihasilkan melalui AWS CloudFormation konsol, Anda akan diminta untuk memberikan nilai untuk setiap parameter.

Anda juga dapat memberikan nilai parameter menggunakan CDK CLI cdk deployperintah, atau dengan menentukan nilai parameter dalam file tumpukan proyek CDK Anda.

Berikan nilai parameter dengan cdk deploy

Saat Anda menerapkan menggunakan CDK CLI cdk deployperintah, Anda dapat memberikan nilai parameter pada penerapan dengan --parameters opsi.

Berikut ini adalah contoh struktur cdk deploy perintah:

$ cdk deploy stack-logical-id --parameters stack-name:parameter-name=parameter-value

Jika aplikasi CDK Anda berisi satu tumpukan, Anda tidak perlu memberikan argumen ID logis tumpukan atau stack-name nilai dalam --parameters opsi. CDK CLI akan secara otomatis menemukan dan memberikan nilai-nilai ini. Berikut ini adalah contoh yang menentukan uploadbucket nilai untuk uploadBucketName parameter tumpukan tunggal di aplikasi CDK kami:

$ cdk deploy --parameters uploadBucketName=uploadbucket

Berikan nilai parameter dengan cdk deploy untuk aplikasi multi-stack

Berikut ini adalah contoh aplikasi CDK di TypeScript yang berisi dua tumpukan CDK. Setiap tumpukan berisi instance bucket Amazon S3 dan parameter untuk menyetel nama bucket Amazon S3:

import * as cdk from 'aws-cdk-lib'; import { Construct } from 'constructs'; import * as s3 from 'aws-cdk-lib/aws-s3'; // Define the CDK app const app = new cdk.App(); // First stack export class MyFirstStack extends cdk.Stack { constructor(scope: Construct, id: string, props?: cdk.StackProps) { super(scope, id, props); // Set a default parameter name const bucketNameParam = new cdk.CfnParameter(this, 'bucketNameParam', { type: 'String', default: 'myfirststackdefaultbucketname' }); // Define an S3 bucket new s3.Bucket(this, 'MyFirstBucket', { bucketName: bucketNameParam.valueAsString }); } } // Second stack export class MySecondStack extends cdk.Stack { constructor(scope: Construct, id: string, props?: cdk.StackProps) { super(scope, id, props); // Set a default parameter name const bucketNameParam = new cdk.CfnParameter(this, 'bucketNameParam', { type: 'String', default: 'mysecondstackdefaultbucketname' }); // Define an S3 bucket new s3.Bucket(this, 'MySecondBucket', { bucketName: bucketNameParam.valueAsString }); } } // Instantiate the stacks new MyFirstStack(app, 'MyFirstStack', { stackName: 'MyFirstDeployedStack', }); new MySecondStack(app, 'MySecondStack', { stackName: 'MySecondDeployedStack', });

Untuk aplikasi CDK yang berisi banyak tumpukan, Anda dapat melakukan hal berikut:

  • Menyebarkan satu tumpukan dengan parameter — Untuk menyebarkan tumpukan tunggal dari aplikasi multi-tumpukan, berikan ID logis tumpukan sebagai argumen.

    Berikut ini adalah contoh yang menyebarkan MySecondStack dengan mynewbucketname sebagai nilai parameter untukbucketNameParam:

    $ cdk deploy MySecondStack --parameters bucketNameParam='mynewbucketname'
  • Terapkan semua tumpukan dan tentukan nilai parameter untuk setiap tumpukan — Berikan '*' wildcard atau --all opsi untuk menyebarkan semua tumpukan. Berikan --parameters opsi beberapa kali dalam satu perintah untuk menentukan nilai parameter untuk setiap tumpukan. Berikut adalah contohnya:

    $ cdk deploy '*' --parameters MyFirstDeployedStack:bucketNameParam='mynewfirststackbucketname' --parameters MySecondDeployedStack:bucketNameParam='mynewsecondstackbucketname'
  • Terapkan semua tumpukan dan tentukan nilai parameter untuk satu tumpukan — Berikan '*' wildcard atau --all opsi untuk menyebarkan semua tumpukan. Kemudian, tentukan tumpukan untuk menentukan parameter untuk dalam --parameters opsi. Berikut ini adalah contoh yang menerapkan semua tumpukan di aplikasi CDK dan menentukan nilai parameter untuk tumpukan. MySecondDeployedStack AWS CloudFormation Semua tumpukan lain akan menyebarkan dan menggunakan nilai parameter default:

    $ cdk deploy '*' --parameters MySecondDeployedStack:bucketNameParam='mynewbucketname' $ cdk deploy --all --parameters MySecondDeployedStack:bucketNameParam='mynewbucketname'

Berikan nilai parameter dengan cdk deploy untuk aplikasi dengan tumpukan bersarang

CDK CLI perilaku saat bekerja dengan aplikasi yang berisi tumpukan bersarang mirip dengan aplikasi multi-tumpukan. Perbedaan utamanya adalah, jika Anda ingin menyebarkan semua tumpukan bersarang, gunakan wildcard. '**' '*'Wildcard menyebarkan semua tumpukan tetapi tidak akan menyebarkan tumpukan bersarang. '**'Wildcard menyebarkan semua tumpukan, termasuk tumpukan bersarang.

Berikut ini adalah contoh yang menyebarkan tumpukan bersarang sambil menentukan nilai parameter untuk satu tumpukan bersarang:

$ cdk deploy '**' --parameters MultiStackCdkApp/SecondStack:bucketNameParam='mysecondstackbucketname'

Untuk informasi selengkapnya tentang opsi cdk deploy perintah, lihatcdk deploy.

PrivasiSyarat situsPreferensi cookie
© 2025, Amazon Web Services, Inc. atau afiliasinya. Semua hak dilindungi undang-undang.