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 , kind
ve gereksiz meta veriler ile belirtim özellikleri gibi apiVersion
gereksiz 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-2
ile 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.