Azure hizmeti ekleyerek azd şablonunu genişletme

Yeni bir Azure Geliştirici CLI (azd) şablonu derledikten veya mevcut şablondan başladıktan sonra, gereksinimleriniz değiştikçe uygulamanın ve altyapının kapsamını genişletebilir ve geliştirebilirsiniz. Bu öğreticide, şablonun zaten sağladığı bir modüle bağlı kalmadan şablona yeni bir Azure hizmetinin nasıl ekleneceği gösterilmektedir.

hello-azd şablonuyla başlayacak, bir Azure Translator kaynağı tanımlayan bir Bicep modülü oluşturacak, şablonun altyapı giriş noktasından modüle başvuruda bulunacak ve çıktılarını azd ortam değerleri olarak kullanıma sunacaksınız. Öğretici, altyapıyı genişletmeye odaklanır ve uygulama kodunu değiştirmez.

Note

Aşağıdaki değişiklikleri doğrudan veya yapay zeka kodlama yardımcısı yardımıyla yapabilirsiniz. Yazma yönteminden bağımsız olarak, sonuçta elde edilen dosyaları gözden geçirin ve dağıtımdan önce şablonu doğrulayın.

Prerequisites

Bu eğitimi tamamlamak için şunlara ihtiyacınız olacak:

Şablonu başlatma

Boş bir dizinde bir terminal açın ve şablonu bu dizinde başlatın hello-azd :

azd init --template hello-azd .

Şablon şunları içerir:

  • aca içinde, azure.yaml hizmeti olarak Azure Container Apps'e dağıtılan bir C# uygulaması.
  • Uygulama için kullanıcı tarafından atanan yönetilen kimlik.
  • Blob kapsayıcısı ve tablosu olan bir Azure Depolama hesabı.
  • Azure Container Registry ve bir Azure Container Apps ortamı.
  • infra/core altındaki yeniden kullanılabilir Bicep modülleri.

Başlatmadan önce bir şablonu seçme ve gözden geçirme hakkında rehberlik için bkz. Var olan bir şablondan başlama.

Translator modülü oluşturma

el ile veya yapay zeka kodlama yardımcısı yardımıyla adlı infra/translator.bicepbir dosya oluşturun. Bu yeni modül bağımsızdır ve başlangıç şablonundaki modüllere bağımlı değildir:

@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

Modül kaynak türünü kullanır TextTranslation ve yerel anahtar kimlik doğrulamasını devre dışı bırakır. Katman F0 değerlendirme için kullanışlıdır ancak abonelik başına yalnızca bir ücretsiz Translator kaynağına izin verir. Abonelikte zaten bir F0 kaynak varsa veya proje ücretli katman gerektiriyorsa kullanınS1.

Önemli

Bu giriş örneği, ağ altyapısı eklemeden kaynağı sağlayabilmeniz için genel uç noktayı etkinleştirir. Bu düzeni üretimde kullanmadan önce özel uç noktaları, ağ erişim denetimlerini, izlemeyi ve kuruluşunuzun güvenlik gereksinimlerini değerlendirin.

Modüle şu kaynaktan başvurun: main.bicep

Şablon hello-azd içindeki kaynak grubunu, location, tagsve resourceToken değerlerini infra/main.biceptanımlarrg. Bu düzenlemeyi el ile yapabilir veya bir yapay zeka yardımcısı tarafından eklenmesini isteyebilirsiniz. Kaynak bildiriminden rg sonra aşağıdaki modülü ekleyin:

module translator './translator.bicep' = {
  name: 'translator'
  scope: rg
  params: {
    name: 'translator-${resourceToken}'
    location: location
    tags: tags
  }
}

scope özelliği, modülü şablonun oluşturduğu kaynak grubuna dağıtır. Mevcut resourceToken değer Translator kaynak adını her ortam için ayrı yapar.

Translator çıkışlarını dışarı aktarma

Aşağıdaki çıktıları infra/main.bicep sonuna ekleyin:

output AZURE_TRANSLATOR_NAME string = translator.outputs.name
output AZURE_TRANSLATOR_ENDPOINT string = translator.outputs.endpoint

Kaynak sağlandıktan sonra, azd bu gizli olmayan çıktıları aktif ortamda kaydeder. Sonraki bir uygulama kodu değişikliği Translator kaynağını bulmak için bu değerleri kullanabilir.

Altyapıyı sağlama ve doğrulama

Uygulama kodunu dağıtmadan şablonun altyapısını sağlayın:

azd provision

azd env get-values komutunu çalıştırın ve çıktının AZURE_TRANSLATOR_ENDPOINT ile AZURE_TRANSLATOR_NAME içerdiğini doğrulayın. Azure portalında kaynak grubunun bir Azure Translator kaynağı içerdiğini doğrulayın.

Bu noktada şablon yapay zeka hizmetini sağlar ancak örnek uygulamayı buna bağlamaz. Bu tümleştirmeyi tamamlamak için uygulamanın yönetilen kimliği için en az ayrıcalıklı erişimi yapılandırın, uç noktayı uygulamaya geçirin ve uygulama koduna bir Translator istemcisi ekleyin. Daha fazla bilgi için Azure Translator belgelerine bakın.

Kaynakları temizle

Kaynaklara artık ihtiyacınız kalmadığında, devam eden ücretlerden kaçınmak için bunları silin:

azd down --purge

Yardım isteme

Azure Geliştirici CLI'si için hata oluşturma, yardım isteme veya yeni bir özellik önerme hakkında bilgi için lütfen troubleshooting and support sayfasını ziyaret edin.