Komponenty Dapr v Azure Container Apps
Dapr používá modulární návrh, ve kterém se funkce dodává jako součást. Použití komponent Dapr je volitelné a diktuje výhradně požadavky vaší aplikace.
Komponenty Dapr v kontejnerových aplikacích jsou prostředky na úrovni prostředí, které:
- Může poskytnout připojitelný abstrakce model pro připojení k podpůrným externím službám.
- Dají se sdílet napříč kontejnerovými aplikacemi nebo se dají vymezit na konkrétní kontejnerové aplikace.
- Pomocí tajných kódů Dapr můžete bezpečně načíst metadata konfigurace.
V této příručce se dozvíte, jak nakonfigurovat komponenty Dapr pro služby Azure Container Apps.
Schéma komponent
V opensourcovém projektu Dapr odpovídají všechny komponenty následujícímu základnímu schématu.
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]
Ve službě Azure Container Apps je výše uvedené schéma mírně zjednodušené, aby podporovalo komponenty Dapr a odebralo nepotřebná pole, včetně apiVersion
, kind
a redundantních metadat a vlastností specifikace.
componentType: [COMPONENT-TYPE]
version: v1
initTimeout: [TIMEOUT-DURATION]
ignoreErrors: [BOOLEAN]
metadata:
- name: [METADATA-NAME]
value: [METADATA-VALUE]
Obory komponent
Ve výchozím nastavení všechny kontejnerové aplikace s podporou Dapr ve stejném prostředí načítají úplnou sadu nasazených komponent. Aby se zajistilo, že za běhu načítají pouze příslušné komponenty kontejnerových aplikací, měly by se použít obory aplikací. V následujícím příkladu je komponenta načtena pouze dvěma aplikacemi kontejnerů s podporou Dapr s ID APP-ID-1
aplikací Dapr a 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]
Poznámka:
Obory komponent Dapr poskytují lepší bezpečnostní opatření a odpovídají ID aplikace kontejneru Dapr, nikoli názvu aplikace kontejneru.
Příklady komponent
Pokud chcete vytvořit komponentu Dapr prostřednictvím rozhraní příkazového řádku Container Apps, můžete použít manifest YAML pro aplikace kontejnerů. Při konfiguraci více komponent musíte vytvořit a použít samostatný soubor YAML pro každou komponentu.
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
Další kroky
Zjistěte, jak se připojit k Azure a externím službám prostřednictvím komponent Dapr.