Udostępnij za pośrednictwem


Składniki języka Dapr w usłudze Azure Container Apps

Język Dapr używa modułowego projektu, w którym funkcjonalność jest dostarczana jako składnik. Użycie składników języka Dapr jest opcjonalne i dyktowane wyłącznie przez potrzeby aplikacji.

Składniki języka Dapr w aplikacjach kontenera to zasoby na poziomie środowiska, które:

  • Może zapewnić podłączany model abstrakcji na potrzeby nawiązywania połączenia z pomocniczymi usługami zewnętrznymi.
  • Może być współużytkowany w aplikacjach kontenerów lub w określonym zakresie dla określonych aplikacji kontenerów.
  • Może używać wpisów tajnych języka Dapr do bezpiecznego pobierania metadanych konfiguracji.

Z tego przewodnika dowiesz się, jak skonfigurować składniki języka Dapr dla usług Azure Container Apps.

Schemat składnika

W projekcie open source Języka Dapr wszystkie składniki są zgodne z następującym podstawowym schematem.

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]

W usłudze Azure Container Apps powyższy schemat jest nieco uproszczony w celu obsługi składników języka Dapr i usuwania niepotrzebnych pól, w tym apiVersionkind, i nadmiarowych metadanych i właściwości specyfikacji.

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

Zakresy składników

Domyślnie wszystkie aplikacje kontenerów z obsługą języka Dapr w tym samym środowisku ładują pełny zestaw wdrożonych składników. Aby zapewnić, że tylko odpowiednie aplikacje kontenerów ładują składniki w czasie wykonywania, należy używać zakresów aplikacji. W poniższym przykładzie składnik jest ładowany tylko przez dwie aplikacje kontenerów z obsługą języka Dapr z identyfikatorami APP-ID-1 aplikacji Dapr i 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]

Uwaga

Zakresy składników języka Dapr zapewniają lepsze środki zabezpieczeń i odpowiadają identyfikatorowi aplikacji kontenera Dapr, a nie nazwie aplikacji kontenera.

Przykłady składników

Aby utworzyć składnik języka Dapr za pośrednictwem interfejsu wiersza polecenia usługi Container Apps, możesz użyć manifestu YAML aplikacji kontenera. Podczas konfigurowania wielu składników należy utworzyć i zastosować oddzielny plik YAML dla każdego składnika.

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

Następne kroki

Dowiedz się, jak nawiązać połączenie z platformą Azure i usługami zewnętrznymi za pośrednictwem składników języka Dapr.