Microsoft 建議您使用最安全的可用驗證流程。 此程式中所述的驗證流程,例如資料庫、快取、傳訊或 AI 服務,在應用程式中需要高度的信任,而且不會在其他流程中帶來風險。 只有在更安全的選項,例如無密碼或無密鑰連線的受控識別時,才能使用此流程。 針對本機計算機作業,偏好使用無密碼或無密鑰連線的使用者身分識別。
選取您想要在計算服務和目標服務之間使用的驗證類型。:選取 [連接字元串]。
繼續...:選取 資料庫認證
用戶名稱: myadmin
密碼:輸入您的密碼。
選取 [下一步:網路]。 使用預設選項 [設定防火牆規則] 來啟用目標服務的存取。
選取 [下一步:檢閱和建立 ] 以檢閱您的選取專案,然後選取 [ 建立 ] 以建立連線。
3.1. 提供每個資源的名稱
使用下列命令建立變數來保存資源名稱。 請務必將預留位置取代為您自己的值。
注意
Microsoft 建議您使用最安全的可用驗證流程。 此程式中所述的驗證流程,例如資料庫、快取、傳訊或 AI 服務,在應用程式中需要高度的信任,而且不會在其他流程中帶來風險。 只有在更安全的選項,例如無密碼或無密鑰連線的受控識別時,才能使用此流程。 針對本機計算機作業,偏好使用無密碼或無密鑰連線的使用者身分識別。
az group create --resource-group ${RESOURCE_GROUP}
使用下列命令,將新建立的資源群組設定為預設資源群組。
az configure --defaults group=${RESOURCE_GROUP}
3.3. 建立 Azure Spring Apps 執行個體
Azure Spring Apps 可用來裝載 Spring Web 應用程式。 建立 Azure Spring Apps 實例及其內部的應用程式。
使用下列命令來建立 Azure Spring Apps 服務實例。
az spring create --name ${AZURE_SPRING_APPS_NAME} --sku enterprise
使用下列命令在 Azure Spring Apps 實例中建立應用程式。
az spring app create \
--service ${AZURE_SPRING_APPS_NAME} \
--name ${APP_NAME} \
--assign-endpoint true
3.4. 準備 PostgreSQL 實例
Spring Web 應用程式會針對localhost中的資料庫使用 H2,並針對 Azure 中的資料庫使用 適用於 PostgreSQL 的 Azure 資料庫。
使用下列命令來建立 PostgreSQL 實例:
注意
Microsoft 建議您使用最安全的可用驗證流程。 此程式中所述的驗證流程,例如資料庫、快取、傳訊或 AI 服務,在應用程式中需要高度的信任,而且不會在其他流程中帶來風險。 只有在更安全的選項,例如無密碼或無密鑰連線的受控識別時,才能使用此流程。 針對本機計算機作業,偏好使用無密碼或無密鑰連線的使用者身分識別。
Microsoft 建議您使用最安全的可用驗證流程。 此程式中所述的驗證流程,例如資料庫、快取、傳訊或 AI 服務,在應用程式中需要高度的信任,而且不會在其他流程中帶來風險。 只有在更安全的選項,例如無密碼或無密鑰連線的受控識別時,才能使用此流程。 針對本機計算機作業,偏好使用無密碼或無密鑰連線的使用者身分識別。
az spring app update \
--service ${AZURE_SPRING_APPS_NAME} \
--name ${APP_NAME} \
--env SPRING_DATASOURCE_URL="jdbc:postgresql://${PSQL_FQDN}:5432/${POSTGRESQL_DB}?sslmode=require" \
SPRING_DATASOURCE_USERNAME="${POSTGRESQL_ADMIN_USERNAME}" \
SPRING_DATASOURCE_PASSWORD="${POSTGRESQL_ADMIN_PASSWORD}"
Initializing a new project (azd init)
(✓) Done: Initialized git repository
(✓) Done: Downloading template code to: <your-local-path>
Enter a new environment name: <your-env-name>
SUCCESS: New project initialized!
You can view the template code in your directory: <your-local-path>
Learn more about running 3rd party code on our DevHub: https://aka.ms/azd-third-party-code-notice
SUCCESS: Your application was provisioned in Azure in xx minutes xx seconds.
You can view the resources created under the resource group rg-<your-environment-name> in Azure Portal:
https://portal.azure.com/#@/resource/subscriptions/<your-subscription-id>/resourceGroups/rg-<your-environment-name>/overview
選取訂用帳戶:選取您所建立之 Azure Spring Apps 實例的訂用帳戶清單編號,預設為清單中的第一個訂用帳戶。 如果您使用預設號碼,請直接按 Enter 。
在 Azure 中使用現有的 Azure Spring Apps:按 y 以使用現有的 Azure Spring Apps 實例。
選取 [Azure Spring Apps 以進行部署:選取您所建立的 Azure Spring Apps 實例數目。 如果您使用預設號碼,請直接按 Enter 。
公開此應用程式的公用存取:按 y。
確認儲存上述所有組態:按 y。 如果您按下 n,則組態不會儲存在 POM 檔案中。
使用下列命令來部署應用程式:
./mvnw azure-spring-apps:deploy
下列清單描述命令互動:
OAuth2 登入:您必須根據 OAuth2 通訊協定授權登入 Azure。
執行命令之後,您可以從下列記錄訊息中看到部署成功:
[INFO] Start updating app(simple-todo-web)...
[INFO] App(simple-todo-web) is successfully updated.
[INFO] Starting Spring App after deploying artifacts...
[INFO] Deployment Status: Running
[INFO] InstanceName:simple-todo-web--default-xxxxxxx-xxxxxxxxx-xxxxx Status:Running Reason:null DiscoverStatus:NONE
[INFO] Getting public url of app(simple-todo-web)...
[INFO] Application url: https://simple-todo-web.<unique-identifier>.<region-name>.azurecontainerapps.io
輸出 應用程式 URL 是存取 todo 應用程式的端點。
您現在可以將應用程式部署至 Azure Spring Apps。 使用下列步驟來封裝應用程式、布建 Web 應用程式所需的 Azure 資源,然後部署至 Azure Spring Apps:
使用下列命令封裝應用程式的可部署複本:
azd package
主控台會輸出類似下列範例的訊息:
SUCCESS: Your application was packaged for Azure in xx seconds.
使用下列命令,將應用程式程式代碼部署到那些新佈建的資源:
azd deploy
主控台會輸出類似下列範例的訊息:
Deploying services (azd deploy)
(✓) Done: Deploying service simple-todo-web
- Endpoint: https://simple-todo-web.xxx.<your-azure-location>.azurecontainerapps.io
SUCCESS: Your application was deployed to Azure in xx minutes xx seconds.
You can view the resources created under the resource group rg-<your-environment-name> in Azure Portal:
https://portal.azure.com/#@/resource/subscriptions/<your-subscription-id>/resourceGroups/rg-<your-environment-name>/overview
Initializing a new project (azd init)
(✓) Done: Initialized git repository
(✓) Done: Downloading template code to: <your-local-path>
Please enter a new environment name: <your-env-name>
SUCCESS: New project initialized!
You can view the template code in your directory: <your-local-path>
Learn more about running 3rd party code on our DevHub: https://aka.ms/azd-third-party-code-notice
SUCCESS: Your application was provisioned in Azure in xx minutes xx seconds.
You can view the resources created under the resource group rg-<your-environment-name> in Azure Portal:
https://portal.azure.com/#@/resource/subscriptions/<your-subscription-id>/resourceGroups/rg-<your-environment-name>/overview
選取訂用帳戶:選取您所建立之 Azure Spring Apps 實例的訂用帳戶清單編號,預設為清單中的第一個訂用帳戶。 如果您使用預設號碼,請直接按 ENTER 。
選取 [Azure Spring Apps:選取您所建立的 Azure Spring Apps 實例數目]。 如果您使用預設號碼,請直接按 ENTER 。
公開此應用程式的公用存取?:按 y。
確認儲存上述所有組態 (Y/n):按 y。 如果您按下 n,則組態不會儲存在 POM 檔案中。
使用下列命令來部署應用程式:
./mvnw azure-spring-apps:deploy
下列清單描述命令互動:
OAuth2 登入:您必須根據 OAuth2 通訊協定授權登入 Azure。
執行命令之後,您可以從下列記錄訊息中看到部署成功:
[INFO] Deployment(default) is successfully created
[INFO] Starting Spring App after deploying artifacts...
[INFO] Deployment Status: Running
[INFO] InstanceName:simple-todo-web-default-x-xxxxxxxxxx-xxxxx Status:Running Reason:null DiscoverStatus:UNREGISTERED
[INFO] InstanceName:simple-todo-web-default-x-xxxxxxxxx-xxxxx Status:Terminating Reason:null DiscoverStatus:UNREGISTERED
[INFO] Getting public url of app(simple-todo-web)...
[INFO] Application url: https://<your-Azure-Spring-Apps-instance-name>-simple-todo-web.azuremicroservices.io
輸出 應用程式 URL 是存取 todo 應用程式的端點。
您現在可以將應用程式部署至 Azure Spring Apps。 使用下列步驟來封裝應用程式、布建 Web 應用程式所需的 Azure 資源,然後部署至 Azure Spring Apps:
使用下列命令封裝應用程式的可部署複本:
azd package
主控台會輸出類似下列範例的訊息:
SUCCESS: Your application was packaged for Azure in xx seconds.
使用下列命令,將應用程式程式代碼部署到那些新佈建的資源:
azd deploy
主控台會輸出類似下列範例的訊息:
Deploying services (azd deploy)
(✓) Done: Deploying service simple-todo-web
- Endpoint: https://<your-Azure-Spring-Apps-instance-name>-simple-todo-web.azuremicroservices.io/
SUCCESS: Your application was deployed to Azure in xx minutes xx seconds.
You can view the resources created under the resource group rg-<your-environment-name> in Azure Portal:
https://portal.azure.com/#@/resource/subscriptions/<your-subscription-id>/resourceGroups/rg-<your-environment-name>/overview