Microsoft OneDrive 연결과 파일 추출
Microsoft OneDrive 커넥터는 Foundry 제공 JDBC 드라이버로 원천 탐색, 배치 동기화, 증분 수집과 OAuth 2.0 인증을 지원합니다. 각 기능은 Beta 단계이므로 플랫폼 인스턴스에서 제공되지 않거나 개발 중 동작이 바뀔 수 있습니다.
연결과 인증
Data Connection의 +New Source에서 Microsoft OneDrive를 선택하고 실행 워커, JDBC URL과 속성을 설정합니다. OAuth 인증 코드 흐름을 사용할 경우 Foundry 워커를 선택합니다. 소스에 CallbackUrl을 추가하고 자동 입력한 URL을 외부 애플리케이션의 리디렉션 URI로 등록합니다. client ID와 secret을 입력해 저장한 뒤 소스 개요에서 Authorize를 선택합니다.
OAuth 승인 시작, 갱신과 철회에는 기본적으로 소스의 Owner 역할이 필요합니다. Viewer 또는 Editor만 있으면 권한 오류가 발생합니다. OAuth 인증 코드 흐름과 ConnectOnOpen=true는 함께 사용할 수 없습니다. 서비스 주체 인증과 사용자 위임 인증은 선택한 AuthScheme에 맞게 구성합니다.
| 속성 | 요구 수준 | 의미 | 기본값 |
|---|---|---|---|
AuthScheme | 권장 | OneDrive 인증 방식입니다. 값을 비우면 기본 인증을 사용합니다. | AzureServicePrincipal |
AzureTenant | 권장 | 데이터에 접근할 테넌트 이름 또는 ID입니다. contoso.onmicrosoft.com 같은 이름을 사용할 수 있으며 인증 방식에 따라 필요합니다. | 미지정 |
InitiateOAuth | 권장 | OAuth 액세스 토큰 발급과 갱신 절차입니다. | GETANDREFRESH |
OAuthClientId | 권장 | 사용자 정의 OAuth 애플리케이션의 client ID, 즉 consumer key입니다. | 미지정 |
OAuthClientSecret | 권장 | 사용자 정의 OAuth 애플리케이션의 client secret, 즉 consumer secret입니다. | 미지정 |
외부 통신 대상
대상별 외부 통신 정책을 추가합니다. Foundry에서 직접 도달할 수 없는 경우에는 에이전트 프록시 정책을 사용하며 에이전트 호스트도 같은 대상에 도달할 수 있어야 합니다.
| 대상 | 필요 조건 |
|---|---|
graph.microsoft.com | AzureEnvironment=GLOBAL일 때 필요합니다. GLOBAL이 기본 환경입니다. |
login.microsoftonline.com | 환경이 GLOBAL이고 AuthScheme이 AzureAD, AzureServicePrincipal, AzureServicePrincipalCert 중 하나이면 필요합니다. |
microsoftgraph.chinacloudapi.cn | AzureEnvironment=CHINA일 때 필요합니다. |
login.chinacloudapi.cn | 환경이 CHINA이고 위의 세 인증 방식 중 하나이면 필요합니다. |
graph.microsoft.us | AzureEnvironment=USGOVT일 때 필요합니다. |
login.microsoftonline.us | 환경이 USGOVT 또는 USGOVTDOD이고 위의 세 인증 방식 중 하나이면 필요합니다. |
dod-graph.microsoft.us | AzureEnvironment=USGOVTDOD일 때 필요합니다. |
파일 내용 수집
동기화는 테이블을 반환하는 SQL 질의를 실행하여 Foundry 데이터셋에 저장합니다. 파일 자체의 내용을 가져오려면 DownloadFile 저장 프로시저를 사용합니다. 다음 1234는 예시 리소스 ID이며 실제 OneDrive 파일의 ResourceId로 바꿉니다.
EXECUTE DownloadFile ResourceId = '1234'
출력 데이터셋의 열에는 파일 내용이 Base64 문자열로 저장됩니다. 하위 변환에서 바이너리로 디코딩해야 원래 파일 내용을 사용할 수 있습니다. Pipeline Builder의 Base64 decode 보드를 사용할 수 있습니다.