Share via


教學課程:在 Azure Spring Apps 中使用服務 連線 或部署連線至 Confluent Cloud 上的 Apache Kafka 的 Spring Boot 應用程式

瞭解如何在 Confluent Cloud 上存取 Apache Kafka,以取得在 Azure Spring Apps 上執行的 Spring Boot 應用程式。 在本教學課程中,您會完成下列工作:

  • 在 Confluent Cloud 上建立 Apache Kafka
  • 建立 Spring Cloud 應用程式
  • 建置和部署 Spring Boot 應用程式
  • 使用 Service 連線 or 將 Confluent Cloud 上的 Apache Kafka 連線 至 Azure Spring Apps

必要條件

  • 具有有效訂用帳戶的 Azure 帳戶。 免費建立帳戶

  • 具有長期支援 (LTS) 1 的 Java 8 或更新版本。

複製或下載範例應用程式

  1. 複製範例存放庫:

    git clone https://github.com/Azure-Samples/serviceconnector-springcloud-confluent-springboot/
    
  2. 瀏覽至下列資料夾:

    cd serviceconnector-springcloud-confluent-springboot
    

準備雲端服務

建立 Apache Kafka for Confluent Cloud 的實例

遵循 本指南,建立適用於 Confluent Cloud 的 Apache Kafka 實例。

在 Confluent Cloud 上建立 Kafka 叢集和架構登錄

  1. 使用 Azure 提供的 SSO 登入 Confluent Cloud

    The link of Confluent cloud SSO login using Azure portal

  2. 使用預設環境或建立新的環境

    Cloud environment of Apache Kafka on Confluent Cloud

  3. 使用下列資訊建立 Kafka 叢集:

    • 叢集類型:標準
    • 區域/區域:eastus(維吉尼亞州)、單一區域
    • 叢集名稱: cluster_1 或任何其他名稱。
  4. [叢集概觀 -> 叢集設定] 中,記下 Kafka Bootstrap 伺服器 URL。

    Cluster settings of Apache Kafka on Confluent Cloud

  5. 在資料整合 -API 金鑰 ->>+ 使用全域存取新增金鑰建立叢集的 API 金鑰。 記下金鑰和秘密。

  6. 在主題> -+ 新增主題中,使用分割區 6 建立名為 的主題test

  7. 預設環境中,選取 [ 架構登錄] 索引標籤。啟用 [架構登錄 ],並記下 API 端點

  8. 建立架構登錄的 API 金鑰。 儲存金鑰和秘密。

建立 Azure Spring Apps 執行個體

遵循 Java 中的 Azure Spring Apps 快速入門 ,建立 Azure Spring Apps 的實例。 請確定您的 Azure Spring Apps 實例是在具有 Service 連線 or 支援的區域中建立的。

建置和部署應用程式

建置範例應用程式並建立新的 Spring 應用程式

  1. 登入 Azure 並選擇您的訂用帳戶。

    az login
    
    az account set --subscription <Name or ID of your subscription>
    
  2. 使用 gradle 建置專案。

    ./gradlew build
    
  3. 建立已指派公用端點的應用程式。 如果您在產生 Spring Cloud 專案時選取了 Java 第 11 版,請包含 --runtime-version=Java_11 參數。

    az spring app create -n hellospring -s <service-instance-name> -g <your-resource-group-name> --assign-endpoint true
    

使用服務 連線 or 建立服務連線

執行下列命令,將 Confluent Cloud 上的 Apache Kafka 連線到 Spring 雲端應用程式。

az spring connection create confluent-cloud -g <your-spring-cloud-resource-group> --service <your-spring-cloud-service> --app <your-spring-cloud-app> --deployment <your-spring-cloud-deployment> --bootstrap-server <kafka-bootstrap-server-url> --kafka-key <cluster-api-key> --kafka-secret <cluster-api-secret> --schema-registry <kafka-schema-registry-endpoint> --schema-key <registry-api-key> --schema-secret <registry-api-secret>

以您自己的資料取代下列佔位元文字:

  • 將 取代 <your-resource-group-name> 為您為Apps Spring Apps 實例建立的資源組名。
  • 將取代 <kafka-bootstrap-server-url> 為您的 Kafka 啟動程式伺服器 URL。 例如: pkc-xxxx.eastus.azure.confluent.cloud:9092
  • 將和 <cluster-api-secret> 取代<cluster-api-key>為您的叢集 API 金鑰和秘密。
  • 將取代 <kafka-schema-registry-endpoint> 為您的 Kafka 架構登錄端點。 例如: https://psrc-xxxx.westus2.azure.confluent.cloud
  • 將和 <registry-api-secret> 取代<registry-api-key>為您的 kafka 架構登錄 API 金鑰和秘密。

注意

如果您看到錯誤訊息「訂用帳戶未註冊為使用 Microsoft.ServiceLinker」,請執行 az provider register -n Microsoft.ServiceLinker 來註冊服務 連線 或資源提供者,然後再次執行連線命令。

部署 JAR 檔案

執行下列命令,將 JAR 檔案 (build/libs/java-springboot-0.0.1-SNAPSHOT.jar) 上傳至 Spring Cloud 應用程式。

az spring app deploy -n hellospring -s <service-instance-name> -g <your-resource-group-name>  --artifact-path build/libs/java-springboot-0.0.1-SNAPSHOT.jar

驗證 Kafka 數據擷取

從 Azure 入口網站 流覽至 Spring Cloud 應用程式的端點,然後選取應用程式 URL。 您會看到「已產生 10 則訊息至主題測試」。

然後移至 Confluent 入口網站,主題的頁面會顯示生產輸送量。

Sample metrics

下一步

請遵循下列教學課程,深入瞭解服務 連線 或服務。