양방향 데이터 플로 구현하기
학습 목표
이 유닛을 완료하면 다음을 수행할 수 있습니다.
- Salesforce 데이터를 AppFlow에 자동으로 전송하도록 Salesforce 변경 데이터 캡처(CDC) 및 플랫폼 이벤트를 설정합니다.
- Amazon Simple Storage Service(Amazon S3)에서 Salesforce로 데이터를 전송하는 플로를 설정합니다.
Salesforce에서 AWS로 데이터를 자동으로 전송하려면 플로 생성 프로세스 동안 Salesforce에서 변경 데이터 캡처(CDC)를 활성화하고 AppFlow에서 플랫폼 이벤트를 활성화하세요. 이 작업은 아주 간단합니다. 먼저 Salesforce 조직으로 이동하세요.
Salesforce에서 변경 데이터 캡처 활성화하기
- Salesforce에서 을 클릭하고 Setup(설정)을 선택합니다.
- Quick Find(빠른 찾기) 상자에
change data capture
를 입력하고 Change Data Capture(변경 데이터 캡처)를 클릭합니다. - 변경 이벤트 알림을 생성할 개체를 선택하고 Selected Entities(선택한 엔티티) 열로 바로 이동합니다.
- Save(저장)를 클릭합니다.
이것으로 설정의 전반부가 끝났습니다. 이제 Amazon AppFlow로 이동하겠습니다.
AppFlow에서 이벤트 트리거 설정하기
- AWS Management Console에서 Find Services(서비스 찾기) 필드에
AppFlow
를 입력합니다. - Amazon AppFlow를 클릭합니다.
- 그런 다음, Create flow(플로 만들기)를 클릭합니다.
두 번째 유닛에서 설명한 단계에 따라 새 플로를 생성하세요. 소스를 선택할 때에는 Salesforce events(Salesforce 이벤트)를 선택하고 드롭다운에서 Salesforce Event Name(Salesforce 이벤트 이름)을 선택해야 합니다. Flow trigger(플로 트리거) 페이지에는 다양한 옵션(온디맨드 실행, 예약 실행, 이벤트 시 플로 실행)이 있습니다. 변경 사항이 있을 때마다 CDC를 사용하여 AWS로 개체 데이터를 보내는 경우 Run flow on event(이벤트 시 플로 실행)를 선택하세요.
CDC 및 이벤트 트리거가 활성화되면 Salesforce는 다음의 경우에 새 데이터를 AWS로 전송합니다.
- 새 레코드를 생성합니다.
- 필드 데이터를 변경합니다.
Amazon AppFlow의 Run history(실행 기록) 탭에서 이러한 이벤트를 모니터링할 수 있습니다.
단, 플로 생성 프로세스 동안 필드도 매핑하므로 Salesforce는 이벤트가 트리거될 때마다 해당 필드에 대한 데이터만 전송합니다.
AWS에서 Salesforce로 데이터 전송하기
이제 반대 방향, 즉 AWS에서 Salesforce로의 데이터 플로를 살펴보겠습니다. 다른 Salesforce 인스턴스를 포함하여 사용 가능한 다양한 소스 중에서 선택하거나, Amazon S3를 선택할 수 있습니다. 준비를 위해 다음과 같은 몇 가지 작업을 수행해야 합니다.
- 제일 먼저, S3 버킷을 생성합니다(아직 생성하지 않은 경우).
- 그리고 해당 버킷 내에서 폴더를 생성합니다.
- 그런 다음, 업데이트할 Salesforce 개체에 매핑되는 CSV 파일을 생성하고 S3에 업로드합니다.
Amazon S3에서 CSV 생성하기
다음은 CSV를 생성할 때 따라야 할 몇 가지 모범 사례입니다.
- CSV 파일은 Salesforce의 필드에 매핑되는 필드 이름이 있는 헤더 행을 포함해야 합니다. 예를 들어 Salesforce에서 새 연락처 레코드를 삽입하거나 기존 연락처 레코드를 업데이트한다고 가정해보겠습니다. 이 경우 Contact ID(연락처 ID), Contact Name(연락처 이름), Contact Email(연락처 이메일) 그리고 Salesforce에 삽입하거나 업데이트할 기타 필드가 포함된 헤더가 있는 CSV 파일을 생성해야 합니다.
- 헤더 뒤의 각 줄은 삽입하거나 업데이트할 레코드 ID를 포함해야 합니다. 다음 예에서 첫 번째 줄에는 헤더가 있고 UniqueID, Last Name(성), First Name(이름), Company(회사), Title(직책), Email(이메일), Owner ID(소유자 ID), AccountID 필드 이름을 포함합니다. 두 번째 줄에는 ID가 0036g00000l3laiAAA인 Salesforce의 기존 연락처 레코드를 업데이트하는 데 사용되는 값이 포함되어 있습니다. 새 레코드의 경우 UniqueID는 비워 두어야 합니다.
Amazon S3를 소스로 사용하는 플로 생성하기
- AWS Management Console에서 Find Services(서비스 찾기) 필드에
AppFlow
를 입력하고 Amazon AppFlow를 클릭합니다. - 그런 다음, Create flow(플로 만들기)를 클릭합니다. Configure flow(플로 구성) 페이지로 이동하면 이 모듈의 앞부분에서 생성한 플로와 유사한 단계를 따릅니다.
- 플로 이름을 지정하고 설명을 입력한 후 Next(다음)를 클릭합니다.
- 드롭다운 목록에서 Amazon S3를 소스로 선택하고 방금 생성한 버킷을 선택합니다.
- Enter bucket prefix(버킷 접두사 입력) 필드에 생성한 폴더의 이름을 입력합니다.
- Salesforce를 대상으로 선택합니다. Salesforce 자격 증명으로 로그인하라는 메시지가 표시됩니다. 성공적으로 로그인하면 AppFlow로 리디렉션됩니다.
- 업데이트할 Salesforce 개체를 선택하고 Next(다음)를 클릭합니다.
다음의 세 가지 옵션으로 Salesforce를 업데이트할 수 있습니다.
- 새 레코드를 삽입합니다. 이 설정을 선택하면 Amazon AppFlow가 CSV 데이터를 선택한 Salesforce 개체에 새 레코드로 삽입합니다. 기본 옵션입니다.
- 기존 레코드를 업데이트합니다. 이 설정을 선택하면 Amazon AppFlow가 소스 데이터를 사용하여 Salesforce의 기존 레코드를 업데이트합니다. 모든 소스 레코드에 대해 Amazon AppFlow는 기준에 따라 Salesforce에서 일치하는 레코드를 찾습니다. Map data fields(지도 데이터 필드) 페이지에서 일치 기준을 지정할 수 있습니다. 일치하는 레코드를 찾으면 Amazon AppFlow는 Salesforce에서 레코드를 업데이트합니다. 일치하는 레코드가 없으면 Amazon AppFlow는 레코드를 무시하거나, 선택한 오류 처리 옵션에 따라 플로에 실패합니다. Configure flow(플로 구성) 페이지에서 오류 처리 환경설정을 지정할 수 있습니다.
- 레코드를 업서트합니다. 이 설정을 선택하면 Amazon AppFlow가 Salesforce에서 업서트 작업을 수행합니다. 모든 소스 레코드에 대해 Amazon AppFlow는 기준에 따라 Salesforce에서 일치하는 레코드를 찾습니다. 일치하는 레코드를 찾으면 Amazon AppFlow는 Salesforce에서 레코드를 업데이트합니다. 일치하는 레코드가 없으면 Amazon AppFlow가 데이터를 새 레코드로 삽입합니다.
다음 예에서는 Update existing records(기존 레코드 업데이트)가 선택되어 있습니다. UniqueID는 CSV에서 선택되고 Salesforce의 Contact ID(연락처 ID)에 매핑됩니다.
그런 다음, 'Source to destination field mapping(소스-대상 필드 매핑)' 인터페이스에서 나머지 필드를 소스에서 대상으로 매핑할 수 있습니다.
그 외에도 실수한 경우 매핑을 제거하고 조정할 수 있는 옵션을 이용할 수 있습니다. 그런 다음, 평상시처럼 플로의 나머지 부분을 설정하고 Amazon S3 데이터를 기반으로 Salesforce 업데이트를 확인합니다.
요약
이 모듈에서는 Amazon AppFlow가 데이터를 보호하는 방법과 간단하고 자동화된 플로를 설정하는 방법을 알아보았습니다. 이제 Salesforce 또는 AWS에서 고객에 대한 통합 보기를 확인하는 데 한 걸음 더 다가섰습니다!