Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
I den här självstudien skapar och kör du två mikrotjänster som kommunicerar säkert med hjälp av auto-mTLS och tillförlitligt med hjälp av inbyggda återförsök via DAPR-tjänstens anrops-API. Du kommer att:
- Köra appen lokalt.
- Distribuera programmet till Azure Container Apps via Azure Developer CLI med den angivna Bicep.
Exempelprojektet för tjänstanrop omfattar:
- En
checkouttjänst som använder HTTP-proxying i en loop för att anropa en begäran omorder-processortjänsten. - En
order-processortjänst som tar emot begäran fråncheckouttjänsten.
Förutsättningar
- Installera Azure Developer CLI
- Installera och init Dapr
- Docker Desktop
- Installera Git
Kör Node.js program lokalt
Innan du distribuerar programmet till Azure Container Apps börjar du med att köra order-processor tjänsterna och checkout lokalt med Dapr.
Förbereda projektet
Klona exempelprogrammen till den lokala datorn.
git clone https://github.com/Azure-Samples/svc-invoke-dapr-nodejs.gitNavigera till exemplets rotkatalog.
cd svc-invoke-dapr-nodejs
Kör programmen med Dapr CLI
Börja med att order-processor köra tjänsten.
Från exemplets rotkatalog ändrar du kataloger till
order-processor.cd order-processorInstallera beroenden.
npm installorder-processorKör tjänsten.dapr run --app-port 5001 --app-id order-processor --app-protocol http --dapr-http-port 3501 -- npm startI ett nytt terminalfönster går du till
checkoutanropartjänsten från exemplets rotkatalog.cd checkoutInstallera beroenden.
npm installcheckoutKör tjänsten.dapr run --app-id checkout --app-protocol http --dapr-http-port 3500 -- npm startFörväntad utdata
I båda terminalerna
checkoutanropar tjänsten beställningar tillorder-processortjänsten i en loop.checkoututdata:== APP == Order passed: {"orderId":1} == APP == Order passed: {"orderId":2} == APP == Order passed: {"orderId":3} == APP == Order passed: {"orderId":4} == APP == Order passed: {"orderId":5} == APP == Order passed: {"orderId":6} == APP == Order passed: {"orderId":7} == APP == Order passed: {"orderId":8} == APP == Order passed: {"orderId":9} == APP == Order passed: {"orderId":10} == APP == Order passed: {"orderId":11} == APP == Order passed: {"orderId":12} == APP == Order passed: {"orderId":13} == APP == Order passed: {"orderId":14} == APP == Order passed: {"orderId":15} == APP == Order passed: {"orderId":16} == APP == Order passed: {"orderId":17} == APP == Order passed: {"orderId":18} == APP == Order passed: {"orderId":19} == APP == Order passed: {"orderId":20}order-processorutdata:== APP == Order received: { orderId: 1 } == APP == Order received: { orderId: 2 } == APP == Order received: { orderId: 3 } == APP == Order received: { orderId: 4 } == APP == Order received: { orderId: 5 } == APP == Order received: { orderId: 6 } == APP == Order received: { orderId: 7 } == APP == Order received: { orderId: 8 } == APP == Order received: { orderId: 9 } == APP == Order received: { orderId: 10 } == APP == Order received: { orderId: 11 } == APP == Order received: { orderId: 12 } == APP == Order received: { orderId: 13 } == APP == Order received: { orderId: 14 } == APP == Order received: { orderId: 15 } == APP == Order received: { orderId: 16 } == APP == Order received: { orderId: 17 } == APP == Order received: { orderId: 18 } == APP == Order received: { orderId: 19 } == APP == Order received: { orderId: 20 }Tryck på Cmd/Ctrl + C i båda terminalerna för att avsluta tjänst-till-tjänst-anropet.
Distribuera programmallen med Hjälp av Azure Developer CLI
Distribuera programmet till Azure Container Apps med .azd
Förbereda projektet
I ett nytt terminalfönster navigerar du till exemplets rotkatalog.
cd svc-invoke-dapr-nodejs
Etablera och distribuera med Hjälp av Azure Developer CLI
Kör
azd initför att initiera projektet.azd initAnge följande parametrar när du uppmanas till det i terminalen.
Parameter Description Miljönamn Prefix för resursgruppen som skapats för att lagra alla Azure-resurser. Azure-plats Azure-platsen för dina resurser. Azure-prenumeration Azure-prenumerationen för dina resurser. Kör
azd upför att etablera infrastrukturen och distribuera programmet till Azure Container Apps i ett enda kommando.azd upDen här processen kan ta lite tid att slutföra.
azd upNär kommandot har slutförts visar CLI-utdata två Azure Portal länkar för att övervaka distributionens förlopp. Utdata visar också hurazd up:- Skapar och konfigurerar alla nödvändiga Azure-resurser via de angivna Bicep-filerna i
./infrakatalogen med .azd provisionNär du har etablerats av Azure Developer CLI kan du komma åt dessa resurser via Azure Portal. De filer som etablerar Azure-resurserna är:main.parameters.jsonmain.bicep- En
appresurskatalog ordnad efter funktion - Ett
corereferensbibliotek som innehåller de Bicep-moduler som används av mallenazd
- Distribuerar koden med hjälp av
azd deploy
Förväntad utdata
Initializing a new project (azd init) Provisioning Azure resources (azd provision) Provisioning Azure resources can take some time You can view detailed progress in the Azure Portal: https://portal.azure.com (✓) Done: Resource group: resource-group-name (✓) Done: Log Analytics workspace: log-analytics-name (✓) Done: Application Insights: app-insights-name (✓) Done: Portal dashboard: dashboard-name (✓) Done: Container Apps Environment: container-apps-env-name (✓) Done: Container App: ca-checkout-name (✓) Done: Container App: ca-order-processor-name Deploying services (azd deploy) (✓) Done: Deploying service api - Endpoint: https://ca-order-processor-name.eastus.azurecontainerapps.io/ (✓) Done: Deploying service worker SUCCESS: Your Azure app has been deployed! You can view the resources created under the resource group resource-group-name in Azure Portal: https://portal.azure.com/#@/resource/subscriptions/<your-azure-subscription>/resourceGroups/resource-group-name/overview- Skapar och konfigurerar alla nödvändiga Azure-resurser via de angivna Bicep-filerna i
Bekräfta lyckad distribution
I Azure Portal kontrollerar du att checkout tjänsten skickar beställningar till order-processor tjänsten.
Kopiera containerappens
checkoutnamn från terminalutdata.Logga in på Azure Portal och sök efter containerappresursen efter namn.
På instrumentpanelen Container Apps väljer du Övervakningsloggström>.
Bekräfta att containern
checkoutloggar samma utdata som i terminalen tidigare.
Gör samma sak för tjänsten
order-processor.
Vad hände?
När kommandot har slutförts azd up :
- Azure Developer CLI etablerade De Azure-resurser som refereras i exempelprojektets
./infrakatalog till den Azure-prenumeration som du angav. Nu kan du visa dessa Azure-resurser via Azure Portal. - Appen som distribueras till Azure Container Apps. Från portalen kan du bläddra i den fullt fungerande appen.
Köra Python-programmen lokalt
Innan du distribuerar programmet till Azure Container Apps börjar du med att köra order-processor tjänsterna och checkout lokalt med Dapr.
Förbereda projektet
Klona exempelprogrammen till den lokala datorn.
git clone https://github.com/Azure-Samples/svc-invoke-dapr-python.gitNavigera till exemplets rotkatalog.
cd svc-invoke-dapr-python
Kör programmen med Dapr CLI
Börja med att order-processor köra tjänsten.
Från exemplets rotkatalog ändrar du kataloger till
order-processor.cd order-processorInstallera beroenden.
pip3 install -r requirements.txtorder-processorKör tjänsten.dapr run --app-port 8001 --app-id order-processor --app-protocol http --dapr-http-port 3501 -- python3 app.pyI ett nytt terminalfönster går du till
checkoutanropartjänsten från exemplets rotkatalog.cd checkoutInstallera beroenden.
pip3 install -r requirements.txtcheckoutKör tjänsten.dapr run --app-id checkout --app-protocol http --dapr-http-port 3500 -- python3 app.pyFörväntad utdata
I båda terminalerna
checkoutanropar tjänsten beställningar tillorder-processortjänsten i en loop.checkoututdata:== APP == Order passed: {"orderId":1} == APP == Order passed: {"orderId":2} == APP == Order passed: {"orderId":3} == APP == Order passed: {"orderId":4} == APP == Order passed: {"orderId":5} == APP == Order passed: {"orderId":6} == APP == Order passed: {"orderId":7} == APP == Order passed: {"orderId":8} == APP == Order passed: {"orderId":9} == APP == Order passed: {"orderId":10} == APP == Order passed: {"orderId":11} == APP == Order passed: {"orderId":12} == APP == Order passed: {"orderId":13} == APP == Order passed: {"orderId":14} == APP == Order passed: {"orderId":15} == APP == Order passed: {"orderId":16} == APP == Order passed: {"orderId":17} == APP == Order passed: {"orderId":18} == APP == Order passed: {"orderId":19} == APP == Order passed: {"orderId":20}order-processorutdata:== APP == Order received: { orderId: 1 } == APP == Order received: { orderId: 2 } == APP == Order received: { orderId: 3 } == APP == Order received: { orderId: 4 } == APP == Order received: { orderId: 5 } == APP == Order received: { orderId: 6 } == APP == Order received: { orderId: 7 } == APP == Order received: { orderId: 8 } == APP == Order received: { orderId: 9 } == APP == Order received: { orderId: 10 } == APP == Order received: { orderId: 11 } == APP == Order received: { orderId: 12 } == APP == Order received: { orderId: 13 } == APP == Order received: { orderId: 14 } == APP == Order received: { orderId: 15 } == APP == Order received: { orderId: 16 } == APP == Order received: { orderId: 17 } == APP == Order received: { orderId: 18 } == APP == Order received: { orderId: 19 } == APP == Order received: { orderId: 20 }Tryck på Cmd/Ctrl + C i båda terminalerna för att avsluta tjänst-till-tjänst-anropet
Distribuera programmallen med Hjälp av Azure Developer CLI
Distribuera programmet till Azure Container Apps med .azd
Förbereda projektet
I ett nytt terminalfönster navigerar du till exemplets rotkatalog.
cd svc-invoke-dapr-python
Etablera och distribuera med Hjälp av Azure Developer CLI
Kör
azd initför att initiera projektet.azd initAnge följande parametrar när du uppmanas till det i terminalen.
Parameter Description Miljönamn Prefix för resursgruppen som skapats för att lagra alla Azure-resurser. Azure-plats Azure-platsen för dina resurser. Azure-prenumeration Azure-prenumerationen för dina resurser. Kör
azd upför att etablera infrastrukturen och distribuera programmet till Azure Container Apps i ett enda kommando.azd upDen här processen kan ta lite tid att slutföra.
azd upNär kommandot har slutförts visar CLI-utdata två Azure Portal länkar för att övervaka distributionens förlopp. Utdata visar också hurazd up:- Skapar och konfigurerar alla nödvändiga Azure-resurser via de angivna Bicep-filerna i
./infrakatalogen med .azd provisionNär du har etablerats av Azure Developer CLI kan du komma åt dessa resurser via Azure Portal. De filer som etablerar Azure-resurserna är:main.parameters.jsonmain.bicep- En
appresurskatalog ordnad efter funktion - Ett
corereferensbibliotek som innehåller de Bicep-moduler som används av mallenazd
- Distribuerar koden med hjälp av
azd deploy
Förväntad utdata
Initializing a new project (azd init) Provisioning Azure resources (azd provision) Provisioning Azure resources can take some time You can view detailed progress in the Azure Portal: https://portal.azure.com (✓) Done: Resource group: resource-group-name (✓) Done: Log Analytics workspace: log-analytics-name (✓) Done: Application Insights: app-insights-name (✓) Done: Portal dashboard: dashboard-name (✓) Done: Container Apps Environment: container-apps-env-name (✓) Done: Container App: ca-checkout-name (✓) Done: Container App: ca-order-processor-name Deploying services (azd deploy) (✓) Done: Deploying service api - Endpoint: https://ca-order-processor-name.eastus.azurecontainerapps.io/ (✓) Done: Deploying service worker SUCCESS: Your Azure app has been deployed! You can view the resources created under the resource group resource-group-name in Azure Portal: https://portal.azure.com/#@/resource/subscriptions/<your-azure-subscription>/resourceGroups/resource-group-name/overview- Skapar och konfigurerar alla nödvändiga Azure-resurser via de angivna Bicep-filerna i
Bekräfta lyckad distribution
I Azure Portal kontrollerar du att checkout tjänsten skickar beställningar till order-processor tjänsten.
Kopiera containerappens
checkoutnamn från terminalutdata.Logga in på Azure Portal och sök efter containerappresursen efter namn.
På instrumentpanelen Container Apps väljer du Övervakningsloggström>.
Bekräfta att containern
checkoutloggar samma utdata som i terminalen tidigare.
Gör samma sak för tjänsten
order-processor.
Vad hände?
När kommandot har slutförts azd up :
- Azure Developer CLI etablerade De Azure-resurser som refereras i exempelprojektets
./infrakatalog till den Azure-prenumeration som du angav. Nu kan du visa dessa Azure-resurser via Azure Portal. - Appen som distribueras till Azure Container Apps. Från portalen kan du bläddra i den fullt fungerande appen.
Kör .NET-programmen lokalt
Innan du distribuerar programmet till Azure Container Apps börjar du med att köra order-processor tjänsterna och checkout lokalt med Dapr.
Förbereda projektet
Klona exempelprogrammen till den lokala datorn.
git clone https://github.com/Azure-Samples/svc-invoke-dapr-csharp.gitNavigera till exemplets rotkatalog.
cd svc-invoke-dapr-csharp
Kör programmen med Dapr CLI
Börja med att köra samtalstjänst order-processor .
Från exemplets rotkatalog ändrar du kataloger till
order-processor.cd order-processorInstallera beroenden.
dotnet buildorder-processorKör tjänsten.dapr run --app-port 7001 --app-id order-processor --app-protocol http --dapr-http-port 3501 -- dotnet runI ett nytt terminalfönster går du till
checkoutanropartjänsten från exemplets rotkatalog.cd checkoutInstallera beroenden.
dotnet buildcheckoutKör tjänsten.dapr run --app-id checkout --app-protocol http --dapr-http-port 3500 -- dotnet runFörväntad utdata
I båda terminalerna
checkoutanropar tjänsten beställningar tillorder-processortjänsten i en loop.checkoututdata:== APP == Order passed: {"orderId":1} == APP == Order passed: {"orderId":2} == APP == Order passed: {"orderId":3} == APP == Order passed: {"orderId":4} == APP == Order passed: {"orderId":5} == APP == Order passed: {"orderId":6} == APP == Order passed: {"orderId":7} == APP == Order passed: {"orderId":8} == APP == Order passed: {"orderId":9} == APP == Order passed: {"orderId":10} == APP == Order passed: {"orderId":11} == APP == Order passed: {"orderId":12} == APP == Order passed: {"orderId":13} == APP == Order passed: {"orderId":14} == APP == Order passed: {"orderId":15} == APP == Order passed: {"orderId":16} == APP == Order passed: {"orderId":17} == APP == Order passed: {"orderId":18} == APP == Order passed: {"orderId":19} == APP == Order passed: {"orderId":20}order-processorutdata:== APP == Order received: { orderId: 1 } == APP == Order received: { orderId: 2 } == APP == Order received: { orderId: 3 } == APP == Order received: { orderId: 4 } == APP == Order received: { orderId: 5 } == APP == Order received: { orderId: 6 } == APP == Order received: { orderId: 7 } == APP == Order received: { orderId: 8 } == APP == Order received: { orderId: 9 } == APP == Order received: { orderId: 10 } == APP == Order received: { orderId: 11 } == APP == Order received: { orderId: 12 } == APP == Order received: { orderId: 13 } == APP == Order received: { orderId: 14 } == APP == Order received: { orderId: 15 } == APP == Order received: { orderId: 16 } == APP == Order received: { orderId: 17 } == APP == Order received: { orderId: 18 } == APP == Order received: { orderId: 19 } == APP == Order received: { orderId: 20 }Tryck på Cmd/Ctrl + C i båda terminalerna för att avsluta tjänst-till-tjänst-anropet.
Distribuera programmallen med Hjälp av Azure Developer CLI
Distribuera programmet till Azure Container Apps med .azd
Förbereda projektet
I ett nytt terminalfönster navigerar du till exemplets rotkatalog.
cd svc-invoke-dapr-csharp
Etablera och distribuera med Hjälp av Azure Developer CLI
Kör
azd initför att initiera projektet.azd initAnge följande parametrar när du uppmanas till det i terminalen.
Parameter Description Miljönamn Prefix för resursgruppen som skapats för att lagra alla Azure-resurser. Azure-plats Azure-platsen för dina resurser. Azure-prenumeration Azure-prenumerationen för dina resurser. Kör
azd upför att etablera infrastrukturen och distribuera programmet till Azure Container Apps i ett enda kommando.azd upDen här processen kan ta lite tid att slutföra.
azd upNär kommandot har slutförts visar CLI-utdata två Azure Portal länkar för att övervaka distributionens förlopp. Utdata visar också hurazd up:- Skapar och konfigurerar alla nödvändiga Azure-resurser via de angivna Bicep-filerna i
./infrakatalogen med .azd provisionNär du har etablerats av Azure Developer CLI kan du komma åt dessa resurser via Azure Portal. De filer som etablerar Azure-resurserna är:main.parameters.jsonmain.bicep- En
appresurskatalog ordnad efter funktion - Ett
corereferensbibliotek som innehåller de Bicep-moduler som används av mallenazd
- Distribuerar koden med hjälp av
azd deploy
Förväntad utdata
Initializing a new project (azd init) Provisioning Azure resources (azd provision) Provisioning Azure resources can take some time You can view detailed progress in the Azure Portal: https://portal.azure.com (✓) Done: Resource group: resource-group-name (✓) Done: Log Analytics workspace: log-analytics-name (✓) Done: Application Insights: app-insights-name (✓) Done: Portal dashboard: dashboard-name (✓) Done: Container Apps Environment: container-apps-env-name (✓) Done: Container App: ca-checkout-name (✓) Done: Container App: ca-order-processor-name Deploying services (azd deploy) (✓) Done: Deploying service api - Endpoint: https://ca-order-processor-name.eastus.azurecontainerapps.io/ (✓) Done: Deploying service worker SUCCESS: Your Azure app has been deployed! You can view the resources created under the resource group resource-group-name in Azure Portal: https://portal.azure.com/#@/resource/subscriptions/<your-azure-subscription>/resourceGroups/resource-group-name/overview- Skapar och konfigurerar alla nödvändiga Azure-resurser via de angivna Bicep-filerna i
Bekräfta lyckad distribution
I Azure Portal kontrollerar du att checkout tjänsten skickar beställningar till order-processor tjänsten.
Kopiera containerappens
checkoutnamn från terminalutdata.Logga in på Azure Portal och sök efter containerappresursen efter namn.
På instrumentpanelen Container Apps väljer du Övervakningsloggström>.
Bekräfta att containern
checkoutloggar samma utdata som i terminalen tidigare.
Gör samma sak för tjänsten
order-processor.
Vad hände?
När kommandot har slutförts azd up :
- Azure Developer CLI etablerade De Azure-resurser som refereras i exempelprojektets
./infrakatalog till den Azure-prenumeration som du angav. Nu kan du visa dessa Azure-resurser via Azure Portal. - Appen som distribueras till Azure Container Apps. Från portalen kan du bläddra i den fullt fungerande appen.
Rensa resurser
Om du inte kommer att fortsätta att använda det här programmet tar du bort de Azure-resurser som du har etablerat med följande kommando:
azd down