Application Integration에 지원되는 커넥터를 참조하세요.

Salesforce 변경 데이터 캡처(CDC) 이벤트 통합 호출

Salesforce 트리거를 사용하여 Application Integration에서 샘플 통합을 만드는 방법을 알아보세요. 다음 단계에서는 완전한 통합을 실행하는 데 필요한 트리거, 태스크, 커넥터, 데이터 매핑을 구성하는 방법을 설명합니다.

이 빠른 시작에서는 Salesforce 트리거를 사용하여 다음 그림과 같이 Salesforce 변경 데이터 캡처(CDC) 이벤트의 Application Integration에 대한 통합을 호출합니다.

샘플 시퀀스 다이어그램 샘플 시퀀스 다이어그램

Salesforce 트리거에서 Salesforce 기회 채널을 구독합니다. Salesforce 기회에 대한 데이터가 변경되면 Salesforce 기회 상태를 추출하는 Application Integration을 호출합니다. 상태가 닫힌 경우 통합은 기회 세부정보를 추출하고 커넥터를 사용하여 Cloud SQL 인스턴스에 데이터를 씁니다. 데이터가 변경되었지만 상태가 열린 상태로 유지되면 통합은 커넥터를 사용하여 메시지를 Pub/Sub 주제로 보냅니다.

다음 단계에서는 통합을 성공적으로 실행하는 데 필요한 트리거, 태스크, 인증 프로필, 에지, 변수, 데이터 매핑을 구성하는 방법을 설명합니다.

시작하기 전에

  • Salesforce 개발자 계정에 변경 데이터 캡처(CDC)가 사용 설정되어 있는지 확인합니다. 이 튜토리얼에서는 기존 Salesforce 개발자 계정에 필요한 사용자 설정과 권한 세트가 있다고 가정합니다. Salesforce 사용자 설정과 권한 세트에 대한 자세한 내용은 Salesforce 트리거 구성을 참조하세요.
  • 다음 IAM 역할을 Google Cloud 프로젝트의 Application Integration 서비스 에이전트(service-PROJECT_NUMBER@gcp-sa-integrations.iam.gserviceaccount.com)에 할당합니다.
    • Pub/Sub 편집자
    • 커넥터 관리자
    • Application Integration 호출자
    IAM 역할 할당에 대한 자세한 내용은 IAM 역할 및 권한을 참조하세요.
  • Salesforce CDC 데이터를 저장할 Cloud SQL 테이블을 만듭니다.
    1. Google Cloud 콘솔에서 Cloud SQL 인스턴스 페이지로 이동하여 MySQL 인스턴스에 연결합니다. Cloud Shell에서 MySQL용 Cloud SQL에 연결을 참조하세요.

      Cloud SQL 인스턴스로 이동

    2. Cloud SQL 인스턴스에 다음 MySQL 데이터베이스를 만듭니다.
      CREATE DATABASE SALESFORCE_TRIGGER_DEMO;
      USE SALESFORCE_TRIGGER_DEMO;
      
      CREATE TABLE OPPORTUNITIES
      (
           ID              INT NOT NULL AUTO_INCREMENT,
           NAME            VARCHAR(150) NOT NULL,
           AMOUNT          DOUBLE NOT NULL,
           DT_CLOSE        VARCHAR(150) NOT NULL,
           PRIMARY KEY     (ID)
      );
      COMMIT;
      
    3. 다음 명령어를 실행하여 테이블이 생성되었는지 확인합니다.
      SELECT * FROM OPPORTUNITIES;
  • 커넥터에서 MySQL용 Cloud SQL 연결을 만듭니다. 자세한 내용은 MySQL용 Cloud SQL 연결 만들기를 참조하세요.
  • 커넥터에서 Cloud Pub/Sub 연결을 만듭니다. 자세한 내용은 Cloud Pub/Sub 연결 만들기를 참조하세요.

새 통합 만들기

새 통합을 만들려면 다음 단계를 수행합니다.

  1. Google Cloud 콘솔에서 Application Integration 페이지로 이동합니다.

    Application Integration으로 이동

  2. 탐색 메뉴에서 통합을 클릭합니다. 통합 목록 페이지가 나타납니다.
  3. 통합 만들기를 클릭합니다.
  4. 통합 만들기 대화상자에 이름과 설명을 입력합니다. 예를 들면 Demo-CDC-Opportunities입니다.
  5. 통합 리전을 선택합니다.
  6. 만들기를 클릭하여 통합 디자이너를 엽니다.

Salesforce 트리거 추가 및 구성

Salesforce 트리거를 통합에 추가하고 구성하려면 다음 단계를 수행합니다.

  1. 통합 디자이너에서 태스크/트리거 추가 > 트리거를 선택하여 사용 가능한 트리거 목록을 표시합니다.
  2. 통합 디자이너에서 Salesforce 트리거 요소를 클릭하여 배치합니다.
  3. 캔버스에서 Salesforce 트리거 요소를 클릭하여 트리거의 구성 창을 엽니다.
  4. 트리거 입력에서 다음 필드를 구성합니다.
    • 이벤트 유형: 드롭다운 목록에서 변경 데이터 캡처(CDC)를 선택합니다.
    • Salesforce 인스턴스 구성: 드롭다운 목록에서 + 새 Salesforce 인스턴스 구성 추가 옵션을 클릭합니다.

      Salesforce 인스턴스 구성 추가 대화상자가 나타납니다.

      • Salesforce 인스턴스 연결 이름: Salesforce 인스턴스의 연결 이름을 입력합니다. 예를 들면 CDC-PlatformUser입니다.
      • Salesforce 도메인: Salesforce 도메인 이름을 입력합니다. Salesforce 계정 > 프로필 보기 페이지에서 이 정보를 찾을 수 있습니다.
      • 인증 프로필: 인증 프로필을 선택합니다. 인증 프로필이 없으면 새 프로필을 만듭니다. 자세한 내용은 새 인증 프로필 만들기를 참조하세요.
      • Add(추가)를 클릭합니다.
    • Salesforce 채널 구성: 드롭다운 목록에서 + 새 Salesforce 채널 구성 추가 옵션을 클릭합니다.

      Salesforce 채널 추가 대화상자가 나타납니다.

      • Salesforce 객체 이름: Opportunity를 입력합니다.
      • Add(추가)를 클릭합니다.
    • 작업: 드롭다운 목록에서 업데이트를 선택합니다.

    속성 변경사항은 자동으로 저장됩니다.

태스크 추가 및 구성

이 튜토리얼에서는 커넥터 태스크와 데이터 매핑 태스크를 사용합니다. 이러한 각 태스크의 구성 세부정보는 다음과 같습니다.

MySQL용 Cloud SQL 연결로 커넥터 태스크 구성

MySQL용 Cloud SQL 연결을 사용하여 기존 Cloud SQL 테이블에 레코드를 삽입하도록 커넥터 태스크를 구성하려면 다음 단계를 수행합니다.

  1. 통합 디자이너에서 +태스크/트리거 추가 > 태스크를 선택하여 사용 가능한 태스크 목록을 표시합니다.
  2. 커넥터 요소를 클릭하고 통합 디자이너에 배치합니다.
  3. 디자이너에서 커넥터 태스크 요소를 클릭하여 커넥터 태스크 구성 창을 봅니다.
  4. 를 클릭하고 커넥터 이름을 Insert row to Cloud SQL로 변경합니다.
  5. 태스크 구성을 클릭합니다.

    커넥터 태스크 구성 대화상자가 나타납니다.

  6. 커넥터 태스크 구성 대화상자에서 다음을 수행합니다.
    1. 연결 리전을 선택합니다.
    2. 리전을 선택하면 연결 열이 나타납니다. 사용 가능한 연결 목록에서 MySQL용 Cloud SQL 연결을 선택합니다.
    3. 연결을 선택하면 유형 열이 표시됩니다. 사용 가능한 항목 목록에서 항목을 선택한 후 기회를 선택합니다.
    4. 유형을 선택하면 작업 열이 나타납니다. 만들기를 선택합니다.
    5. 완료를 클릭하여 연결 구성을 완료하고 창을 닫습니다.

Cloud Pub/Sub 연결을 사용하여 커넥터 태스크 구성

커넥터 태스크를 구성하여 Cloud Pub/Sub 연결을 사용해 Pub/Sub 메시지를 게시하려면 다음 단계를 수행합니다.

  1. 통합 디자이너에서 +태스크/트리거 추가 > 태스크를 선택하여 사용 가능한 태스크 목록을 표시합니다.
  2. 커넥터 요소를 클릭하고 통합 디자이너에 배치합니다.
  3. 디자이너에서 커넥터 태스크 요소를 클릭하여 커넥터 태스크 구성 창을 봅니다.
  4. 를 클릭하고 커넥터 이름을 Publish to cloud pub/sub로 변경합니다.
  5. 태스크 구성을 클릭합니다.

    커넥터 태스크 구성 대화상자가 나타납니다.

  6. 커넥터 태스크 구성 대화상자에서 다음을 수행합니다.
    1. 연결 리전을 선택합니다.
    2. 리전을 선택하면 연결 열이 나타납니다. 사용 가능한 연결 목록에서 Pub/Sub 연결을 선택합니다.
    3. 연결을 선택하면 유형 열이 표시됩니다. 작업을 선택한 후 사용 가능한 작업 목록에서 publishMessage를 선택합니다.
    4. 완료를 클릭하여 연결 구성을 완료하고 창을 닫습니다.

데이터 매핑 태스크 구성

데이터 매핑 태스크를 구성하려면 다음을 수행합니다.

  1. 태스크/트리거 추가 > 태스크를 선택하여 사용 가능한 태스크 목록을 표시합니다.
  2. 데이터 매핑 요소를 클릭하고 통합 디자이너에 배치합니다.
  3. 디자이너에서 데이터 매핑 요소를 클릭하여 태스크 구성 창을 엽니다.
  4. 데이터 매핑 편집기 열기를 클릭합니다.

    데이터 매핑 편집기를 사용하면 사용 가능한 변환 함수를 사용하여 원하는 출력 변수에 입력 변수를 매핑할 수 있습니다. 그러면 출력을 다른 통합 태스크 또는 트리거에 변수로 사용할 수 있습니다. 데이터를 변수로 전달하는 방법에 대한 자세한 내용은 Application Integration에서 변수 사용을 참조하세요.

  5. + 새 변수 추가를 클릭하고 다음 출력 변수를 만듭니다.
    출력 변수 이름 데이터 유형
    OpportunityIsClosed Boolean
    OpportunityId String
    PubSubMessage String
  6. 다음 표와 같이 SalesforceTriggerCdcPayload 변수와 커넥터 입력 페이로드 변수 간에 다음 매핑을 만듭니다.
    입력 출력
    SalesforceTriggerCdcPayload.GET_PROPERTY("IsClosed").TO_BOOLEAN() OpportunityIsClosed
    SalesforceTriggerCdcPayload.GET_PROPERTY("Id").TO_STRING() OpportunityId
    OpportunityId.TO_DOUBLE() connectorInputPayload.ID(Insert row to Cloud SQL)
    SalesforceTriggerCdcPayload.GET_PROPERTY("Name").TO_STRING() connectorInputPayload.NAME(Insert row to Cloud SQL)
    SalesforceTriggerCdcSnapshot.GET_PROPERTY("Amount").TO_DOUBLE() connectorInputPayload.AMOUNT(Insert row to Cloud SQL)
    SalesforceTriggerCdcSnapshot.GET_PROPERTY("CloseDate").TO_STRING() connectorInputPayload.DT_CLOSE(Insert row to Cloud SQL)
    OpportunityId.CONCAT(" is still open") PubSubMessage
    PubSubMessage connectorInputPayload.message(Publish to cloud pub/sub)
  7. 매핑이 완료되면 창을 닫습니다. 모든 변경사항이 자동 저장됩니다.

에지 연결 추가

에지는 통합의 두 요소 간의 연결이며 에지 조건을 사용하면 에지에 연결된 태스크에 전달할 통합 제어에 필요한 조건을 지정할 수 있습니다. 에지 및 에지 조건에 대한 자세한 내용은 에지를 참조하세요.

  1. Salesforce 트리거 요소의 에지 연결을 데이터 매핑 요소로 추가합니다.
  2. 다음 에지 조건으로 데이터 매핑 요소의 에지 연결을 Cloud SQL 커넥터에 행 삽입 요소에 추가합니다.
      $OpportunityIsClosed$ = TRUE
  3. 다음 에지 조건을 사용하여 데이터 매핑 요소의 또 다른 에지 연결을 Cloud Pub/Sub 커넥터 요소에 추가합니다.
      $OpportunityIsClosed$ = FALSE
에지 연결을 보여주는 샘플 이미지 에지 연결을 보여주는 샘플 이미지

통합 테스트

새 통합을 테스트하려면 다음 단계를 따르세요.

  1. 통합 디자이너 툴바에서 테스트를 클릭한 다음 Salesforce 트리거를 선택합니다.

    통합 테스트 대화상자가 표시됩니다.

  2. 통합 테스트를 클릭합니다.

Salesforce 인스턴스에 로그인하고 기회 상태를 '종료됨'으로 변경하여 Cloud SQL 태스크를 테스트합니다.

Salesforce 인스턴스에 로그인하고 기회에 대한 다른 세부정보를 변경하여 Pub/Sub 태스크를 테스트하되 기회의 상태를 '열림'으로 둡니다.

테스트에 대한 자세한 내용은 통합 테스트 및 게시를 참조하세요.

통합의 성공 여부를 확인하려면 다음 단계를 따르세요.

  • Cloud SQL 페이지로 이동

    Cloud SQL로 이동

    데이터베이스와 Cloud SQL 로그를 확인하여 새 행의 삽입을 확인합니다.
  • Pub/Sub 페이지로 이동

    Pub/Sub로 이동

    Pub/Sub 주제를 선택한 후 메시지 보기를 클릭하여 통합에서 전송한 메시지 수신을 확인합니다.
  • Application Integration 로그를 검사하여 지정된 통합의 상태를 확인합니다. 로그를 보려면 다음 안내를 따르세요.
    1. 통합 디자이너의 툴바에서 로그를 클릭합니다.
    2. 실행 로그 페이지에서 통합 실행 시도에 대한 세부정보를 볼 수 있습니다. 각 항목에는 다음을 포함하여 실행 시도에 대한 세부정보가 포함됩니다.
      • 통합 이름
      • 실행 ID
      • 상태
      • 시작 시간
      • 시간
      • 통합 버전
      • 트리거 ID
    3. 실행된 통합 옆의 확장 화살표(>)를 클릭하여 통합에 있는 태스크 및 변수의 확장된 목록과 태스크 상태 및 변수 페이로드를 확인합니다.