Sebarkan Azure Cosmos DB dan Azure App Service dengan aplikasi web dari GitHub menggunakan Templat Azure Resource Manager

BERLAKU UNTUK: API SQL

Tutorial ini menunjukkan kepada Anda cara melakukan penyebaran "tanpa sentuhan" dari aplikasi web yang terhubung ke Azure Cosmos DB pada proses pertama tanpa harus memotong dan menempelkan informasi koneksi apa pun dari Azure Cosmos DB ke appsettings.json atau ke pengaturan aplikasi Azure App Services di portal Azure. Semua tindakan ini dilakukan menggunakan templat Azure Resource Manager dalam satu operasi. Dalam contoh di sini kita akan menyebarkan sampel Azure Cosmos DB ToDo dari tutorial aplikasi Web.

Templat Resource Manager cukup fleksibel dan memungkinkan Anda untuk menyusun penyebaran kompleks di semua layanan di Azure. Ini termasuk tugas lanjutan seperti menyebarkan aplikasi dari GitHub dan menyuntikkan informasi koneksi ke pengaturan aplikasi Azure App Service di portal Azure. Tutorial ini akan menunjukkan kepada Anda cara melakukan hal-hal berikut menggunakan satu templat Resource Manager.

  • Sebarkan akun Azure Cosmos.
  • Sebarkan Rencana Hosting Azure App Service.
  • Sebarkan Azure App Service.
  • Suntikkan titik akhir dan kunci dari akun Azure Cosmos ke pengaturan aplikasi App Service di portal Azure.
  • Sebarkan aplikasi web dari repositori GitHub ke App Service.

Hasil penyebarannya adalah aplikasi web fungsional yang dapat terhubung ke Azure Cosmos DB tanpa harus memotong dan menempelkan URL titik akhir Azure Cosmos DB atau kunci autentikasi dari portal Azure.

Prasyarat

Tip

Meskipun tutorial ini tidak perlu pengalaman dengan templat Azure Resource Manager atau JSON, jika Anda ingin memodifikasi templat atau opsi penyebaran yang dirujuk, maka pengetahuan tentang masing-masing area ini diperlukan.

Langkah 1: Sebarkan templat

Pertama, pilih tombol Sebarkan ke Azure di bawah ini untuk membuka portal Azure demi penyebaran kustom. Anda juga bisa melihat templat Azure Resource Management dari Galeri Templat Mulai Cepat Azure

Sebarkan ke Azure

Setelah berada di portal Azure, pilih langganan yang ingin disebarkan dan pilih atau buat grup sumber daya baru. Lalu isi nilai berikut.

Cuplikan layar UI penyebaran templat

  • Wilayah - Ini diperlukan oleh Resource Manager. Masukkan wilayah yang sama dengan yang digunakan oleh parameter lokasi tempat sumber daya Anda berada.
  • Nama Aplikasi - Nama ini digunakan oleh semua sumber daya untuk penyebaran ini. Pastikan untuk memilih nama unik demi menghindari konflik dengan akun Azure Cosmos DB dan App Service yang ada.
  • Lokasi - Wilayah tempat sumber daya Anda digunakan.
  • Tingkat Rencana App Service - Tingkat harga Rencana App Service.
  • Instans Rencana App Service - Jumlah pekerja untuk rencana layanan aplikasi.
  • URL Repositori - Repositori ke aplikasi web di GitHub.
  • Cabang - Cabang untuk repositori GitHub.
  • Nama Database - Nama database Azure Cosmos.
  • Nama Kontainer - Nama kontainer Azure Cosmos.

Setelah mengisi nilai, pilih tombol Buat untuk memulai penyebaran. Langkah ini harusnya memakan waktu antara 5 dan 10 menit sampai selesai.

Tip

Templat tidak memvalidasi bahwa nama Azure App Service dan nama akun Azure Cosmos yang dimasukkan dalam templatnya valid dan tersedia. Sangat disarankan agar Anda memverifikasi ketersediaan nama yang ingin disuplai sebelum mengirimkan penyebaran.

Langkah 2: Jelajahi sumber daya

Lihat sumber daya yang diterapkan

Setelah templat menggunakan sumber daya, Anda sekarang dapat melihat masing-masingnya di grup sumber daya Anda.

Grup Sumber Daya

Lihat titik akhir dan kunci Cosmos DB

Selanjutnya, buka akun Azure Cosmos di portal. Cuplikan layar berikut ini memperlihatkan titik akhir dan kunci untuk akun Azure Cosmos.

Kunci Kosmos

Lihat kunci Azure Cosmos DB dalam pengaturan aplikasi

Selanjutnya, buka Azure App Service di grup sumber daya. Klik tab Konfigurasi untuk melihat Pengaturan Aplikasi untuk App Service. Pengaturan Aplikasi berisi akun Cosmos DB dan nilai kunci utama yang diperlukan untuk terhubung ke Cosmos DB serta nama database dan kontainer yang diteruskan dari penyebaran templat.

Pengaturan Aplikasi

Lihat aplikasi web di Pusat Penyebaran

Selanjutnya masuk ke Pusat Penyebaran untuk App Service. Di sini Anda akan melihat Repositori menunjuk ke repositori GitHub diteruskan ke templat. Juga Status di bawah ini menunjukkan Berhasil(Aktif), yang berarti aplikasi berhasil digunakan dan dimulai.

Pusat Penyebaran

Jalankan aplikasi web

Klik Telusuri di bagian atas Pusat Penyebaran untuk membuka aplikasi web. Aplikasi web akan terbuka ke layar beranda. Klik Buat Baru dan masukkan beberapa data ke dalam bidang dan klik Simpan. Layar yang dihasilkan menunjukkan data yang disimpan ke Cosmos DB.

Layar Beranda

Langkah 3: Cara kerjanya

Ada tiga elemen yang diperlukan agar ini berhasil.

Membaca pengaturan aplikasi pada runtime

Pertama, aplikasi perlu meminta titik akhir Cosmos DB dan kunci di kelas Startup di aplikasi web ASP.NET MVC. Sampel Cosmos DB To Do dapat berjalan secara lokal agar Anda dapat memasukkan informasi koneksi appsettings.json. Namun, ketika disebarkan, file ini tidak menyebar dengan aplikasi. Jika garis-garis merah ini tidak dapat mengakses pengaturan dari appsettings.json, ia akan mencoba dari Pengaturan Aplikasi di Azure App Service.

Cuplikan layar memperlihatkan metode dengan beberapa variabel string berwarna merah, termasuk databaseName, containerName, akun, dan kunci.

Menggunakan fungsi spesial Azure Resource Management

Agar nilai-nilai ini tersedia untuk aplikasi saat disebarkan, templat Azure Resource Manager dapat meminta nilai-nilai tersebut dari akun Cosmos DB menggunakan fungsi spesial Azure Resource Manager termasuk referensi dan listKeys yang mengambil nilai dari akun Cosmos DB dan memasukkannya ke dalam nilai pengaturan aplikasi dengan nama kunci yang cocok dengan yang digunakan dalam aplikasi di atas dalam format '{section:key}'. Contohnya:CosmosDb:Account

Kunci Templat

Menyebarkan aplikasi web dari GitHub

Terakhir, kita perlu menyebarkan aplikasi web dari GitHub ke dalam App Service. Ini dilakukan menggunakan JSON di bawah ini. Dua hal yang harus diperhatikan adalah jenis dan nama untuk sumber daya ini. Baik nilai properti "type": "sourcecontrols" dan "name": "web" berkode keras dan tidak boleh diubah.

Sebarkan Dari GitHub

Langkah berikutnya

Selamat! Anda telah menerapkan Azure Cosmos DB, Azure App Service, dan aplikasi web sampel yang secara otomatis memiliki info koneksi yang diperlukan untuk terhubung ke Cosmos DB, semuanya dalam satu operasi dan tanpa harus memotong dan menempelkan informasi sensitif. Dengan templat ini sebagai titik awal, Anda dapat memodifikasinya untuk menyebarkan aplikasi web Anda sendiri dengan cara yang sama.