Megosztás a következőn keresztül:


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 apiVersionmetaadatokat 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

Következő lépések

Megtudhatja, hogyan csatlakozhat az Azure-hoz és a külső szolgáltatásokhoz a Dapr-összetevőkön keresztül.