이 페이지에서

For AI agents: a documentation index is available at /docs/llms.txt. Append .md to any page URL for markdown, or send Accept: text/markdown.

Google Cloud Storage

Amplitude 이벤트 데이터와 병합된 사용자 데이터를 Google Cloud Storage(GCS) 계정으로 내보냅니다. Google Cloud의 버킷 정책을 사용하면 이 데이터를 관리하고 프로그래밍 방식으로 Google Cloud 버킷으로 내보낼 수 있습니다. Amplitude UI에서 시간당 한 번까지 반복 데이터 동기화를 설정할 수 있습니다.

사전 조건

연동을 구성하기 전에 GCS 서비스 계정을 생성하고 권한 관리를 설정하십시오.

아직 계정을 만들지 않은 경우 Google Cloud 콘솔에서 Amplitude에 대한 서비스 계정을 생성하세요. 이 서비스 계정을 사용하면 Amplitude가 귀하의 데이터를 Google Cloud 프로젝트로 내보낼 수 있습니다.

서비스 계정을 생성한 후에는 서비스 계정 키 파일을 생성하여 다운로드한 후 Amplitude에 업로드하십시오. Amplitude의 계정 키를 JSON 형식으로 내보냅니다.

이 서비스 계정을 데이터를 내보내려는 버킷에 멤버로 추가하십시오. 이 멤버에게 스토리지 관리자 역할을 부여하여 Amplitude가 데이터를 버킷으로 내보낼 수 있는 권한 관리를 갖도록 하세요.

자신만의 역할을 만들 수도 있습니다. 내보내기 프로세스를 수행하려면 최소한 다음 권한 관리가 필요합니다.

  • storage.buckets.get
  • storage.objects.get
  • storage.objects.create
  • storage.objects.delete
  • storage.objects.list

연동 설정

Amplitude에서 관리자 권한과 GCS에서 리소스를 활성화할 수 있는 역할이 필요합니다.

  1. Amplitude 데이터에서 카탈로그를 클릭하고 대상 탭을 선택합니다.
  2. 웨어하우스 목적지 섹션에서 Google Cloud Storage를 클릭합니다.
  3. 시작하기 탭에서 내보낼 데이터를 선택합니다. 현재 수집된 이벤트와 앞으로 진행되는 이벤트를 내보내거나, 병합된 모든 Amplitude ID를 내보내거나, 둘 다를 수행할 수 있습니다. 이벤트의 경우 필터링 조건을 지정하여 특정 기준을 충족하는 이벤트만 내보낼 수도 있습니다.

이 두 데이터 유형을 별도의 버킷으로 익스포트할 수 있습니다. 각 데이터 유형에 대해 한 번씩, 설정 흐름을 두 번 완료하세요.

  1. 이벤트 테이블 및 병합 ID 테이블 스키마를 검토하고 다음을 누릅니다.
  2. Amplitude에 대한 Google Cloud 자격 증명 섹션에서 서비스 계정 키 파일을 업로드하세요. 이 파일은 JSON 형식이어야 합니다.
  3. 계정 서비스 키를 업로드한 후 Google Cloud 버킷 세부 정보 섹션에서 Google Cloud 버킷 세부 정보를 입력하세요.
  4. 다음을 클릭합니다. Amplitude는 자격 증명이 작동하는지 확인하기 위해 테스트 업로드를 시도합니다. 업로드가 성공하면 마침을 클릭하여 GCS 목적지 구성 및 활성화를 완료합니다.

Amplitude는 모든 향후 이벤트와 병합된 사용자를 자동으로 GCS로 전송합니다. Amplitude는 최선의 노력을 기울여 파일을 귀하의 GCS 계정으로 내보냅니다. 내보내기는 일반적으로 매시간 실행되며 1시간 분량의 데이터를 포함하지만 덜 자주 실행되며 여러 시간 분량의 데이터를 포함할 수도 있습니다.

수동 내보내기 실행

데이터를 수동으로 내보내어 기록 데이터를 GCS로 다시 채우십시오.

  1. Google Cloud Storage 내보내기 연결 페이지로 이동하세요.
  2. 다시 채우기 탭으로 이동합니다.
  3. 원하는 날짜 범위를 선택합니다.
  4. Start Backfill을 클릭합니다.

다시 채우기 범위가 이전에 내보낸 데이터와 겹치는 경우 Amplitude는 중복된 데이터를 제거합니다.

내보낸 데이터 형식

GCS 내보내기를 구성할 때 버킷 이름과 선택적 폴더/접두어를 지정합니다. 이 접두어는 익스포트된 데이터가 버킷 내에서 표시되는 위치를 결정합니다. 접두사를 비워 두면 Amplitude는 버킷 루트에 직접 객체를 기록합니다.

원시 이벤트 파일 및 데이터 형식

Amplitude는 데이터를 JSON 파일의 압축 아카이브로 내보냅니다. 이 아카이브는 시간별로 분할되어 시간당 하나 이상의 파일이 있습니다. 각 파일에는 한 줄에 하나의 이벤트 JSON 객체가 포함되어 있습니다.

객체 키 구조

Amplitude는 내보낸 이벤트 파일을 프로젝트 ID와 일치하는 {appId}디렉토리 아래에 정리합니다. 전체 객체 키 구조는 다음과 같습니다.

{gcsPrefix}/{appId}/{filename}

접두사를 구성하지 않으면 경로는 다음과 같이 단순화됩니다.

{appId}/{filename}

위치:

  • {gcsPrefix} 는 Amplitude UI에서 구성할 수 있는 선택적 폴더/접두사입니다.
  • {appId} 는 Amplitude 프로젝트 ID입니다(파일 이름에 표시되는 것과 동일한 ID).
  • {filename} 아래의 형식을 따릅니다.

파일 이름 형식

파일 이름은 다음과 같은 구문을 사용하며, 여기서 시간은 Amplitude 서버가 데이터를 UTC로 수신한 시점을 나타냅니다.server_upload_time

projectID_yyyy-MM-dd_H#partitionInteger.json.gz

예를 들어 2020년 1월 25일 오후 5시에서 오후 6시 대상 구간에 이 프로젝트에 업로드된 데이터의 첫 번째 파티션은 다음과 같은 파일에 있습니다.

187520_2020-01-25_17#1.json.gz

예제

버킷이 amplitude-data이고, 접두사가 events이고, 프로젝트 ID가 187520이면 이 파일의 전체 GCS 경로는 다음과 같습니다.

gs://amplitude-data/events/187520/187520_2020-01-25_17#1.json.gz

다음은 내보낸 데이터 JSON 객체 스키마입니다.

json
{
  "server_received_time": UTC ISO-8601 timestamp,
  "app": int,
  "device_carrier": string,
  "$schema":int,
  "city": string,
  "user_id": string,
  "uuid": UUID,
  "event_time": UTC ISO-8601 timestamp,
  "platform": string,
  "os_version": string,
  "amplitude_id": long,
  "processed_time": UTC ISO-8601 timestamp,
  "version_name": string,
  "ip_address": string,
  "paying": boolean,
  "dma": string,
  "group_properties": dict,
  "user_properties": dict,
  "client_upload_time": UTC ISO-8601 timestamp,
  "$insert_id": string,
  "event_type": string,
  "library":string,
  "amplitude_attribution_ids": string,
  "device_type": string,
  "device_manufacturer": string,
  "start_version": string,
  "location_lng": float,
  "server_upload_time": UTC ISO-8601 timestamp,
  "event_id": int,
  "location_lat": float,
  "os_name": string,
  "amplitude_event_type": string,
  "device_brand": string,
  "groups": dict,
  "event_properties": dict,
  "data": dict,
  "device_id": string,
  "language": string,
  "device_model": string,
  "country": string,
  "region": string,
  "is_attribution_event": bool,
  "adid": string,
  "session_id": long,
  "device_family": string,
  "sample_rate": null,
  "idfa": string,
  "client_event_time": UTC ISO-8601 timestamp,
 }

병합된 Amplitude ID 파일 및 데이터 형식

Amplitude는 데이터를 JSON 파일의 압축 아카이브로 내보냅니다. 각 파일에는 한 줄에 하나의 병합된 Amplitude ID JSON 객체가 포함되어 있습니다.

객체 키 구조

Amplitude는 귀하의 조직 ID와 일치하는 -{orgId}디렉토리 아래에 병합된 ID 파일을 구성합니다. 전체 객체 키 구조는 다음과 같습니다.

{gcsPrefix}/-{orgId}/{filename}

접두사를 구성하지 않으면 경로는 다음과 같이 단순화됩니다.

-{orgId}/{filename}

위치:

  • {gcsPrefix} 는 Amplitude UI에서 구성할 수 있는 선택적 폴더/접두사입니다.
  • -{orgId} 는 선행 하이픈이 있는 Amplitude 조직 ID입니다.
  • {filename} 아래의 형식을 따릅니다.

파일 이름 형식

파일 이름은 다음과 같은 구문을 사용하며, 여기서 시간은 Amplitude 서버가 데이터를 UTC로 수신한 시점을 나타냅니다.server_upload_time

-{orgId}_yyyy-MM-dd_H.json.gz

예를 들어 조직 ID의 경우 189524Amplitude는 2020년 1월 25일 오후 5시부터 오후 6시 대상 구간 UTC에 수신된 데이터를 파일로 내보냅니다.

-189524_2020-01-25_17.json.gz

예제

버킷이 amplitude-data이고, 접두사가 merged이고, 조직 ID가 189524이면 이 파일의 전체 GCS 경로는 다음과 같습니다.

gs://amplitude-data/merged/-189524/-189524_2020-01-25_17.json.gz

기존 조직에서는 일부

기존 조직에서는 조직 ID 대신 앱 ID로 병합된 ID 내보내기를 볼 수 있습니다. 이 경우 디렉토리와 파일 이름은 앞에 있는 -을 제외하고 {appId}사용됩니다. Amplitude 서포트에 문의하여 귀사의 조직에 적용되는 형식을 확인하십시오.

병합된 ID JSON 객체는 다음과 같은 스키마를 갖습니다.

json
{
 "scope": int,
 "merge_time": long,
 "merge_server_time": long,
 "amplitude_id": long,
 "merged_amplitude_id": long
}

이 내용이 도움이 되었나요?