Oracle NetSuite SuiteQL 연결
NetSuite SuiteQL 소스는 NetSuite ERP 데이터를 Foundry로 수집합니다. 원천 탐색, 배치 동기화와 증분 수집을 일반 제공(GA)하며 토큰 기반 인증(TBA)을 사용합니다.
Data Connection의 +New Source에서 NetSuite SuiteQL를 선택하고 연결 속성을 구성합니다. 신규 연결에는 Foundry 워커를 사용합니다. 원천 네트워크에 직접 도달할 수 없다면 에이전트 프록시 경로를 구성할 수 있습니다. 기존 에이전트 워커는 권장하지 않는 Legacy 실행 방식입니다.
NetSuite 역할과 권한
Setup의 Users/Roles, Manage Roles에서 New를 선택해 전용 역할을 만듭니다. foundry-role은 예시 이름입니다. Web Services only는 필요에 따라 선택할 수 있습니다.
Permissions의 Setup에서 다음 권한을 추가하고 저장합니다.
- Log In using access tokens
- REST Web Services
- Custom Record Types
- Custom Fields
Permissions의 Reports에서는 SuiteAnalytics Workbook을 추가하고 저장합니다.
Permissions의 Lists에서는 Foundry에서 질의할 테이블의 권한을 추가하고 저장합니다. 역할이 허용한 데이터만 연결 사용자에게 공개됩니다.
TBA 통합과 토큰 생성
NetSuite 계정에서 Token-based Authentication(TBA)을 활성화해야 합니다. Foundry 연결용 사용자에게 전용 역할을 부여하고 필요한 작업과 테이블만 허용합니다.
역할을 만든 뒤 Setup의 Users/Roles, Manage Users에서 사용자를 열고 Edit를 선택합니다. Access에서 Give Access를 켜고 Roles에서 새 역할을 추가한 뒤 저장합니다. 예시 역할 이름은 foundry-role입니다. 해당 사용자로 로그인해 필요한 데이터가 보이는지 확인합니다.
통합 레코드
- Setup의 Integration, Manage Integrations에서 New를 선택합니다.
foundry-integration처럼 목적이 드러나는 이름을 지정합니다.- State를 Enabled로 설정하고 Token-based Authentication만 선택합니다. 다른 인증 선택지는 해제합니다.
- 저장 직후 표시되는
CLIENT ID와CLIENT SECRET을 안전하게 보관합니다.
client ID와 secret은 최초 저장 때만 표시됩니다. 새 값을 받기 위해 재설정하면 이전 값은 무효화됩니다.
액세스 토큰
- Setup의 User/Roles, Access Tokens에서 New를 선택합니다.
- 만든 애플리케이션, 전용 역할을 가진 사용자와 해당 역할을 선택합니다.
- 저장 직후
TOKEN ID와TOKEN SECRET을 보관합니다.
다른 사용자의 토큰을 관리할 수 없으면 홈 화면 왼쪽 아래 Settings의 Manage Access Tokens를 사용합니다. 이 경우 자신이 기본 사용자로 선택되므로 자신에게도 전용 역할이 있어야 합니다.
토큰 ID와 secret도 최초 저장 때만 표시됩니다. 다시 필요한 경우 새 토큰을 생성해야 합니다.
네트워크
Foundry 워커에는 필요한 각 도메인의 외부 통신 정책을 추가합니다. 에이전트 프록시를 사용하면 에이전트가 대상에 접근할 수 있어야 하고 대상 시스템도 에이전트에서 오는 연결을 허용해야 합니다.
<ACCOUNT_ID>.suitetalk.api.netsuite.com에 항상 접근해야 합니다. 계정 ID는 NetSuite에 로그인한 주소의 접두사에서 확인합니다.
Foundry 연결 속성
다음 항목은 모두 필수입니다. 앱의 인증 정보와 사용자 역할에 연결된 토큰을 서로 바꾸어 넣지 않습니다.
| 항목 | 입력값 |
|---|---|
Account ID | NetSuite 인스턴스 URL의 접두사에서 확인한 계정 ID |
Client ID | 통합 레코드를 만들 때 발급한 CLIENT ID |
Client secret | 통합 레코드를 만들 때 발급한 CLIENT SECRET |
Access token | TBA 토큰을 만들 때 발급한 TOKEN ID |
Access token secret | TBA 토큰을 만들 때 발급한 TOKEN SECRET |
소스를 저장한 뒤 원천 탐색에서 테이블을 찾아 동기화를 만들 수 있습니다. 소스 개요에서 동기화를 수동 생성하는 방식도 가능합니다.
스키마 탐색과 RowScanDepth
기본 SuiteQL 테이블의 스키마는 드라이버에 정의되어 있지만, 계정이나 역할이 모든 열을 볼 수 있는 것은 아닙니다. 기본적으로 처음 추출한 1,000행을 사용해 해당 역할이 볼 수 있는 실제 열을 판별합니다.
RowScanDepth 연결 속성으로 이 동작을 조정합니다. 0으로 설정하면 모든 열을 표시할 수 있지만 권한 예외가 발생할 수 있습니다. 열이 보인다는 사실만으로 질의 권한이 부여되지는 않습니다.
Connection details에서 More options, JDBC properties를 열고 RowScanDepth를 추가하여 원하는 값을 지정합니다.