Pembekal awan semakin penting, malah kebiasaan asas adalah kelebihan yang ketara. Artikel ini meneroka SST, alat yang menawarkan abstraksi diperkemas melalui AWS CDK, yang menterjemah kod ke dalam templat CloudFormation.
Walaupun mendalami CloudFormation bukan fokus, memahami tujuannya adalah penting: AWS CloudFormation mengautomasikan peruntukan dan konfigurasi sumber AWS, menjimatkan masa dan usaha. Anda mentakrifkan sumber yang anda inginkan (cth., kejadian EC2, pangkalan data RDS) dalam templat dan CloudFormation mengendalikan selebihnya, termasuk pengurusan pergantungan. Walau bagaimanapun, mencipta templat CloudFormation boleh berlawanan dengan intuisi, menyerlahkan nilai abstraksi peringkat lebih tinggi seperti SST.
Mari gunakan Next.js untuk menunjukkan kuasa SST dan interaksinya dengan CDK/CloudFormation.
Buat apl Next.js:
<code class="language-bash">npx create-next-app@latest aws-nextjs cd aws-nextjs</code>
Memulakan SST:
<code class="language-bash">npx sst@latest init</code>
SST menjana fail konfigurasi. Untuk contoh kami:
<code class="language-javascript">const bucket = new sst.aws.Bucket("MyBucket", { access: "public" });</code>
Ini mencipta baldi S3 yang boleh diakses secara umum bernama "MyBucket" selepas kompilasi templat CloudFormation.
Konfigurasikan Next.js untuk menggunakan baldi:
<code class="language-javascript">new sst.aws.Nextjs("MyWeb", { link: [bucket] })</code>
Ini menyepadukan baldi secara ringkas ke dalam penggunaan Next.js, mengurus butiran infrastruktur asas. Kod sumber mendedahkan komponen infrastruktur selanjutnya yang dikendalikan secara automatik:
Fungsi AWS Lambda adalah fungsi yang didorong peristiwa jangka pendek. CDK menawarkan pelbagai kaedah penggunaan, tetapi SST memudahkan lagi perkara ini:
https://www.php.cn/link/07d34e2419c61216a85a2156b2cf8ae4
SST menyediakan abstraksi untuk konfigurasi Node.js, versi dan pilihan penggabungan menggunakan esbuild:
https://www.php.cn/link/07d34e2419c61216a85a2156b2cf8ae4#L717-L720
Akhirnya, ini memudahkan penggunaan kepada:
<code class="language-javascript">return new lambda.Function( transformed[0], { ...transformed[1], ...(dev ? { description: transformed[1].description ? output(transformed[1].description).apply( (v) => `${v.substring(0, 240)} (live)`, ) : "live", runtime: "provided.al2023", architectures: ["x86_64"], } : {}), }, transformed[2], );</code>
Abstraksi SST menyelaraskan proses dengan ketara, menjadikan pengurusan infrastruktur lebih cekap.
Atas ialah kandungan terperinci SST - bahagian infrastruktur yang mungkin sah. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!