Komponen Dapr di Azure Container Apps
Dapr menggunakan desain modular di mana fungsionalitas dikirimkan sebagai komponen. Penggunaan komponen Dapr bersifat opsional dan ditentukan secara eksklusif oleh kebutuhan aplikasi Anda.
Komponen Dapr dalam aplikasi kontainer adalah sumber daya tingkat lingkungan yang:
- Dapat menyediakan model abstraksi yang dapat dicolokkan untuk menyambungkan ke layanan eksternal pendukung.
- Dapat dibagikan di seluruh aplikasi kontainer atau dilingkup ke aplikasi kontainer tertentu.
- Dapat menggunakan rahasia Dapr untuk mengambil metadata konfigurasi dengan aman.
Dalam panduan ini, Anda mempelajari cara mengonfigurasi komponen Dapr untuk layanan Azure Container Apps Anda.
Skema komponen
Dalam proyek sumber terbuka Dapr, semua komponen sesuai dengan skema dasar berikut.
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]
Di Azure Container Apps, skema di atas sedikit disederhanakan untuk mendukung komponen Dapr dan menghapus bidang yang tidak perlu, termasuk apiVersion
metadata , kind
, dan redundan dan properti spesifikasi.
componentType: [COMPONENT-TYPE]
version: v1
initTimeout: [TIMEOUT-DURATION]
ignoreErrors: [BOOLEAN]
metadata:
- name: [METADATA-NAME]
value: [METADATA-VALUE]
Cakupan komponen
Secara default, semua aplikasi kontainer berkemampuan Dapr dalam lingkungan yang sama memuat set lengkap komponen yang disebarkan. Untuk memastikan hanya komponen beban aplikasi kontainer yang sesuai saat runtime, cakupan aplikasi harus digunakan. Dalam contoh berikut, komponen hanya dimuat oleh dua aplikasi kontainer dengan dukungan Dapr dengan ID APP-ID-1
aplikasi Dapr dan 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]
Catatan
Cakupan komponen Dapr memberikan langkah-langkah keamanan yang lebih baik dan sesuai dengan ID aplikasi Dapr dari aplikasi kontainer, bukan nama aplikasi kontainer.
Contoh komponen
Untuk membuat komponen Dapr melalui Container Apps CLI, Anda dapat menggunakan manifes YAML aplikasi kontainer. Saat mengonfigurasi beberapa komponen, Anda harus membuat dan menerapkan file YAML terpisah untuk setiap komponen.
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
Langkah berikutnya
Pelajari cara menyambungkan ke Azure dan layanan eksternal melalui komponen Dapr.