Google Ads용 Openflow 커넥터 설정
Google Ads용 Openflow 커넥터 설정
Snowflake 커넥터는 Snowflake Openflow를 사용할 수 있는 모든 리전에서 지원돼요.
Openflow Snowflake 배포는 AWS, Azure, GCP 상용 리전의 모든 계정에서 사용할 수 있어요.
BYOC 배포의 Snowflake Openflow는 AWS 상용 리전(상용 리전)의 모든 계정에서만 사용할 수 있어요.
참고
이 커넥터는 Snowflake 커넥터 약관의 적용을 받아요.
이 항목에서는 Google Ads용 Openflow 커넥터를 설정하는 단계를 설명해요.
사전 요구 사항
- Google Ads용 Openflow 커넥터 소개를 검토했는지 확인하세요.
- Openflow - Snowflake 배포 설정 또는 Openflow - BYOC 설정을 완료했는지 확인하세요.
- Openflow - Snowflake 배포를 사용하는 경우 필수 도메인 구성을 검토했고, Google Ads 커넥터의 필수 도메인에 접근 권한을 부여했는지 확인하세요.
자격 증명 가져오기
Google Ads 관리자로서 다음 단계를 수행하세요.
- Google Cloud 프로젝트에 접근할 수 있거나 새 프로젝트를 만들 수 있는지 확인하세요.
- Google Cloud 프로젝트에 Google Ads API가 활성화되어 있는지 확인하세요. 데이터를 수집하려면 Google Ads API 접근 권한이 필요해요.
- Google Ads에 대한 서비스 계정 인증을 구성하세요.
- 지침에 따라 조직의 개발자 토큰을 얻으세요.
참고
개발자 토큰의 액세스 수준은 Basic 또는 Standard여야 해요. 액세스 수준에 대한 자세한 내용은 문서를 참조하세요.
Snowflake 계정 설정
Openflow 관리자로서 다음 작업을 수행해 Snowflake 계정을 설정하세요. 기본 SNOWFLAKE_MANAGED 인증 전략에서는 런타임의 execute-as 역할이 커넥터가 Snowflake에 접근할 때 사용하는 ID이므로 다음 권한을 부여하세요.
참고
Openflow - BYOC 배포에 커넥터를 배포하고, 권장되는
SNOWFLAKE_MANAGED대신KEY_PAIR인증 전략을 사용한다면 런타임의 관리 토큰에 의존하는 대신 동일한 execute-as 역할을 서비스 사용자에게도 부여해야 해요. 서비스 사용자를 만들려면 Openflow - BYOC 배포의 키 페어 인증 설정을 참조하세요.
데이터베이스, 스키마, 웨어하우스 만들기
- 대상 데이터베이스를 만들어요.
USE ROLE OPENFLOW_ADMIN;
CREATE DATABASE IF NOT EXISTS <destination_database>;
- 대상 스키마를 만들어요.
CREATE SCHEMA IF NOT EXISTS <destination_database>.<destination_schema>;
- 런타임의 execute-as 역할에 필요한 권한을 부여해요.
GRANT USAGE ON DATABASE <destination_database> TO ROLE OPENFLOW_<RUNTIME_NAME>_EXECUTE_AS_RL;
GRANT USAGE ON SCHEMA <destination_database>.<destination_schema> TO ROLE OPENFLOW_<RUNTIME_NAME>_EXECUTE_AS_RL;
GRANT CREATE TABLE ON SCHEMA <destination_database>.<destination_schema> TO ROLE OPENFLOW_<RUNTIME_NAME>_EXECUTE_AS_RL;
- 웨어하우스(또는 기존 웨어하우스)를 만들고 사용 권한을 부여해요.
CREATE WAREHOUSE IF NOT EXISTS <openflow_warehouse>
WITH
WAREHOUSE_SIZE = 'XSMALL'
AUTO_SUSPEND = 300
AUTO_RESUME = TRUE;
GRANT USAGE, OPERATE ON WAREHOUSE <openflow_warehouse> TO ROLE OPENFLOW_<RUNTIME_NAME>_EXECUTE_AS_RL;
- 커넥터가 수집한 테이블에 다른 Snowflake 사용자가 접근해야 한다면(예: Snowflake에서 맞춤 처리용), 해당 사용자에게 execute-as 역할을 부여하세요.
커넥터 설정
데이터 엔지니어로서 다음 작업을 수행해 커넥터를 설치·구성하세요.
커넥터 설치
데이터 엔지니어로서 커넥터를 설치하려면 다음을 수행하세요.
- Snowflake 계정 설정에 설명된 대로 커넥터가 수집한 데이터를 저장할 데이터베이스와 스키마를 Snowflake에 만들고 execute-as 역할에 필요한 데이터베이스 권한을 부여하세요.
- Openflow의 커넥터 라이브러리(Connector library) 탭으로 이동해요.
- Openflow 커넥터 페이지에서 커넥터를 찾아 설치(Install) 를 선택해요.
- 런타임 선택(Select runtime) 대화상자에서 사용 가능한 런타임(Available runtimes) 드롭다운 목록에서 런타임을 선택하고 설치를 클릭해요.
참고
커넥터를 설치하기 전에 커넥터가 수집한 데이터를 저장할 데이터베이스와 스키마를 Snowflake에 만들어 두었는지 확인하세요.
- Snowflake 계정 자격 증명으로 배포에 인증하고, 런타임 애플리케이션이 Snowflake 계정에 접근하도록 허용하라는 메시지가 표시되면 허용(Allow) 을 선택해요. 커넥터 설치 프로세스는 완료하는 데 몇 분 걸려요.
- Snowflake 계정 자격 증명으로 런타임에 인증해요.
커넥터 프로세스 그룹이 추가된 Openflow 캔버스가 나타나요.
커넥터 구성
- 가져온 프로세스 그룹을 오른쪽 클릭하고 매개변수(Parameters) 를 선택해요.
- 플로우 매개변수에 설명된 대로 필수 매개변수 값을 입력해요.
플로우 매개변수
세 가지 매개변수 컨텍스트가 있어요. Google Ads Destination Parameters와 Google Ads Source Parameters는 각각 GoogleAds API와 Snowflake와의 연결을 허용하는 역할을 해요. Google Ads Ingestion Parameters는 Google Ads에서 다운로드한 데이터의 재구성을 정의하는 데 사용돼요. Google Ads Parameters는 이 모두를 하나로 통합해요.
Google Ads Ingestion Parameters
| 매개변수 | 설명 | 필수 |
|---|---|---|
| Client Account ID | 주어진 보고서를 수집해야 하는 Google Ads의 계정 ID | 예 |
| Login Customer ID | 보고서를 수집해야 하는 Google Ads 관리자 계정(MCC)의 고객 ID | 아니요 |
| Google Ads Resource Name | 보고서의 소스인 Google Ads의 리소스 이름 | 예 |
| Report Attributes | 선택한 리소스의 속성 | 예 |
| Report Metrics | 주어진 리소스의 맥락에서 수집되는 지표 | 아니요 |
| Report Segments | 지표를 그룹화해야 하는 버킷 | 아니요 |
| Report Start Date | 수집이 시작되어야 하는 시작 날짜. 날짜 형식은 YYYY-MM-DD. | 아니요 |
| Schedule | Google Ads Report 프로세서 가져오기 일정 | 예 |
참고
Report Attributes, Report Metrics, Report Segments의 올바른 조합을 얻는 가장 쉬운 방법은 Google Ads Query Builder를 사용하는 것이에요. Google Ads Resource Name 매개변수에 삽입된 것에 기반해 리소스를 선택하고 쿼리를 구성하세요. 그런 다음 속성, 지표, 세그먼트를 해당 매개변수에 복사·붙여넣으세요.
Google Ads Source Parameters
| 매개변수 | 설명 | 필수 |
|---|---|---|
| Google Developer Token | Google Ads API를 쿼리하는 데 필요한 개발자 토큰 | 예 |
| Google Service Account JSON | Google Ads 인증에 필요한 서비스 계정 JSON | 예 |
Google Ads Destination Parameters
| 매개변수 | 설명 | 필수 |
|---|---|---|
| Destination Database | 데이터가 저장될 데이터베이스. Snowflake에 이미 존재해야 해요. 이름은 대소문자를 구분해요. 따옴표 없는 식별자는 대문자로 제공하세요. | 예 |
| Destination Schema | 데이터가 저장될 스키마. Snowflake에 이미 존재해야 해요. 이름은 대소문자를 구분해요. | 예 |
| Snowflake Authentication Strategy | 사용 시: Snowflake Openflow 배포 또는 BYOC: SNOWFLAKE_MANAGED를 사용해요. BYOC 배포는 SNOWFLAKE_MANAGED를 사용하기 위해 이전에 execute-as 역할을 구성해야 해요. BYOC: 대안으로 KEY_PAIR를 사용할 수 있어요. | 예 |
| Snowflake Account Identifier | 사용 시: SNOWFLAKE_MANAGED: 비워 둠. KEY_PAIR: [조직 이름]-[계정 이름] 형식. | 예 |
| Snowflake Private Key | 사용 시: SNOWFLAKE_MANAGED: 비워 둠. KEY_PAIR: PKCS8 표준의 RSA 프라이빗 키. | 아니요 |
| Snowflake Private Key File | 사용 시: SNOWFLAKE_MANAGED: 비워 둠. KEY_PAIR: 인증용 RSA 프라이빗 키가 들어 있는 파일. | 아니요 |
| Snowflake Private Key Password | 사용 시: SNOWFLAKE_MANAGED: 비워 둠. KEY_PAIR: 프라이빗 키 파일과 연결된 비밀번호. | 아니요 |
| Snowflake Role | SNOWFLAKE_MANAGED: 런타임의 execute-as 역할(또는 하위 역할). KEY_PAIR: 서비스 사용자에 대한 유효한 역할. | 예 |
| Snowflake Username | 사용 시: SNOWFLAKE_MANAGED: 비워 둠. KEY_PAIR: Snowflake 연결 사용자 이름. | 예 |
| Snowflake Warehouse | 쿼리를 실행하는 Snowflake 웨어하우스. | 예 |
플로우 실행
- 캔버스를 오른쪽 클릭하고 모든 컨트롤러 서비스 활성화(Enable all Controller Services) 를 선택해요.
- 가져온 프로세스 그룹을 오른쪽 클릭하고 시작(Start) 을 선택해요. 커넥터가 데이터 수집을 시작해요.
커넥터 리셋 방법
커넥터를 초기 상태로 완전히 리셋하려면 다음을 수행하세요.
- 큐에 플로우 파일이 더 이상 없는지 확인하세요.
- 모든 프로세서를 중지하세요.
- 초기 프로세서의 상태를 지우세요.
Get Google Ads Report프로세서를 오른쪽 클릭하고 View State 를 선택하세요.- Clear State 옵션을 선택하세요. 이렇게 하면 프로세서의 상태가 리셋돼요.
- Snowflake에서 대상 테이블을 DROP하세요.