Definieren von Ressourcen

Abgeschlossen

Bicep-Dateien sind die Dateien, die Sie erstellen und die Azure-Ressourcen definieren, die bereitgestellt werden sollen.

Ihre Spielzeugfirma benötigt von Ihnen, eine wiederverwendbare Bicep-Datei für Produkteinführungen zu erstellen. Die Datei muss ein Azure-Speicherkonto und Azure App Service-Ressourcen bereitstellen, die während der Einführung für das Marketing jedes neuen Produkts verwendet werden.

In dieser Lektion erfahren Sie, wie Sie eine Ressource in einer Bicep-Datei definieren, wie Ressourcennamen funktionieren und wie Sie Ressourcen erstellen können, die miteinander in Beziehung stehen.

Hinweis

Die Befehle in dieser Lerneinheit dienen der Veranschaulichung der Konzepte. Führen Sie die Befehle jetzt noch nicht aus. Sie können das Erlernte in Kürze üben.

Definieren einer Ressource

Das Wichtigste, was Sie mit Bicep-Dateien tun werden, ist die Definition Ihrer Azure-Ressourcen. Das folgende Beispiel zeigt eine typische Ressourcendefinition in Bicep. In diesem Beispiel wird ein Speicherkonto mit dem Namen toylaunchstorage erstellt.

resource storageAccount 'Microsoft.Storage/storageAccounts@2023-05-01' = {
  name: 'toylaunchstorage'
  ___location: 'westus3'
  sku: {
    name: 'Standard_LRS'
  }
  kind: 'StorageV2'
  properties: {
    accessTier: 'Hot'
  }
}

Sehen Sie sich einige wichtige Teile dieser Ressourcendefinition genauer an:

  • Das Schlüsselwort resource am Anfang teilt Bicep mit, dass Sie eine Ressource definieren möchten.

  • Als Nächstes geben Sie der Ressource einen symbolischen Namen. In diesem Beispiel lautet der symbolische Name der Ressource storageAccount. Symbolische Namen werden in Bicep dazu verwendet, auf die Ressource zu verweisen, sie werden in Azure aber nie angezeigt.

  • Microsoft.Storage/storageAccounts@2022-09-01 ist der Ressourcentyp und die API-Version der Ressource. Microsoft.Storage/storageAccounts teilt Bicep mit, dass Sie ein Azure Storage-Konto deklarieren. Das Datum 2022-09-01 ist die Version der Azure Storage-API, die Bicep für das Erstellen der Ressource verwendet.

    Tipp

    Die Bicep-Erweiterung für Visual Studio Code hilft Ihnen, die Ressourcentypen und API-Versionen für die von Ihnen erstellten Ressourcen zu finden. Wenn Sie mit ARM-Vorlagen vertraut sind, beachten Sie, dass die API-Version mit der Version übereinstimmt, die Sie auch dort verwenden würden.

  • Sie müssen einen Ressourcennamen deklarieren, bei dem es sich um den Namen handelt, dem das Speicherkonto in Azure zugewiesen wird. Ressourcennamen legen Sie mithilfe des Schlüsselworts name fest.

    Von Bedeutung

    Symbolische Namen werden nur in der Bicep-Datei verwendet und werden nicht in Azure angezeigt. Ressourcennamen werden in Azure angezeigt.

  • Anschließend legen Sie weitere Details zur Ressource fest, z. B. Standort, SKU (Tarif) und Typ. Sie können auch Eigenschaften definieren, die sich für jeden Ressourcentyp unterscheiden. Durch unterschiedliche API-Versionen können auch verschiedene Eigenschaften eingeführt werden. In diesem Beispiel wird die Zugriffsebene des Speicherkontos auf Hot festgelegt.

Tipp

Ressourcennamen weisen häufig Regeln auf, die Sie befolgen müssen, z. B. maximale Länge, zulässige Zeichen und globale Eindeutigkeit in Azure. Die Anforderungen für Ressourcennamen unterscheiden sich bei jedem Azure-Ressourcentyp. Achten Sie darauf, die Benennungseinschränkungen und -anforderungen zu verstehen, bevor Sie sie zu Ihrer Bicep-Datei hinzufügen.

Abhängige Ressourcen

Eine Bicep-Datei enthält in der Regel mehrere Ressourcen. Häufig ist eine Ressource von einer anderen Ressource abhängig. Möglicherweise müssen Sie einige Informationen aus einer Ressource extrahieren, um eine andere definieren zu können. Wenn Sie eine Webanwendung bereitstellen, müssen Sie zunächst die Serverinfrastruktur erstellen, bevor Sie darin eine Anwendung hinzufügen können. Diese Beziehungen werden als Abhängigkeiten bezeichnet.

Sie müssen eine App Service-App für die Bicep-Datei bereitstellen, die beim Starten des Spielzeug-Produkts hilft. Um jedoch eine App-Service-App zu erstellen, müssen Sie zuerst einen App Service-Plan erstellen. Der App Service-Plan stellt die Hostingressourcen für den Server dar und wird wie in diesem Beispiel deklariert:

resource appServicePlan 'Microsoft.Web/serverFarms@2023-12-01' = {
  name: 'toy-product-launch-plan'
  ___location: 'westus3'
  sku: {
    name: 'F1'
  }
}

Mit dieser Ressourcendefinition wird Bicep informiert, dass Sie einen App Service-Plan mit dem Ressourcentyp Microsoft.Web/serverFarms bereitstellen möchten. Die Planressource heißt toy-product-launch-plan und wird in der Region „USA, Westen 3“ bereitgestellt. Als Preis-SKU wird F1 verwendet, der kostenlose Tarif für App Service.

Nachdem Sie nun den App Service-Plan deklariert haben, deklarieren Sie im nächsten Schritt die App:

resource appServiceApp 'Microsoft.Web/sites@2023-12-01' = {
  name: 'toy-product-launch-1'
  ___location: 'westus3'
  properties: {
    serverFarmId: appServicePlan.id
    httpsOnly: true
  }
}

Diese Bicep-Datei weist Azure an, die App auf dem von Ihnen erstellten Plan zu hosten. Beachten Sie, dass die Definition des Plans den symbolischen Namen des App Service-Plans in dieser Zeile enthält: serverFarmId: appServicePlan.id. Diese Zeile bedeutet, dass Bicep die Ressourcen-ID des App-Dienstplans mithilfe der id Eigenschaft erhält. Es wird effektiv gesagt: Die Serverfarm-ID dieser App ist die ID des zuvor definierten App Service-Plans.

Tipp

In Azure ist eine Ressourcen-ID ein eindeutiger Bezeichner für jede Ressource. Die Ressourcen-ID enthält die Azure-Abonnement-ID, den Ressourcengruppennamen und den Ressourcennamen sowie einige weitere Informationen.

Durch das Deklarieren der App-Ressource mit einer Eigenschaft, die auf den symbolischen Namen des Plans verweist, versteht Azure die implizite Abhängigkeit zwischen der App Service-App und dem Plan. Bei der Bereitstellung der Ressourcen stellt Azure sicher, dass der Plan vor dem Beginn der App-Bereitstellung vollständig bereitgestellt wurde.