커뮤니티 커넥터 관련 오류 처리 및 메시지

우수한 사용자 환경을 제공하려면 코드에서 오류를 올바르게 처리해야 합니다. 사용자에게 다음에 대한 수정 단계를 간략하게 설명하는 실행 가능한 오류 메시지를 표시합니다. 도움이 될 수 있습니다

이 문서에서는 커넥터에서 발생할 수 있는 오류와 커넥터 오류를 적절히 처리하는 방법을 설명합니다.

정보: JavaScript에서 예외를 처리하는 방법에 대한 자세한 내용은 다음을 참조하세요. try...catch 문을 사용하세요.

오류 유형

사용자가 커넥터는 대개 다음 세 가지 카테고리 중 하나에 속합니다.

  1. 커넥터 내부 오류
  2. 커넥터 외부 오류
  3. Looker Studio 오류

커넥터 내부 및 외부 오류는 커넥터에서 처리해야 합니다. 있습니다. 이 오류는 개발자가 작성한 코드로 인해 발생합니다.

커넥터 내부 오류

커넥터 실행 중에 커넥터 내부 오류가 발생합니다. 예를 들어 getData() 실행 중에 커넥터가 API 응답을 파싱할 수 없습니다. 이러한 오류는 예상하고 사용자 친화적인 설명으로 처리해야 합니다. 될 수 있습니다.

커넥터 내부 오류 처리에 대한 자세한 내용은 다음을 참조하세요. 커넥터 오류 처리 권장사항

커넥터 외부 오류

커넥터 실행 후 커넥터 외부 오류가 발생합니다. 예를 들어 필드 3개에 대한 getData() 요청은 2개의 데이터만 반환합니다. 비록 커넥터가 실행을 완료했지만 Looker의 요청을 충족하지 않은 경우 있습니다. 철저한 테스트를 통해 이러한 오류를 방지할 수 있습니다.

커넥터 외부 오류는 일반적으로 오류 세부정보를 검토하여 수정할 수 있습니다( 코드를 디버깅하여 문제를 파악할 수 있습니다. 자세한 내용은 자세한 내용은 코드 디버그를 참고하세요.

Looker Studio 오류

Looker Studio 오류는 커넥터 코드와 관련이 없는 오류입니다. 예를 들어 사용자가 데이터 소스가 없는 시계열 차트를 사용하려고 할 때 날짜/시간 측정기준입니다.

오류가 커넥터와 직접적인 관련이 없는 경우 아무 조치도 취하지 않습니다. 커넥터 개발자가 선택해야 합니다. 사용자는 Looker Studio 고객센터를 참고하세요.

오류 메시지 표시

관리자 상태에 따른 오류 세부정보 표시

커넥터에서 오류가 발생하면 Looker Studio에 오류 메시지가 표시됩니다. 새 Google 계정을 만들 수 있습니다

  • 사용자가 관리자인 경우 모든 세부정보가 표시됩니다. 여기에는 오류 메시지, 오류 유형, 스택 트레이스가 포함됩니다.
  • 사용자가 관리자가 아닌 경우에는 사용자 친화적인 메시지가 포함됩니다. 오류 표시에 대해 자세히 알아보기 메시지를 받는 경우 사용자에게 오류 발생을 참조하세요.
를 통해 개인정보처리방침을 정의할 수 있습니다.

사용자에게 발생하는 오류

기본적으로 커넥터 관리자만 오류 세부정보를 볼 수 있습니다. 이렇게 하면 민감한 정보가 실수로 공개됨(예: 스택의 API 키) trace를 반환합니다. 관리자가 아닌 사용자에게 오류 메시지를 표시하려면 newUserError()를 사용합니다. Looker Studio Apps Script 서비스

예:

try {
  // API request that can be malformed.
  getDataFromAPI();
} catch (e) {
  DataStudioApp.createCommunityConnector()
      .newUserError()
      .setDebugText('Error fetching data from API. Exception details: ' + e)
      .setText('There was an error communicating with the service. Try again later, or file an issue if this error persists.')
      .throwException();

}

이 예에서 setText()는 모든 사용자에게 표시될 텍스트를 설정합니다. setDebugText()는 관리자에게만 표시될 텍스트를 설정합니다.

커넥터 오류 처리 권장사항

테스트 도중에 가능한 한 많은 오류를 포착하고 처리하도록 커넥터 코드 실행에 대해 알아보겠습니다. 예를 들어 다음과 같은 예가 있습니다.

  • URL 가져오기 시도 실패 (일시적 오류, 시간 초과)
  • 요청한 기간에는 데이터가 없습니다.
  • API의 데이터를 파싱하거나 형식을 지정할 수 없습니다.
  • 승인 토큰이 취소되었습니다.

복구 가능한 오류 처리

실패 가능하지만 복구 가능한 커넥터 실행 지점 처리할 수 있습니다. 예를 들어 API 요청이 치명적이지 않은 이유 (예: 서버 로드 쉐딩)가 발생하면 오류가 발생하기 전에 재시도해야 합니다.

오류 포착 및 발생

복구 불가능한 오류는 포착하여 다시 처리해야 합니다. 다시 발생한 오류 사용자가 오류가 발생한 이유를 이해하는 데 도움이 되어야 합니다. 문제를 해결할 수 있는 경우 시정 조치에 대한 세부 정보를 제공해야 합니다.

사용자에게 발생하는 오류 발생을 참고하세요.

Stackdriver에 오류 로깅

오류 및 기타 메시지를 로깅하는 데 Stackdriver를 사용합니다. 이는 오류 이해, 문제 디버깅, 처리되지 않은 예외 발견에 대해 알아봅니다.

Stackdriver Error Reporting에 대해 자세히 알아보려면 예외 로깅을 사용 설정하는 방법 디버깅을 위해 사용자를 안전하게 식별하는 방법은 Stackdriver Logging 사용

지원 중단됨: 안전한 오류 메시지에 DS_USER: 접두사 사용

관리자가 아닌 사용자에게 사용자 친화적인 오류 메시지를 제공하려면 다음을 포함하세요. 오류 메시지가 있는 DS_USER: 프리픽스 이 접두사는 안전한 실제 오류 메시지에 포함되지 않습니다.

다음 예에는 관리자가 아닌 사용자의 경우 관리자에게만 오류 메시지가 표시되는 경우 사용자:

data-studio/errors.gs
// Admin and non-admin users will see the following error.
try {
  // Code that might fail.
} catch (e) {
  throw new Error('DS_USER:This will be shown to admin & non-admin.');
}

// Only admin users will see the following error.
try {
  // Code that might fail.
} catch (e) {
  throw new Error('This message will only be shown to admin users');
}