Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Dapr (Distributed Application Runtime) använder en modulär design där funktioner levereras som en komponent. Användningen av Dapr-komponenter är valfri och styrs av programmets behov.
Dapr-komponenter i containerappar är resurser på miljönivå som:
- Kan tillhandahålla en anslutningsbar abstraktionsmodell för anslutning till externa tjänster.
- Kan delas mellan containerappar eller begränsas till specifika containerappar.
- Kan använda Dapr-hemligheter för att på ett säkert sätt hämta konfigurationsmetadata.
I den här guiden får du lära dig hur du konfigurerar Dapr-komponenter för dina Azure Container Apps-tjänster.
Komponentschema
I Dapr-projektet med öppen källkod följer alla komponenter följande grundläggande schema.
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]
I Azure Container Apps är det här schemat något förenklat för att stödja Dapr-komponenter. Den förenklade versionen tar bort onödiga fält, inklusive apiVersion, kindoch redundanta metadata och specifikationsegenskaper.
componentType: [COMPONENT-TYPE]
version: v1
initTimeout: [TIMEOUT-DURATION]
ignoreErrors: [BOOLEAN]
metadata:
- name: [METADATA-NAME]
value: [METADATA-VALUE]
Komponentområden
Som standard läser alla Dapr-aktiverade containerappar i samma miljö in hela uppsättningen distribuerade komponenter. Om du bara vill se till att lämpliga containerappar läser in komponenter vid körning bör du använda programomfattningar. I följande exempel läses komponenten endast in av de två Dapr-aktiverade containerapparna med Dapr-program-ID:t APP-ID-1 och APP-ID-2.
componentType: [COMPONENT-TYPE]
version: v1
initTimeout: [TIMEOUT-DURATION]
ignoreErrors: [BOOLEAN]
metadata:
- name: [METADATA-NAME]
value: [METADATA-VALUE]
scopes:
- [APP-ID-1]
- [APP-ID-2]
Anmärkning
Dapr-komponentomfång ger bättre säkerhetsåtgärder och motsvarar Dapr-program-ID:t för en containerapp, inte namnet på containerappen.
Komponentexempel
Om du vill skapa en Dapr-komponent med hjälp av Container Apps CLI kan du använda ett YAML-manifest för containerappar. När du konfigurerar flera komponenter skapar och tillämpar du en separat YAML-fil för varje komponent.
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