Dapr-összetevők az Azure Container Appsben
A Dapr moduláris kialakítást használ, ahol a funkciók összetevőként lesznek átadva. A Dapr-összetevők használata nem kötelező, és kizárólag az alkalmazás igényei szabják meg.
A tárolóalkalmazások Dapr-összetevői olyan környezeti szintű erőforrások, amelyek:
- Csatlakoztatható absztrakciós modellt biztosíthat a külső szolgáltatások támogatásához való csatlakozáshoz.
- Megosztható tárolóalkalmazások között, vagy adott tárolóalkalmazásokra is kiterjedhet.
- A Dapr titkos kódokkal biztonságosan lekérheti a konfigurációs metaadatokat.
Ebben az útmutatóban megtudhatja, hogyan konfigurálhatja a Dapr-összetevőket az Azure Container Apps-szolgáltatásokhoz.
Összetevőséma
A nyílt forráskódú Dapr-projektben minden összetevő megfelel az alábbi alapsémának.
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]
Az Azure Container Appsben a fenti séma némileg leegyszerűsítve támogatja a Dapr-összetevőket, és eltávolítja a szükségtelen mezőket, köztük a apiVersion
metaadatokat kind
és a specifikációtulajdonságokat.
componentType: [COMPONENT-TYPE]
version: v1
initTimeout: [TIMEOUT-DURATION]
ignoreErrors: [BOOLEAN]
metadata:
- name: [METADATA-NAME]
value: [METADATA-VALUE]
Összetevők hatókörei
Alapértelmezés szerint az ugyanabban a környezetben lévő összes Dapr-kompatibilis tárolóalkalmazás betölti az üzembe helyezett összetevők teljes készletét. Annak érdekében, hogy futásidőben csak a megfelelő tárolóalkalmazások töltsék be az összetevőket, alkalmazáshatóköröket kell használni. Az alábbi példában az összetevőt csak a két Dapr-kompatibilis tárolóalkalmazás tölti be Dapr-alkalmazásazonosítókkal APP-ID-1
és 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]
Feljegyzés
A Dapr-összetevők hatókörei jobb biztonsági mértékeket biztosítanak, és nem a tárolóalkalmazás neve, hanem egy tárolóalkalmazás Dapr-alkalmazásazonosítójának felelnek meg.
Összetevők – példák
Ha Dapr-összetevőt szeretne létrehozni a Container Apps parancssori felületén keresztül, használhatja a tárolóalkalmazások YAML-jegyzékét. Több összetevő konfigurálásakor minden összetevőhöz külön YAML-fájlt kell létrehoznia és alkalmaznia.
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