Event Hubs 네임스페이스 만들기

    NS_NAME=myEvt-HubNs1

    az eventhubs namespace create --name $NS_NAME

     

    az eventhubs namespace authorization-rule keys list --name RootManageSharedAccessKey --namespace-name $NS_NAME

    Event Hubs 네임스페이스에 대한 연결 문자열을 페치합니다. Event Hub를 사용하여 메시지를 보내고 받도록 응용 프로그램을 구성하려면 이 작업이 필요

     

    결과조회, 나중에 primaryKey sender 소스에 적어야됨

    $NS_NAME

    {

      "aliasPrimaryConnectionString": null,

      "aliasSecondaryConnectionString": null,

      "keyName": "RootManageSharedAccessKey",

      "primaryConnectionString": "Endpoint=sb://myevy-hubns1.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=JdXBEL2VQdqmfTgH4Z3KMsQML6XNTpFjTSFZYs8qOP0=",

      "primaryKey": "JdXBEL2VQdqmfTgH4Z3KMsQML6XNTpFjTSFZYs8qOP0=",

      "secondaryConnectionString": "Endpoint=sb://myevy-hubns1.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=Gf6+jHO5ZUpOW8wt2hC8Kf/6q0u4Z6UVVr5+egzHtfM=",

      "secondaryKey": "Gf6+jHO5ZUpOW8wt2hC8Kf/6q0u4Z6UVVr5+egzHtfM="

    }

     

    Event Hub 만들기

    HUB_NAME=onestxhub

    az eventhubs eventhub create --name $HUB_NAME --namespace-name $NS_NAME

    조회는 show

    az eventhubs eventhub show --namespace-name $NS_NAME --name $HUB_NAME

     

    기본 디폴트 스펙 : 보존기간 7, 파티션수 4


     

     

     

    이벤트허브 인스턴스, 개요에서... 확인

     

     

    이제 게시자 -- -소비자를 만들어보자

     

    --스토리지 생성

    az storage account create --name $STORAGE_NAME --sku Standard_RAGRS --encryption blob

    --account keys list 명령을 사용하여 저장소 계정과 연결된 모든 액세스 키를 나열

    az storage account keys list --account-name $STORAGE_NAME

    --연결문자열 보기

    az storage account show-connection-string -n $STORAGE_NAME

     

    -- 커넥션 스트링 이용하여, 컨테이너 만들때 사용

    az storage container create -n messages --connection-string "DefaultEndpointsProtocol=https;EndpointSuffix=core.windows.net;AccountName=onestxstore;AccountKey=py24nMGjV+VEz/NBNypL2Q7Zt7RTeZ9xitpYp3yxHUQj6WV0vIGTkQIYazb6MXDj70OITEPGTATNZN9LMLtusg=="

     

    클론명령어로 깃허브 리포짓토리 복제해옴 (자바 소스임)

    cd ~

    git clone https://github.com/Azure/azure-event-hubs.git

     

     

    수정할 페이지 해당 경로로 가서

    cd azure-event-hubs/samples/Java/Basic/SimpleSend/src/main/java/com/microsoft/azure/eventhubs/samples/SimpleSend

     

    편집기 호출

    code .

     편집기에서 다음 문자열을 찾아서 바꿉니다.

    • "Your Event Hubs namespace name" Event Hub 네임스페이스의 이름으로 바꿉니다.
    • "Your Event Hub" Event Hub 이름으로 바꿉니다.
    • "Your policy name" RootManageSharedAccessKey로 바꿉니다.
    • "Your primary SAS key"를 이전에 저장한 Event Hub 네임스페이스에 대한 primaryKey 키 값으로 바꿉니다

     

     

    이제 mvn 명령을 사용하여 Java 응용 프로그램을 빌드하겠습니다.

    1. 기본 SimpleSend 폴더로 다시 변경합니다.
      bash
      복사
      cd ~/azure-event-hubs/samples/Java/Basic/SimpleSend
    2. Java SimpleSend 응용 프로그램을 빌드합니다. 이렇게 하면 응용 프로그램이 Event Hub에 대한 연결 세부 정보를 사용합니다.
      bash
      복사
      mvn clean package -DskipTests

     

     

    이제 수신자 소스 수정

    EventProcessorSample.java 편집

    EventHubReceiver 및 EventProcessorHost라는 두 개의 메서드를 사용할 수 있습니다.

     

    연결문자열 값들을 수정해주고 아래와 같은 명령어로 빌드

     

    1. 다음 명령을 사용하여 기본 EventProcessorSample 폴더로 변경합니다.
      bash
      복사
      cd ~/azure-event-hubs/samples/Java/Basic/EventProcessorSample
    2. 다음 명령을 사용하여 Java SimpleSend 응용 프로그램을 빌드합니다. 이렇게 하면 응용 프로그램이 Event Hub에 대한 연결 세부 정보를 사용합니다.
      bash
      복사
      mvn clean package -DskipTests

    발신자 및 수신자 앱 시작

    1. java 명령을 사용하고 .jar 패키지를 지정하여 명령줄에서 Java 응용 프로그램을 실행합니다. 다음 명령을 사용하여 SimpleSend 응용 프로그램을 시작합니다.
      bash
      복사
      cd ~/azure-event-hubs/samples/Java/Basic/SimpleSend
      java -jar ./target/simplesend-1.0.0-jar-with-dependencies.jar
    2. 보내기 완료... 가 표시되면 ENTER 키를 누릅니다.
      output
      복사
      jar-with-dependencies.jar
      SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
      SLF4J: Defaulting to no-operation (NOP) logger implementation
      SLF4J: See
      http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
      2018-09-18T19:42:15.146Z: Send Complete...
    3. 다음 명령을 사용하여 EventProcessorSample 응용 프로그램을 시작합니다.
      bash
      복사
      cd ~/azure-event-hubs/samples/Java/Basic/EventProcessorSample
      java -jar ./target/eventprocessorsample-1.0.0-jar-with-dependencies.jar
    4. 메시지가 콘솔에 표시되지 않으면 ENTER 키나 CTRL+C를 눌러서 프로그램을 종료합니다.

     

     

     

     

    스토리지 살펴보면

     

    해당 하나 열어보면 아래와 같은 스펙

     

     

     

     

    한번더 실행시키니…

     

     

    다시…

    이벤트허브 네임스페이스 하위 메트릭에서

     

    최근 30 선택하고,

    메트릭 항목중에서 Incoming Message 선택하면 200개로 확인됨.

    위에서 simplesend 자바 소스를 두번 실행했으니, 200 전송됨 확인가능

     





+ Recent posts