Självstudie: Distribuera en Spring Boot-app som är ansluten till Apache Kafka på Confluent Cloud med Service Connector i Azure Spring Apps
Lär dig hur du kommer åt Apache Kafka på Confluent Cloud för ett Spring Boot-program som körs i Azure Spring Apps. I den här självstudien slutför du följande uppgifter:
- Skapa Apache Kafka på Confluent Cloud
- Skapa ett Spring Cloud-program
- Skapa och distribuera Spring Boot-appen
- Ansluta Apache Kafka på Confluent Cloud till Azure Spring Apps med hjälp av Service Connector
Varning
Microsoft rekommenderar att du använder det säkraste tillgängliga autentiseringsflödet. Det autentiseringsflöde som beskrivs i den här proceduren kräver mycket stort förtroende för programmet och medför risker som inte finns i andra flöden. Du bör bara använda det här flödet när andra säkrare flöden, till exempel hanterade identiteter, inte är livskraftiga.
Förutsättningar
Ett Azure-konto med en aktiv prenumeration. Skapa ett konto utan kostnad.
Java 8 eller en senare version med långsiktigt stöd (LTS) 1.
Använd Bash-miljön i Azure Cloud Shell. Mer information finns i Snabbstart för Bash i Azure Cloud Shell.
Om du föredrar att köra CLI-referenskommandon lokalt installerar du Azure CLI. Om du kör i Windows eller macOS kan du köra Azure CLI i en Docker-container. Mer information finns i Så här kör du Azure CLI i en Docker-container.
Om du använder en lokal installation loggar du in på Azure CLI med hjälp av kommandot az login. Slutför autentiseringsprocessen genom att följa stegen som visas i terminalen. Andra inloggningsalternativ finns i Logga in med Azure CLI.
När du uppmanas att installera Azure CLI-tillägget vid första användningen. Mer information om tillägg finns i Använda tillägg med Azure CLI.
Kör az version om du vill hitta versionen och de beroende bibliotek som är installerade. Om du vill uppgradera till den senaste versionen kör du az upgrade.
Klona eller ladda ned exempelappen
Klona exempellagringsplatsen:
git clone https://github.com/Azure-Samples/serviceconnector-springcloud-confluent-springboot/
Navigera till följande mapp:
cd serviceconnector-springcloud-confluent-springboot
Förbereda molntjänster
Skapa en instans av Apache Kafka för Confluent Cloud
Skapa en instans av Apache Kafka for Confluent Cloud genom att följa den här vägledningen.
Skapa Kafka-kluster och schemaregister i Confluent Cloud
Logga in på Confluent Cloud med den enkel inloggning som tillhandahålls av Azure
Använd standardmiljön eller skapa en ny
Skapa ett Kafka-kluster med följande information:
- Klustertyp: Standard
- Region/zoner: eastus(Virginia), enskild zon
- Klusternamn:
cluster_1
eller något annat namn.
I Klusteröversikt –> Klusterinställningar noterar du Url:en för Kafka Bootstrap-servern .
Skapa API-nycklar för klustret i Dataintegrering ->API Keys ->+ Lägg till nyckel med global åtkomst. Anteckna nyckeln och hemligheten.
Skapa ett ämne med namnet
test
med partitioner 6 i Ämnen ->+ Lägg till ämneUnder standardmiljö väljer du fliken Schemaregister. Aktivera schemaregistret och anteckna API-slutpunkten.
Skapa API-nycklar för schemaregistret. Spara nyckeln och hemligheten.
Skapa en Azure Spring Apps-instans
Skapa en instans av Azure Spring Apps genom att följa snabbstarten för Azure Spring Apps i Java. Kontrollera att din Azure Spring Apps-instans har skapats i en region som har stöd för Service Connector.
Skapa och distribuera appen
Skapa exempelappen och skapa en ny spring-app
Logga in på Azure och välj din prenumeration.
az login az account set --subscription <Name or ID of your subscription>
Skapa projektet med hjälp av gradle.
./gradlew build
Skapa appen med en offentlig slutpunkt tilldelad. Om du valde Java version 11 när du genererade Spring Cloud-projektet inkluderar du växeln
--runtime-version=Java_11
.az spring app create -n hellospring -s <service-instance-name> -g <your-resource-group-name> --assign-endpoint true
Skapa en tjänstanslutning med hjälp av Service Connector
Kör följande kommando för att ansluta Apache Kafka på Confluent Cloud till vårmolnappen.
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>
Ersätt följande platshållartexter med dina egna data:
- Ersätt
<your-resource-group-name>
med resursgruppens namn som du skapade för din Apps Spring Apps-instans. - Ersätt
<kafka-bootstrap-server-url>
med kafka bootstrap-serverns URL. Exempel:pkc-xxxx.eastus.azure.confluent.cloud:9092
. - Ersätt
<cluster-api-key>
och<cluster-api-secret>
med klustrets API-nyckel och hemlighet. - Ersätt
<kafka-schema-registry-endpoint>
med kafka-schemaregistrets slutpunkt. Exempel:https://psrc-xxxx.westus2.azure.confluent.cloud
. - Ersätt
<registry-api-key>
och<registry-api-secret>
med din kafka Schema Registry API-nyckel och hemlighet.
Kommentar
Om du ser felmeddelandet "Prenumerationen är inte registrerad för att använda Microsoft.ServiceLinker" kör az provider register -n Microsoft.ServiceLinker
du för att registrera resursprovidern för Service Connector och kör anslutningskommandot igen.
Distribuera JAR-filen
Kör följande kommando för att ladda upp JAR-filen (build/libs/java-springboot-0.0.1-SNAPSHOT.jar
) till din Spring Cloud-app.
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
Verifiera Kafka-datainmatningen
Gå till Spring Cloud-appens slutpunkt från Azure Portal och välj programmets URL. Du ser "10 meddelanden producerades till ämnestestet".
Gå sedan till Confluent-portalen så visar ämnets sida produktionsdataflöde.
Nästa steg
Följ självstudierna nedan om du vill veta mer om Service Connector.