Menggunakan Custom JSON - AWS OpsWorks

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

Menggunakan Custom JSON

penting

Bagian AWS OpsWorks Stacks layanan mencapai akhir masa pakai pada 26 Mei 2024 dan telah dinonaktifkan untuk pelanggan baru dan yang sudah ada. Kami sangat menyarankan pelanggan untuk memindahkan beban kerja mereka ke solusi lain sesegera mungkin. Jika Anda memiliki pertanyaan tentang migrasi, hubungi AWS Support Tim di AWS Re: posting atau melalui AWS Dukungan Premium.

Beberapa AWS OpsWorks Tindakan tumpukan memungkinkan Anda menentukan kustomJSON, yang AWS OpsWorks Tumpukan dipasang pada instance dan dapat digunakan oleh resep.

Anda dapat menentukan kustom JSON dalam situasi berikut:

Kustom JSON harus diwakili oleh, dan diformat sebagai, JSON objek yang valid. Sebagai contoh:

{ "att1": "value1", "att2": "value2" ... }

AWS OpsWorks Stacks menyimpan kustom JSON di lokasi berikut:

Pada instans Linux:

  • /var/chef/runs/run-ID/attribs.json

  • /var/chef/runs/run-ID/nodes/hostname.json

Pada contoh Windows:

  • drive:\chef\runs\run-ID\attribs.json

  • drive:\chef\runs\run-ID\nodes\hostname.json

catatan

Di Chef 11.10 dan versi sebelumnya untuk Linux, kustom JSON terletak di jalur berikut pada instance Linux, instance Windows tidak tersedia, dan tidak ada file. attribs.json Log disimpan dalam folder atau direktori yang sama dengan fileJSON. Untuk informasi selengkapnya tentang kustom JSON di Chef 11.10 dan versi sebelumnya untuk Linux, lihat Mengganti Atribut dengan Log Kustom JSON dan Chef.

/var/lib/aws/opsworks/chef/hostname.json

Di jalan sebelumnya, run-ID adalah ID unik yang AWS OpsWorks Tumpukan ditugaskan ke setiap Chef yang dijalankan pada sebuah instance, dan hostname adalah nama host instance.

Untuk mengakses kustom JSON dari resep Chef, gunakan node sintaks Chef standar.

Misalnya, Anda ingin menentukan setelan sederhana untuk aplikasi yang ingin Anda terapkan, seperti apakah aplikasi awalnya terlihat dan warna latar depan dan latar belakang awal aplikasi. Misalkan Anda mendefinisikan pengaturan aplikasi ini dengan JSON objek sebagai berikut:

{ "state": "visible", "colors": { "foreground": "light-blue", "background": "dark-gray" } }

Untuk mendeklarasikan kustom JSON untuk tumpukan:

  1. Pada halaman stack, pilih Stack Settings, lalu pilih Edit.

  2. Untuk Custom Chef JSON, ketik JSON objek, lalu pilih Simpan.

catatan

Anda dapat mendeklarasikan kustom JSON di level deployment, layer, dan stack. Anda mungkin ingin melakukan ini jika Anda ingin beberapa kustom JSON hanya terlihat oleh penerapan atau lapisan individu. Atau, misalnya, Anda mungkin ingin mengganti sementara kustom yang JSON dideklarasikan di tingkat tumpukan dengan kustom JSON dideklarasikan di tingkat lapisan. Jika Anda mendeklarasikan kustom JSON di beberapa tingkatan, kustom yang JSON dideklarasikan pada tingkat penerapan akan menggantikan kustom apa pun yang JSON dideklarasikan di tingkat lapisan dan tumpukan. Kustom yang JSON dideklarasikan pada tingkat lapisan mengesampingkan kustom yang JSON dideklarasikan hanya pada tingkat tumpukan.

Untuk menggunakan AWS OpsWorks Konsol tumpukan untuk menentukan kustom JSON untuk penerapan, pada halaman Deploy App, pilih Advanced. Ketik kustom JSON di JSON kotak Custom Chef, lalu pilih Simpan.

Untuk menggunakan AWS OpsWorks Konsol tumpukan untuk menentukan kustom JSON untuk lapisan, pada halaman Layers, pilih Pengaturan untuk lapisan yang diinginkan. Ketik kustom JSON di JSON kotak Kustom, lalu pilih Simpan.

Untuk informasi selengkapnya, silakan lihat Mengedit Konfigurasi OpsWorks Layer dan Menerapkan Aplikasi.

Saat Anda menjalankan perintah deployment atau stack, resep dapat mengambil nilai-nilai kustom ini dengan menggunakan node sintaks Chef standar, yang memetakan langsung ke hierarki di objek kustom. JSON Misalnya, kode resep berikut menulis pesan ke log Chef tentang nilai kustom JSON sebelumnya:

Chef::Log.info("********** The app's initial state is '#{node['state']}' **********") Chef::Log.info("********** The app's initial foreground color is '#{node['colors']['foreground']}' **********") Chef::Log.info("********** The app's initial background color is '#{node['colors']['background']}' **********")

Pendekatan ini dapat berguna untuk meneruskan data ke resep. AWS OpsWorks Stacks menambahkan data tersebut ke instance, dan resep dapat mengambil data dengan menggunakan sintaks Chef node standar.

catatan

Kustom JSON dibatasi hingga 120 KB. Jika Anda membutuhkan lebih banyak kapasitas, kami sarankan untuk menyimpan beberapa data di Amazon Simple Storage Service (Amazon S3). Resep kustom Anda kemudian dapat menggunakan AWSCLIatau AWS SDK for Rubyuntuk mengunduh data dari bucket Amazon S3 ke instans Anda.