Not
Åtkomst till denna sida kräver auktorisation. Du kan prova att logga in eller byta katalog.
Åtkomst till denna sida kräver auktorisation. Du kan prova att byta katalog.
Dapr använder en modulär design där funktioner levereras som en komponent. Användningen av Dapr-komponenter är valfri och styrs uteslutande 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 schemat ovan något förenklat för att stödja Dapr-komponenter och ta 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]
Komponentomfattningar
Som standard läser alla Dapr-aktiverade containerappar i samma miljö in hela uppsättningen distribuerade komponenter. För att säkerställa att endast lämpliga containerappar läser in komponenter vid körning bör programomfattningar användas. I följande exempel läses komponenten bara 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]
Kommentar
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 via Container Apps CLI kan du använda ett YAML-manifest för containerappar. När du konfigurerar flera komponenter måste du skapa och tillämpa en separat YAML-fil för varje komponent.
az containerapp env dapr-component set --name ENVIRONMENT_NAME --resource-group RESOURCE_GROUP_NAME --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
Nästa steg
Lär dig hur du ansluter till Azure och externa tjänster via Dapr-komponenter.