Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Dapr использует модульную конструкцию, в которой функциональные возможности предоставляются в качестве компонента. Использование компонентов Dapr является необязательным и диктуется исключительно потребностями приложения.
Компоненты Dapr в приложениях-контейнерах — это ресурсы уровня среды, которые:
- Может предоставить подключаемую модель абстракции для подключения к поддержке внешних служб.
- Может быть предоставлен общий доступ между приложениями контейнерами или ограничен для конкретных приложений контейнеров.
- Можно использовать секреты Dapr для безопасного получения метаданных конфигурации.
В этом руководстве вы узнаете, как настроить компоненты Dapr для служб контейнеров Azure.
Схема компонента
В проекте Dapr с открытым исходным кодом все компоненты соответствуют следующей базовой схеме.
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 эта схема немного упрощена для поддержки компонентов Dapr и удаления ненужных полей, включая apiVersionи kindизбыточные метаданные и свойства спецификации.
componentType: [COMPONENT-TYPE]
version: v1
initTimeout: [TIMEOUT-DURATION]
ignoreErrors: [BOOLEAN]
metadata:
- name: [METADATA-NAME]
value: [METADATA-VALUE]
Области компонентов
По умолчанию все приложения контейнеров с поддержкой Dapr в одной среде загружают полный набор развернутых компонентов. Чтобы обеспечить загрузку только соответствующих компонентов приложений-контейнеров во время выполнения, следует использовать области приложений. В следующем примере компонент загружается только двумя приложениями контейнеров с поддержкой Dapr с идентификаторами приложений APP-ID-1 Dapr и 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]
Примечание.
Области компонентов Dapr обеспечивают более совершенные меры безопасности и соответствуют идентификатору приложения Dapr для контейнерного приложения, а не его имени.
Примеры компонентов
Чтобы создать компонент Dapr с помощью интерфейса командной строки "Приложения контейнеров", можно использовать манифест YAML для приложений контейнеров. При настройке нескольких компонентов необходимо создать и применить отдельный ФАЙЛ YAML для каждого компонента.
az containerapp env dapr-component set --name <your-environment-name> --resource-group <your-resource-group> --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