Aracılığıyla paylaş


Azure Container Apps'teki Dapr bileşenleri

Dapr, işlevselliğin bileşen olarak sunulduğu modüler bir tasarım kullanır. Dapr bileşenlerinin kullanımı isteğe bağlıdır ve yalnızca uygulamanızın ihtiyaçlarına göre dikte edilir.

Kapsayıcı uygulamalarındaki Dapr bileşenleri, şu ortam düzeyinde kaynaklardır:

  • Destekleyen dış hizmetlere bağlanmak için eklenebilir bir soyutlama modeli sağlayabilir.
  • Kapsayıcı uygulamaları arasında paylaşılabilir veya kapsamı belirli kapsayıcı uygulamalarıyla kaplanabilir.
  • Yapılandırma meta verilerini güvenli bir şekilde almak için Dapr gizli dizilerini kullanabilir.

Bu kılavuzda, Azure Container Apps hizmetleriniz için Dapr bileşenlerini yapılandırmayı öğreneceksiniz.

Bileşen şeması

Dapr açık kaynak projesinde tüm bileşenler aşağıdaki temel şemaya uygundur.

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]

Azure Container Apps'te yukarıdaki şema, Dapr bileşenlerini desteklemek ve , kindve gereksiz meta veriler ile belirtim özellikleri gibi apiVersiongereksiz alanları kaldırmak için biraz basitleştirilmiştir.

componentType: [COMPONENT-TYPE]
version: v1
initTimeout: [TIMEOUT-DURATION]
ignoreErrors: [BOOLEAN]
metadata:
  - name: [METADATA-NAME]
    value: [METADATA-VALUE]

Bileşen kapsamları

Varsayılan olarak, aynı ortamdaki Tüm Dapr özellikli kapsayıcı uygulamaları dağıtılan bileşenlerin tam kümesini yükler. Çalışma zamanında yalnızca uygun kapsayıcı uygulamalarının bileşenleri yüklediğinden emin olmak için uygulama kapsamları kullanılmalıdır. Aşağıdaki örnekte, bileşen yalnızca Dapr uygulama kimlikleri APP-ID-1 ve APP-ID-2ile iki Dapr özellikli kapsayıcı uygulaması tarafından yüklenir:

componentType: [COMPONENT-TYPE]
version: v1
initTimeout: [TIMEOUT-DURATION]
ignoreErrors: [BOOLEAN]
metadata:
  - name: [METADATA-NAME]
    value: [METADATA-VALUE]
scopes:
  - [APP-ID-1]
  - [APP-ID-2]

Not

Dapr bileşen kapsamları daha iyi güvenlik önlemleri sağlar ve kapsayıcı uygulaması adına değil kapsayıcı uygulamasının Dapr uygulama kimliğine karşılık gelir.

Bileşen örnekleri

Container Apps CLI aracılığıyla bir Dapr bileşeni oluşturmak için kapsayıcı uygulamaları YAML bildirimini kullanabilirsiniz. Birden çok bileşeni yapılandırırken, her bileşen için ayrı bir YAML dosyası oluşturmanız ve uygulamanız gerekir.

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

Sonraki adımlar

Dapr bileşenleri aracılığıyla Azure'a ve dış hizmetlere bağlanmayı öğrenin.