Troubleshoot Workday Live Data Query
Troubleshoot Workday Live Data Query (Workday Live Data Query 문제 해결)
이 주제는 Snowflake에서 Workday LDQ(라이브 데이터 쿼리)를 설정하거나 사용할 때 마주칠 수 있는 일반적인 오류와 그 원인·해결 방법을 설명해요.
본문
Preview 기능 — 열림
모든 계정에서 사용할 수 있어요.
HTTP 404: 성공적인 연결 후 쿼리 실패
증상: 연결은 성공하지만 이후 쿼리가 HTTP 404 오류로 실패해요.
원인: 연결 구성의 포트 번호가 잘못됐어요.
해결: DataServiceConfig 사전에 "wd.port": "443"이 설정되어 있는지 확인해요. Workday 연결 및 Snowflake에서 데이터 쿼리 참고.
HTTP 400: 인증 요청 거부됨
증상: Workday Authorization Server가 인증 요청을 거부해요.
원인: DataServiceConfig의 ISU 사용자 이름이 Workday에 등록된 ISU와 일치하지 않아요.
해결: DataServiceConfig의 wd.authn.isu가 Workday의 View Integration System User 작업에 표시된 사용자 이름과 정확히 일치하는지 확인해요. 이 값은 대소문자를 구분해요.
HTTP 401: 토큰 엔드포인트에서 인증 실패
증상: 토큰 엔드포인트에서 인증이 실패해요.
원인: 구성의 Client ID가 Workday에서 생성된 것과 일치하지 않아요.
해결: wd.authn.clientId가 Workday의 Register API Client 페이지에 있는 값과 일치하는지 확인해요.
접근 토큰 요청 실패: 네트워크 오류
증상: 인증이 완료되기 전에 Python이 연결 오류를 발생시켜요.
원인: notebook이 Workday 토큰 엔드포인트에 도달할 수 없어요. EAI가 연결되지 않았거나 네트워크 규칙이 잘못 구성됐어요.
해결:
- 외부 접근 통합이 notebook에 연결되어 있는지 확인해요. Workday 연결 및 Snowflake에서 데이터 쿼리 참고.
- 네트워크 규칙
VALUE_LIST에 올바른 호스트 이름과 포트(host:443)가 포함되어 있는지 확인해요. - EAI가
ENABLED = TRUE인지 확인해요. - EAI의
ALLOWED_AUTHENTICATION_SECRETS에WORKDAY_LDQ_TEST.LIVEDATA.WORKDAY_PRIVATE_KEY가 포함되어 있는지 확인해요. 포함되어 있지 않으면_snowflake.get_generic_secret_string()도 실패해요. Snowflake for Workday Live Data Query 설정 참고.
접근 토큰 획득 실패: 404
증상: 커넥터가 서버에 도달하지만 토큰 엔드포인트 경로가 404를 반환해요.
원인: 토큰 엔드포인트 URL이 잘못됐으며, 일반적으로 테넌트 ID나 환경 이름이 잘못됐어요.
해결: wd.authn.accessTokenEndpoint를 다시 확인해요. 예상 형식은:
https://<host>/ccx/oauth2/<tenant>/token
테넌트 이름이 Workday 테넌트와 정확히 일치하는지 확인해요.
접근 토큰 획득 실패: 401(암호화 실패)
증상: 토큰 요청이 Workday에 도달하지만 암호화 오류로 인증이 거부돼요.
원인: 사용 중인 개인 키가 Workday의 API Client에 등록된 공개 키와 일치하지 않아요.
해결:
- Snowflake 시크릿
WORKDAY_LDQ_TEST.LIVEDATA.WORKDAY_PRIVATE_KEY에 Workday의 API Client에 등록된 공개 키에 대응하는 개인 키가 포함되어 있는지 확인해요. - 키가 교체되거나 재생성됐다면 새 개인 키 내용으로 시크릿을 다시 만들고, 해당 공개 키로 Workday에서 API Client를 다시 등록해요.
ModuleNotFoundError: No module named 'workday_ldq'
증상: notebook 재시작 후 import가 실패해요.
원인: wheel은 세션 단위로 설치되며 notebook 재시작 간 지속되지 않아요.
해결: 매 notebook 재시작 후 pip install 셀(Workday 연결 및 Snowflake에서 데이터 쿼리의 3단계)을 다시 실행해요. 항상 먼저 실행되도록 첫 번째 셀로 유지해요.
예외: 시크릿을 검색할 때 No secret found 또는 PermissionError
증상: notebook 설정의 임시 UDF가 시크릿 관련 오류로 실패해요.
원인: 다음 중 하나:
- 시크릿 이름이 잘못됐거나, 시크릿이
WORKDAY_LDQ_TEST.LIVEDATA에 존재하지 않아요. - 시크릿이 EAI의
ALLOWED_AUTHENTICATION_SECRETS에 나열되지 않았어요. - EAI가 notebook에 연결되지 않았어요.
해결:
- Snowflake Worksheet에서 다음을 실행해 시크릿이 존재하는지 확인해요:
SHOW SECRETS IN SCHEMA WORKDAY_LDQ_TEST.LIVEDATA;
- EAI에 시크릿이 포함되어 있고 notebook에 연결되어 있는지 확인해요. Snowflake for Workday Live Data Query 설정 및 Workday 연결 및 Snowflake에서 데이터 쿼리 참고.
@udf데코레이터의secrets파라미터의 시크릿 이름이 정규화된 이름과 정확히 일치하는지 확인해요(예:'WORKDAY_LDQ_TEST.LIVEDATA.WORKDAY_PRIVATE_KEY').
쿼리가 행을 반환하지 않거나 테이블을 찾을 수 없음
증상: SELECT COUNT(*) FROM workday_core.public.worker가 0을 반환하거나 "table not found" 오류를 발생시켜요.
원인: ISU가 Workday에서 올바른 보안 그룹 권한을 갖지 못했거나, Workday 테넌트가 Workday Data Cloud 환경을 프로비저닝하지 않았어요.
해결:
- ISU가 Workday의 **Integration System Security Group (Unconstrained)**에 속하는지 확인해요.
- ISU의 보안 그룹이 필요한 Workday 카탈로그 도메인에 View Only 권한이 있는지 확인해요.
- 권한 설정 후 Workday에서 Activate Pending Security Policy Changes가 실행됐는지 확인해요.
- 커넥터를 통해
SHOW SCHEMAS또는SHOW TABLES를 실행해 ISU에 접근 가능한 것이 무엇인지 확인해요.
더 알아보기 (Learn more)
- Set up Snowflake for Workday Live Data Query — Snowflake 설정
- Connect to Workday and query data from Snowflake — 연결·쿼리
- About Workday Live Data Query for Snowflake — LDQ 소개