메인프레임에서 Pub/Sub에 메시지 게시

Mainframe Connector를 사용하면 메인프레임에서 Pub/Sub에 메시지를 게시할 수 있습니다. 예를 들어 이 기능을 사용하여 메인프레임을 BigQuery 또는 Cloud Storage와 통합하거나, Dataflow로 메시지 데이터를 보강하거나, Cloud Run 함수를 트리거할 수 있습니다.

시작하기 전에

Pub/Sub 주제에 메시지 게시

메인프레임에서 비구조화된 Pub/Sub 메시지를 게시하려면 다음과 같이 pubsub topics publish 명령어를 사용합니다.

//STEP01 EXEC BQSH
//STDIN DD *
pubsub topics publish TOPIC --data="Hello,World"
/*

TOPIC을 Pub/Sub 주제의 이름으로 바꿉니다. 필요한 형식은 projects/{project}/topics/{topic}입니다.

Pub/Sub 주제에 메시지 게시

Mainframe Connector를 사용하면 메인프레임에서 Pub/Sub 주제로 구조화된 메시지를 게시할 수 있습니다. 예를 들어 이 기능을 사용하여 Pub/Sub을 통해 메인프레임에서 BigQuery로 Queued Sequential Access Method (QSAM) 레코드를 전송할 수 있습니다. 이 접근 방식을 사용하면 다음과 같은 이점이 있습니다.

  • Dataflow 또는 Pub/Sub 동시 멀티스레딩 (SMT)을 통해 AI로 데이터를 변환하거나 데이터를 보강할 수 있습니다.
  • 레코드를 메인프레임에서 Cloud Storage로 이동할 수 있습니다.
  • 변경 데이터 캡처 (CDC)와 마찬가지로 메인프레임 애플리케이션 업데이트를 클라우드 기반 시스템에 동기화할 수 있습니다.

메인프레임에서 Pub/Sub 주제에 구조화된 메시지를 게시하려면 다음 단계를 따르세요.

  1. 메시지를 게시할 Pub/Sub 주제를 만듭니다. 원하는 경우 스키마를 사용하여 주제를 만들어 더 많은 제한사항을 적용할 수 있습니다. 자세한 내용은 주제 만들기 또는 주제를 만들 때 스키마 만들기 및 연결하기를 참고하세요.
  2. 트랜스코딩에 실패한 레코드에 관한 정보를 캡처하는 Pub/Sub 주제를 만듭니다. 이러한 주제를 스필오버 주제라고 합니다. Pub/Sub 주제 만들기에 관한 자세한 내용은 주제 만들기를 참고하세요.
  3. (선택사항) 레코드를 Pub/Sub으로 전송하기 전에 JSON으로 변환하려면 JSON 구성 파일을 구성합니다. 구성 파일을 제공하지 않으면 기본 JSON 구성이 사용됩니다.
  4. (선택사항) 기본적으로 Pub/Sub 메시지에는 순서 키와 속성이 포함되지 않습니다. 오버플로 메시지는 _spillover 접미사가 있는 오버플로 주제로 전송됩니다. 기본값을 변경하려면 Pub/Sub 게시 구성 파일을 구성하면 됩니다. 예를 들어 다음 구성을 사용할 수 있습니다.

    {
      "spillover-configuration": {
        "name": SPILLOVER_TOPIC_NAME
      }
    }
    

    SPILLOVER_TOPIC_NAME을 2단계에서 만든 스필오버 주제의 이름으로 바꿉니다. 필요한 형식은 projects/{project}/topics/{topic}입니다. 올바르게 디코딩되지 않은 메시지에 관한 정보는 이 스필오버 주제에 저장됩니다.

  5. qsam decode 명령어를 사용하여 메인프레임 레코드를 Pub/Sub에 게시하려면 다음 JCL을 실행합니다.

    //STEP01 EXEC BQSH
    //STDIN DD *
    qsam decode INPUT OUTPUT \
     --copybook COPYBOOK
     --transcode-configuration TRANSCODE-CONFIG
         --output-format=JSONL
         --input-parameter=json-dialect=JSON_CONFIGURATION
         --input-parameter=pubsub-publish-configuration=PUBSUB_CONFIGURATION
    /*
    

    다음을 바꿉니다.