Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Distributed Application Runtime (Dapr) verwendet ein modulares Design, in dem Funktionen als Komponente bereitgestellt werden. Die Verwendung von Dapr-Komponenten ist optional und wird durch die Anforderungen Ihrer Anwendung bestimmt.
Dapr-Komponenten in Container-Apps sind Ressourcen auf Umgebungsebene, die Folgendes können:
- Kann ein austauschbares Abstraktionsmodell bereitstellen, um eine Verbindung zu unterstützenden externen Diensten herzustellen.
- Kann zwischen Container-Apps geteilt oder auf bestimmte Anwendungen beschränkt werden.
- Kann Dapr-Geheimnisse verwenden, um Konfigurationsmetadaten sicher abzurufen.
In diesem Handbuch erfahren Sie, wie Sie Dapr-Komponenten für Ihre Azure-Container-Apps-Dienste konfigurieren.
Komponentenschema
Im Open-Source-Projekt Dapr entsprechen alle Komponenten dem folgendenBasisschema.
apiVersion: dapr.io/v1alpha1
kind: Component
metadata:
name: [COMPONENT-NAME]
namespace: [COMPONENT-NAMESPACE]
spec:
type: [COMPONENT-TYPE]
version: v1
initTimeout: [TIMEOUT-DURATION]
ignoreErrors: [BOOLEAN]
metadata:
- name: [METADATA-NAME]
value: [METADATA-VALUE]
In Azure Container Apps ist dieses Schema leicht vereinfacht, um Dapr-Komponenten zu unterstützen. Die vereinfachte Version entfernt unnötige Felder, einschließlich apiVersion, kindund redundante Metadaten und Spezifikationseigenschaften.
componentType: [COMPONENT-TYPE]
version: v1
initTimeout: [TIMEOUT-DURATION]
ignoreErrors: [BOOLEAN]
metadata:
- name: [METADATA-NAME]
value: [METADATA-VALUE]
Komponentenbereiche
Standardmäßig laden alle Dapr-fähigen Container-Apps in derselben Umgebung den vollständigen Satz bereitgestellter Komponenten. Um sicherzustellen, dass nur die entsprechenden Container-Apps Komponenten zur Laufzeit laden, sollten Sie Anwendungsbereiche verwenden. Im folgenden Beispiel wird die Komponente nur von den beiden für Dapr aktivierten Container-Apps mit den Dapr-Anwendungs-IDs APP-ID-1 und APP-ID-2 geladen.
componentType: [COMPONENT-TYPE]
version: v1
initTimeout: [TIMEOUT-DURATION]
ignoreErrors: [BOOLEAN]
metadata:
- name: [METADATA-NAME]
value: [METADATA-VALUE]
scopes:
- [APP-ID-1]
- [APP-ID-2]
Hinweis
Dapr-Komponentenbereiche bieten bessere Sicherheitsmaßnahmen und entsprechen der Dapr-Anwendungs-ID einer Container-App, nicht dem Container-App-Namen.
Komponentenbeispiele
Zum Erstellen einer Dapr-Komponente mithilfe der Container Apps CLI können Sie ein YAML-Manifest für Container-Apps verwenden. Wenn Sie mehrere Komponenten konfigurieren, erstellen Und anwenden Sie eine separate YAML-Datei für jede Komponente.
az containerapp env dapr-component set --name <your-environment-name> --resource-group <your-resource-group> --dapr-component-name pubsub --yaml "./pubsub.yaml"
# pubsub.yaml for Azure Service Bus component
componentType: pubsub.azure.servicebus.queue
version: v1
secretStoreComponent: "my-secret-store"
metadata:
- name: namespaceName
# Required when using Azure Authentication.
# Must be a fully-qualified domain name
value: "[your_servicebus_namespace.servicebus.windows.net]"
- name: azureTenantId
value: "[your_tenant_id]"
- name: azureClientId
value: "[your_client_id]"
- name: azureClientSecret
secretRef: azClientSecret
scopes:
- publisher-app
- subscriber-app