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

BERLAKU UNTUK: NoSQL

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.

  • Menyebarkan akun Azure Cosmos DB.
  • Sebarkan Rencana Hosting Azure App Service.
  • Sebarkan Azure App Service.
  • Masukkan titik akhir dan kunci dari akun Azure Cosmos DB 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

Button to deploy the Resource Manager template to Azure.

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

Screenshot of the template deployment UI

  • 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 DB.
  • Nama Kontainer - Nama kontainer Azure Cosmos DB.

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 DB yang dimasukkan dalam templat 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.

Resource Group

Menampilkan titik akhir dan kunci Azure Cosmos DB

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

Azure Cosmos DB Keys

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 Azure Cosmos DB dan nilai kunci utama yang diperlukan untuk terhubung ke Azure Cosmos DB serta nama database dan kontainer yang diteruskan dari penyebaran templat.

Application Settings

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.

Deployment Center

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 Azure Cosmos DB.

Home Screen

Langkah 3: Cara kerjanya

Ada tiga elemen yang diperlukan agar ini berhasil.

Membaca pengaturan aplikasi pada runtime

Pertama, aplikasi perlu meminta titik akhir dan kunci Azure Cosmos DB di Startup kelas di aplikasi web MVC ASP.NET. Sampel Yang Harus Dilakukan Azure Cosmos DB dapat berjalan secara lokal di mana Anda dapat memasukkan informasi koneksi ke dalam 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.

Screenshot shows a method with several string variables marked in red, including databaseName, containerName, account, and key.

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 Azure Cosmos DB menggunakan fungsi Azure Resource Management khusus termasuk referensi dan listKeys yang mengambil nilai dari akun Azure Cosmos DB dan memasukkannya ke dalam nilai pengaturan aplikasi dengan nama kunci yang cocok dengan apa yang digunakan dalam aplikasi di atas di '{bagian: format key}'. Contohnya, CosmosDb:Account.

Template Keys

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.

Deploy From GitHub

Langkah berikutnya

Selamat! Anda telah menyebarkan Azure Cosmos DB, Azure App Service, dan aplikasi web sampel yang secara otomatis memiliki info koneksi yang diperlukan untuk terhubung ke Azure 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.