Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu öğreticide, otomatik mTLS kullanarak güvenli bir şekilde iletişim kuran ve Dapr Hizmeti Çağırma API'sini kullanarak yerleşik yeniden denemeleri kullanarak güvenilir bir şekilde iletişim kuran iki mikro hizmet oluşturup çalıştıracaksınız. Şunu yapacaksınız:
- Uygulamayı yerel olarak çalıştırma.
- Sağlanan Bicep ile Azure Geliştirici CLI aracılığıyla uygulamayı Azure Container Apps'e dağıtın.
Örnek hizmet çağırma projesi şunları içerir:
- Hizmette
checkoutistekorder-processorçağırmak için döngüde HTTP proxy'si kullanan bir hizmet. order-processorHizmettencheckoutisteği alan bir hizmet.
Önkoşullar
- Azure Geliştirici CLI'sini yükleme
- Yükleme ve başlatma Dapr
- Docker Desktop
- GIT’i yükleme
Node.js uygulamalarını yerel olarak çalıştırma
Uygulamayı Azure Container Apps'e dağıtmadan önce ve checkout hizmetlerini Dapr ile yerel olarak çalıştırarak order-processor başlayın.
Projeyi hazırlama
Örnek uygulamaları yerel makinenize kopyalayın.
git clone https://github.com/Azure-Samples/svc-invoke-dapr-nodejs.gitÖrneğin kök dizinine gidin.
cd svc-invoke-dapr-nodejs
Dapr CLI kullanarak uygulamaları çalıştırma
Hizmeti çalıştırarak order-processor başlayın.
Örneğin kök dizininden dizinleri olarak
order-processordeğiştirin.cd order-processorBağımlılıkları yükleyin.
npm installorder-processorHizmeti çalıştırın.dapr run --app-port 5001 --app-id order-processor --app-protocol http --dapr-http-port 3501 -- npm startYeni bir terminal penceresinde, örneğin kök dizininden çağıran hizmetine gidin
checkout.cd checkoutBağımlılıkları yükleyin.
npm installcheckoutHizmeti çalıştırın.dapr run --app-id checkout --app-protocol http --dapr-http-port 3500 -- npm startBeklenen çıkış
Her iki terminalde
checkoutde hizmet, hizmete döngü halinde siparişleriorder-processorçağırır.checkoutçıktı:== 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-processorçıktı:== 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 }Hizmetten hizmete çağrıdan çıkmak için her iki terminalde de Cmd/Ctrl + C tuşlarına basın.
Azure Geliştirici CLI'sını kullanarak uygulama şablonunu dağıtma
kullanarak azduygulamayı Azure Container Apps'e dağıtın.
Projeyi hazırlama
Yeni bir terminal penceresinde örneğin kök dizinine gidin.
cd svc-invoke-dapr-nodejs
Azure Geliştirici CLI'sı kullanarak sağlama ve dağıtma
Projeyi başlatmak için komutunu çalıştırın
azd init.azd initTerminalde istendiğinde aşağıdaki parametreleri sağlayın.
Parametre Açıklama Ortam Adı Tüm Azure kaynaklarını barındırmak için oluşturulan kaynak grubunun ön eki. Azure Konumu Kaynaklarınızın Azure konumu. Azure Aboneliği Kaynaklarınız için Azure aboneliği. Tek bir komutla altyapıyı sağlamak ve uygulamayı Azure Container Apps'e dağıtmak için komutunu çalıştırın
azd up.azd upBu işlemin tamamlanması biraz zaman alabilir.
azd upKomut tamamlandıktan sonra CLI çıkışında dağıtım ilerleme durumunu izlemek için iki Azure portalı bağlantısı görüntülenir. Çıkışta nasılazd upolduğu da gösterilmektedir:- kullanarak
azd provisiondizininde./infrasağlanan Bicep dosyaları aracılığıyla gerekli tüm Azure kaynaklarını oluşturur ve yapılandırr. Azure Geliştirici CLI'sı tarafından sağlandıktan sonra bu kaynaklara Azure portalı üzerinden erişebilirsiniz. Azure kaynaklarını sağlayan dosyalar şunlardır:main.parameters.jsonmain.bicepappİşlevselliğe göre düzenlenmiş bir kaynak dizinicoreŞablon tarafındanazdkullanılan Bicep modüllerini içeren bir başvuru kitaplığı
- Kullanarak kodu dağıtır
azd deploy
Beklenen çıkış
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- kullanarak
Başarılı dağıtımı onaylayın
Azure portalında hizmetin hizmete siparişler order-processor geçirdiğini doğrulayıncheckout.
Terminal çıkışından
checkoutkapsayıcı uygulamasının adını kopyalayın.Azure portalında oturum açın ve kapsayıcı uygulaması kaynağını ada göre arayın.
Container Apps panosunda İzleme Günlüğü akışı'nı> seçin.
Kapsayıcının
checkoutdaha önce terminaldekiyle aynı çıkışı günlüğe kaydetmiş olduğunu onaylayın.
Aynı işlemi hizmet için de
order-processoryapın.
Neler oldu?
Komutun başarıyla tamamlanmasından azd up sonra:
- Azure Geliştirici CLI'sı, örnek projenin
./infradizininde başvuruda bulunan Azure kaynaklarını belirttiğiniz Azure aboneliğine sağladı. Artık bu Azure kaynaklarını Azure portalı üzerinden görüntüleyebilirsiniz. - Azure Container Apps'e dağıtılan uygulama. Portaldan tam işlevsel uygulamaya göz atabilirsiniz.
Python uygulamalarını yerel olarak çalıştırma
Uygulamayı Azure Container Apps'e dağıtmadan önce ve checkout hizmetlerini Dapr ile yerel olarak çalıştırarak order-processor başlayın.
Projeyi hazırlama
Örnek uygulamaları yerel makinenize kopyalayın.
git clone https://github.com/Azure-Samples/svc-invoke-dapr-python.gitÖrneğin kök dizinine gidin.
cd svc-invoke-dapr-python
Dapr CLI kullanarak uygulamaları çalıştırma
Hizmeti çalıştırarak order-processor başlayın.
Örneğin kök dizininden dizinleri olarak
order-processordeğiştirin.cd order-processorBağımlılıkları yükleyin.
pip3 install -r requirements.txtorder-processorHizmeti çalıştırın.dapr run --app-port 8001 --app-id order-processor --app-protocol http --dapr-http-port 3501 -- python3 app.pyYeni bir terminal penceresinde, örneğin kök dizininden çağıran hizmetine gidin
checkout.cd checkoutBağımlılıkları yükleyin.
pip3 install -r requirements.txtcheckoutHizmeti çalıştırın.dapr run --app-id checkout --app-protocol http --dapr-http-port 3500 -- python3 app.pyBeklenen çıkış
Her iki terminalde
checkoutde hizmet, hizmete döngü halinde siparişleriorder-processorçağırır.checkoutçıktı:== 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-processorçıktı:== 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 }Hizmetten hizmete çağrıdan çıkmak için her iki terminalde Cmd/Ctrl + C tuşlarına basın
Azure Geliştirici CLI'sını kullanarak uygulama şablonunu dağıtma
kullanarak azduygulamayı Azure Container Apps'e dağıtın.
Projeyi hazırlama
Yeni bir terminal penceresinde örneğin kök dizinine gidin.
cd svc-invoke-dapr-python
Azure Geliştirici CLI'sı kullanarak sağlama ve dağıtma
Projeyi başlatmak için komutunu çalıştırın
azd init.azd initTerminalde istendiğinde aşağıdaki parametreleri sağlayın.
Parametre Açıklama Ortam Adı Tüm Azure kaynaklarını barındırmak için oluşturulan kaynak grubunun ön eki. Azure Konumu Kaynaklarınızın Azure konumu. Azure Aboneliği Kaynaklarınız için Azure aboneliği. Tek bir komutla altyapıyı sağlamak ve uygulamayı Azure Container Apps'e dağıtmak için komutunu çalıştırın
azd up.azd upBu işlemin tamamlanması biraz zaman alabilir.
azd upKomut tamamlandıktan sonra CLI çıkışında dağıtım ilerleme durumunu izlemek için iki Azure portalı bağlantısı görüntülenir. Çıkışta nasılazd upolduğu da gösterilmektedir:- kullanarak
azd provisiondizininde./infrasağlanan Bicep dosyaları aracılığıyla gerekli tüm Azure kaynaklarını oluşturur ve yapılandırr. Azure Geliştirici CLI'sı tarafından sağlandıktan sonra bu kaynaklara Azure portalı üzerinden erişebilirsiniz. Azure kaynaklarını sağlayan dosyalar şunlardır:main.parameters.jsonmain.bicepappİşlevselliğe göre düzenlenmiş bir kaynak dizinicoreŞablon tarafındanazdkullanılan Bicep modüllerini içeren bir başvuru kitaplığı
- Kullanarak kodu dağıtır
azd deploy
Beklenen çıkış
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- kullanarak
Başarılı dağıtımı onaylayın
Azure portalında hizmetin hizmete siparişler order-processor geçirdiğini doğrulayıncheckout.
Terminal çıkışından
checkoutkapsayıcı uygulamasının adını kopyalayın.Azure portalında oturum açın ve kapsayıcı uygulaması kaynağını ada göre arayın.
Container Apps panosunda İzleme Günlüğü akışı'nı> seçin.
Kapsayıcının
checkoutdaha önce terminaldekiyle aynı çıkışı günlüğe kaydetmiş olduğunu onaylayın.
Aynı işlemi hizmet için de
order-processoryapın.
Neler oldu?
Komutun başarıyla tamamlanmasından azd up sonra:
- Azure Geliştirici CLI'sı, örnek projenin
./infradizininde başvuruda bulunan Azure kaynaklarını belirttiğiniz Azure aboneliğine sağladı. Artık bu Azure kaynaklarını Azure portalı üzerinden görüntüleyebilirsiniz. - Azure Container Apps'e dağıtılan uygulama. Portaldan tam işlevsel uygulamaya göz atabilirsiniz.
.NET uygulamalarını yerel olarak çalıştırma
Uygulamayı Azure Container Apps'e dağıtmadan önce ve checkout hizmetlerini Dapr ile yerel olarak çalıştırarak order-processor başlayın.
Projeyi hazırlama
Örnek uygulamaları yerel makinenize kopyalayın.
git clone https://github.com/Azure-Samples/svc-invoke-dapr-csharp.gitÖrneğin kök dizinine gidin.
cd svc-invoke-dapr-csharp
Dapr CLI kullanarak uygulamaları çalıştırma
Çağrı hizmetini order-processor çalıştırarak başlayın.
Örneğin kök dizininden dizinleri olarak
order-processordeğiştirin.cd order-processorBağımlılıkları yükleyin.
dotnet buildorder-processorHizmeti çalıştırın.dapr run --app-port 7001 --app-id order-processor --app-protocol http --dapr-http-port 3501 -- dotnet runYeni bir terminal penceresinde, örneğin kök dizininden çağıran hizmetine gidin
checkout.cd checkoutBağımlılıkları yükleyin.
dotnet buildcheckoutHizmeti çalıştırın.dapr run --app-id checkout --app-protocol http --dapr-http-port 3500 -- dotnet runBeklenen çıkış
Her iki terminalde
checkoutde hizmet, hizmete döngü halinde siparişleriorder-processorçağırır.checkoutçıktı:== 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-processorçıktı:== 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 }Hizmetten hizmete çağrıdan çıkmak için her iki terminalde de Cmd/Ctrl + C tuşlarına basın.
Azure Geliştirici CLI'sını kullanarak uygulama şablonunu dağıtma
kullanarak azduygulamayı Azure Container Apps'e dağıtın.
Projeyi hazırlama
Yeni bir terminal penceresinde örneğin kök dizinine gidin.
cd svc-invoke-dapr-csharp
Azure Geliştirici CLI'sı kullanarak sağlama ve dağıtma
Projeyi başlatmak için komutunu çalıştırın
azd init.azd initTerminalde istendiğinde aşağıdaki parametreleri sağlayın.
Parametre Açıklama Ortam Adı Tüm Azure kaynaklarını barındırmak için oluşturulan kaynak grubunun ön eki. Azure Konumu Kaynaklarınızın Azure konumu. Azure Aboneliği Kaynaklarınız için Azure aboneliği. Tek bir komutla altyapıyı sağlamak ve uygulamayı Azure Container Apps'e dağıtmak için komutunu çalıştırın
azd up.azd upBu işlemin tamamlanması biraz zaman alabilir.
azd upKomut tamamlandıktan sonra CLI çıkışında dağıtım ilerleme durumunu izlemek için iki Azure portalı bağlantısı görüntülenir. Çıkışta nasılazd upolduğu da gösterilmektedir:- kullanarak
azd provisiondizininde./infrasağlanan Bicep dosyaları aracılığıyla gerekli tüm Azure kaynaklarını oluşturur ve yapılandırr. Azure Geliştirici CLI'sı tarafından sağlandıktan sonra bu kaynaklara Azure portalı üzerinden erişebilirsiniz. Azure kaynaklarını sağlayan dosyalar şunlardır:main.parameters.jsonmain.bicepappİşlevselliğe göre düzenlenmiş bir kaynak dizinicoreŞablon tarafındanazdkullanılan Bicep modüllerini içeren bir başvuru kitaplığı
- Kullanarak kodu dağıtır
azd deploy
Beklenen çıkış
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- kullanarak
Başarılı dağıtımı onaylayın
Azure portalında hizmetin hizmete siparişler order-processor geçirdiğini doğrulayıncheckout.
Terminal çıkışından
checkoutkapsayıcı uygulamasının adını kopyalayın.Azure portalında oturum açın ve kapsayıcı uygulaması kaynağını ada göre arayın.
Container Apps panosunda İzleme Günlüğü akışı'nı> seçin.
Kapsayıcının
checkoutdaha önce terminaldekiyle aynı çıkışı günlüğe kaydetmiş olduğunu onaylayın.
Aynı işlemi hizmet için de
order-processoryapın.
Neler oldu?
Komutun başarıyla tamamlanmasından azd up sonra:
- Azure Geliştirici CLI'sı, örnek projenin
./infradizininde başvuruda bulunan Azure kaynaklarını belirttiğiniz Azure aboneliğine sağladı. Artık bu Azure kaynaklarını Azure portalı üzerinden görüntüleyebilirsiniz. - Azure Container Apps'e dağıtılan uygulama. Portaldan tam işlevsel uygulamaya göz atabilirsiniz.
Kaynakları temizleme
Bu uygulamayı kullanmaya devam etmeyecekseniz, aşağıdaki komutla sağladığınız Azure kaynaklarını silin:
azd down
Sonraki adımlar
- Dapr uygulamalarını Azure Container Apps'e dağıtma hakkında daha fazla bilgi edinin.
- Dapr istekleri için belirteç kimlik doğrulamasını etkinleştirin.
- Azure Geliştirici CLI'sı ve uygulamalarınızı ile
azduyumlu hale getirme hakkında daha fazla bilgi edinin.