Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Setelah Anda membangun templat Azure Developer CLI (azd) baru atau mulai dari yang sudah ada, Anda dapat memperluas dan mengembangkan aplikasi dan infrastrukturnya saat persyaratan Anda berubah. Tutorial ini menunjukkan cara menambahkan layanan Azure baru ke templat tanpa mengandalkan modul yang sudah disediakan templat.
Anda akan memulai dengan hello-azd template, membuat modul Bicep yang mendefinisikan sumber daya Azure Translator, mereferensikan modul tersebut dari titik masuk infrastruktur template, dan mengekspos outputnya sebagai nilai lingkungan azd. Tutorial ini berfokus pada perluasan infrastruktur dan tidak mengubah kode aplikasi.
Note
Anda dapat membuat perubahan berikut secara langsung atau dengan bantuan dari asisten pengodian AI. Terlepas dari metode penulisan, tinjau file yang dihasilkan dan validasi templat sebelum penyebaran.
Prasyarat
Untuk menyelesaikan tutorial ini, Anda memerlukan:
- Azure Developer CLI terinstal.
- Sebuah langganan Azure.
- Izin untuk membuat sumber daya Azure dalam langganan.
- Direktori kosong untuk templat yang diinisialisasi.
Menginisialisasi templat
Buka terminal di direktori kosong, lalu inisialisasi templat di direktori tersebut hello-azd :
azd init --template hello-azd .
Templat mencakup:
- Aplikasi C# di-deploy ke Azure Container Apps sebagai layanan
acadiazure.yaml. - Identitas terkelola yang ditetapkan pengguna untuk aplikasi.
- Akun Azure Storage dengan kontainer dan tabel blob.
- Azure Container Registry dan lingkungan Azure Container Apps.
- Modul Bicep yang dapat dipakai ulang di bawah
infra/core.
Untuk panduan tentang memilih dan meninjau templat sebelum inisialisasi, lihat Mulai dari templat yang sudah ada.
Membuat modul Penerjemah
Buat file bernama infra/translator.bicep, baik secara manual atau dengan bantuan dari asisten pengodian AI. Modul baru ini mandiri dan tidak bergantung pada modul dari templat awal:
@description('Name of the Azure Translator resource.')
param name string
@description('Azure region for the resource.')
param location string
@description('Tags to apply to the resource.')
param tags object = {}
@description('Pricing tier for Azure Translator.')
@allowed([
'F0'
'S1'
])
param sku string = 'F0'
resource translator 'Microsoft.CognitiveServices/accounts@2023-05-01' = {
name: name
location: location
kind: 'TextTranslation'
sku: {
name: sku
}
properties: {
customSubDomainName: name
disableLocalAuth: true
publicNetworkAccess: 'Enabled'
}
tags: tags
}
output name string = translator.name
output endpoint string = translator.properties.endpoint
Modul menggunakan TextTranslation jenis sumber daya dan menonaktifkan autentikasi kunci lokal. Tingkat F0 ini berguna untuk evaluasi tetapi hanya memungkinkan satu sumber daya Penerjemah gratis per langganan. Gunakan S1 jika langganan sudah berisi F0 sumber daya atau jika proyek memerlukan tingkat berbayar.
Penting
Contoh pengantar ini memungkinkan titik akhir publik sehingga Anda dapat menyediakan sumber daya tanpa menambahkan infrastruktur jaringan. Sebelum Anda menggunakan pola ini dalam produksi, evaluasi titik akhir privat, kontrol akses jaringan, pemantauan, dan persyaratan keamanan organisasi Anda.
Rujuk modul dari main.bicep
Templat hello-azd mendefinisikan nilai grup sumber daya rg, location, tags, dan resourceToken di infra/main.bicep. Anda dapat mengedit ini dengan tangan atau meminta asisten AI untuk menambahkannya. Tambahkan modul berikut setelah rg deklarasi sumber daya:
module translator './translator.bicep' = {
name: 'translator'
scope: rg
params: {
name: 'translator-${resourceToken}'
location: location
tags: tags
}
}
Properti scope menyebarkan modul ke dalam grup sumber daya yang dibuat templat. Nilai yang resourceToken ada membuat nama sumber daya Penerjemah berbeda untuk setiap lingkungan.
Ekspor hasil Translator
Tambahkan output berikut di akhir infra/main.bicep:
output AZURE_TRANSLATOR_NAME string = translator.outputs.name
output AZURE_TRANSLATOR_ENDPOINT string = translator.outputs.endpoint
Setelah provisioning, azd mencatat output nonrahasia ini di lingkungan yang aktif. Perubahan kode aplikasi yang lebih baru dapat menggunakan nilai-nilai ini untuk menemukan sumber daya Penerjemah.
Memprovisikan dan memverifikasi infrastruktur
Provisikan infrastruktur templat tanpa menyebarkan kode aplikasinya:
azd provision
Jalankan azd env get-values dan konfirmasikan bahwa output mencakup AZURE_TRANSLATOR_NAME dan AZURE_TRANSLATOR_ENDPOINT. Di portal Azure, verifikasi bahwa grup sumber daya berisi sumber daya Azure Translator.
Pada titik ini, templat menyediakan layanan AI tetapi tidak menghubungkan aplikasi sampel ke dalamnya. Untuk menyelesaikan integrasi tersebut, konfigurasikan akses dengan hak minimum untuk identitas terkelola aplikasi, teruskan endpoint ke aplikasi, dan tambahkan klien Translator ke kode aplikasi. Untuk informasi selengkapnya, lihat dokumentasi Azure Translator.
Membersihkan sumber daya
Saat Anda tidak lagi memerlukan sumber daya, hapus sumber daya tersebut untuk menghindari biaya berkelanjutan:
azd down --purge
Konten terkait
- Gambaran umum pengembangan templat
- Mulai dengan templat baru
- Mulai dari templat yang sudah ada
- Menjelajahi dan mengedit file templat
Minta bantuan
Untuk informasi tentang cara mengajukan bug, meminta bantuan, atau mengusulkan fitur baru untuk Azure Developer CLI, silakan kunjungi halaman troubleshooting dan dukungan.