Skip to content

사용자 속성 CSV를 Braze로 가져오기

다음 문서에서는 사용자 추적 엔드포인트를 통해 CSV 파일의 사용자 속성 데이터를 Braze에 직접 게시하는 람다 프로세스를 쉽게 배포할 수 있는 서버리스 애플리케이션을 소개합니다. 이 애플리케이션 통합은 Amperity 파트너와 함께 테스트를 거쳤으며 GitHub에서 확인할 수 있습니다.

이 프로세스는 구성된 AWS S3 버킷에 CSV 파일을 업로드하는 즉시 시작됩니다. 대용량 파일과 업로드를 처리할 수 있지만 Lambda의 시간 제한으로 인해 10분 후에 기능 실행이 중지됩니다. 그러면 이 프로세스가 다른 Lambda 인스턴스를 실행하여 파일의 나머지 부분 처리를 완료합니다. 함수 타이밍에 대한 자세한 내용은 예상 실행 시간을 확인하세요.

CSV 사용자 속성

업데이트할 사용자 속성은 다음 .csv 형식으로 예상됩니다:

1
2
external_id,attr_1,...,attr_n
userID,value_1,...,value_n

첫 번째 열에는 업데이트할 사용자의 외부 ID를 지정해야 하며 다음 열에는 속성 이름과 값을 지정해야 합니다. 지정하는 속성의 수는 다양할 수 있습니다. 처리할 CSV 파일이 이 형식을 따르지 않으면 함수가 실패합니다.

CSV 파일 예제:

1
2
3
external_id,Loyalty Points,Last Brand Purchased
abc123,1982,Solomon
def456,578,Hunter-Hayes

CSV 처리

배열의 모든 값(예: "['Value1', 'Value2']")은 자동으로 구조가 파괴되어 배열의 문자열 표현이 아닌 배열로 API에 전송됩니다.

요구 사항

이 람다 함수를 성공적으로 실행하려면 다음이 필요합니다:

  • S3 및 Lambda 서비스를 사용하기 위한 AWS 계정
  • Braze 서버에 연결하기 위한 Braze API URL
  • /users/track 엔드포인트에 요청을 보낼 수 있는 Braze API 키
  • 업데이트할 사용자 외부 ID 및 속성이 포함된 CSV 파일

API URL 또는 REST 엔드포인트는 Braze API 설명서와 대시보드를 통해 찾을 수 있습니다.

  • API 문서
    API 설명서에 따라 Braze 인스턴스 URL을 REST 엔드포인트 URL과 일치시키기만 하면 됩니다. 예를 들어 대시보드에 dashboard-01.braze.com/ URL이 표시되는 경우 REST 엔드포인트는 https://rest.iad-01.braze.com이 됩니다.

  • 대시보드
    설정 관리 페이지로 이동하여 SDK 엔드포인트를 찾습니다. sdkrest로 바꾸어 REST 엔드포인트를 가져옵니다. 예를 들어 sdk.iad-01.braze.com이 표시되는 경우 API URL은 rest.iad-01.braze.com입니다

Braze 서버에 연결하려면 API 키가 필요합니다. 이 고유 식별자를 통해 Braze는 회원님의 신원을 확인하고 데이터를 업로드할 수 있습니다.

API 키를 받으려면 설정 > API 키로 이동합니다.

/users/track 엔드포인트에 게시할 수 있는 권한이 있는 API 키가 필요합니다. API 키 중 하나가 해당 엔드포인트를 지원하는 것을 알고 있다면 해당 키를 사용할 수 있습니다.

새로 만들려면 새 API 키 만들기를 클릭합니다. 그런 다음 API 키의 이름을 지정하고 사용자 데이터 엔드포인트 그룹의 users.track을 선택한 다음 API 키 저장을 클릭합니다.

사용 지침

개요
  1. AWS 서버리스 애플리케이션 리포지토리에서 공개적으로 사용 가능한 Braze의 CSV 처리 람다를 배포하세요.
  2. 새로 만든 S3 버킷에 사용자 속성이 포함된 CSV 파일을 드롭합니다.
  3. 사용자는 자동으로 Braze로 가져옵니다.

배포

사용자 속성 CSV 파일 처리를 시작하려면 처리를 처리할 서버리스 애플리케이션을 배포해야 합니다. 이 애플리케이션은 성공적인 배포를 위해 다음 리소스를 자동으로 생성합니다:

  • 람다 함수
  • 람다 프로세스가 읽을 수 있는 CSV 파일에 대한 S3 버킷_(참고: 이 람다 기능은 .csv 확장자 파일에 대해서만 알림을 수신합니다_)
  • S3 버킷을 생성할 수 있는 역할
  • Lambda가 새 버킷에서 S3 업로드 이벤트를 수신하도록 허용하는 정책

애플리케이션에 대한 직접 링크를 따라가거나 AWS 서버리스 애플리케이션 리포지토리를 열고 “braze-user-attribute-import”를 검색하세요. 이 애플리케이션을 보려면 Show apps that create custom IAM roles and resource policies 확인란을 선택해야 합니다. 애플리케이션은 람다가 새로 생성된 S3 버킷에서 읽을 수 있는 정책을 생성합니다.

배포를 클릭하고 AWS가 필요한 모든 리소스를 생성하도록 합니다.

배포를 지켜보고 스택(즉, 필요한 모든 리소스)이 CloudFormation에서 생성되고 있는지 확인할 수 있습니다. “serverlessrepo-braze-user-attribute-import”라는 스택을 찾습니다. 상태CREATE_COMPLETE로 바뀌면 기능을 사용할 준비가 된 것입니다. 스택을 클릭하고 리소스를 열어 다양한 리소스가 생성되는 것을 볼 수 있습니다.

다음 리소스가 생성되었습니다:

  • S3 버킷 - braze-user-csv-import-aaa123이라는 이름의 버킷, 여기서 aaa123은 무작위로 생성된 문자열입니다.
  • 람다 함수 - 람다 함수의 이름은 braze-user-attribute-import입니다
  • IAM 역할 - 람다가 S3에서 읽고 함수 출력을 기록하도록 허용하는 braze-user-csv-import-BrazeUserCSVImportRole이라는 정책

실행

함수를 실행하려면 새로 만든 S3 버킷에 사용자 속성 CSV 파일을 드롭합니다.

모니터링 및 로깅

함수가 성공적으로 실행되는지 확인하려면 함수의 실행 로그를 읽으면 됩니다. 콘솔의 람다 목록에서 Braze 사용자 CSV 가져오기 기능을 열고 모니터로 이동합니다. 여기에서 함수의 실행 내역을 확인할 수 있습니다. 출력을 읽으려면 CloudWatch에서 로그 보기를 클릭합니다. 확인하려는 람다 실행 이벤트를 선택합니다.

예상 실행 시간

2048MB 람다 함수

행 수 실행 시간
10k 3s
100k 30s
1M 5분
5M 30분

기존 기능 업데이트하기

이미 애플리케이션을 배포했고 리포지토리에서 새 버전을 사용할 수 있는 경우 처음 배포하는 것처럼 기능을 다시 배포하여 업데이트할 수 있습니다. 즉, Braze API 키와 Braze API URL을 다시 전달해야 합니다. 업데이트는 기능 코드만 덮어씁니다. S3 버킷과 같은 다른 기존 리소스는 수정하거나 삭제하지 않습니다.

치명적인 오류

파일을 더 이상 처리할 수 없는 예기치 않은 오류가 발생하는 경우, 프로그램이 파일 처리를 중지한 지점부터 람다를 다시 시작하는 데 사용할 수 있는 이벤트가 기록됩니다( 모니터링 및 로깅에 설명된 CloudWatch를 통해 액세스할 수 있음). 데이터 포인트를 저장하기 위해 동일한 데이터를 다시 가져오지 않는 것이 중요합니다. 이 작업에 대한 지침은 GitHub 리포지토리에서 찾을 수 있습니다.

New Stuff!