Snowflake 문제 해결 - Amazon Data Firehose

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Snowflake 문제 해결

이 섹션에서는 Snowflake를 대상으로 사용할 때의 일반적인 문제 해결 단계를 설명합니다.

Firehose 스트림 생성 실패

PrivateLink가 사용 설정된 Snowflake 클러스터로 데이터를 전송하는 스트림에 대해 Firehose 스트림 생성이 실패하는 경우 Firehose에서 VPCE-ID에 연결할 수 없음을 나타냅니다. 이유는 다음 중 하나 때문일 수 있습니다.

  • VPCE-ID가 잘못되었을 수 있습니다. 오타가 없는지 확인하세요.

  • Firehose는 미리 보기 상태에서 리전이 없는 Snowflake URL을 지원하지 않습니다. Snowflake Account Locator를 사용하여 URL을 입력하세요. 자세한 내용은 Snowflake 설명서를 참조하세요.

  • Firehose 스트림이 Snowflake AWS 리전과 동일한 리전에 생성되었는지 확인합니다.

  • 문제가 지속되면 AWS 지원 팀에 문의하세요.

전송 실패

Snowflake 테이블로 데이터가 전송되지 않는 경우 다음 사항을 확인하세요. Snowflake 전송에 실패한 데이터는 해당 페이로드의 오류 코드 및 오류 메시지와 함께 S3 오류 버킷으로 전송됩니다. 몇 가지 일반적인 오류 시나리오는 다음과 같습니다. 전체 오류 코드 목록은 Snowflake 데이터 전송 오류 섹션을 참조하세요.

  • 오류 코드: Snowflake.DefaultRoleMissing: Firehose 스트림을 생성하는 동안 Snowflake 역할이 구성되지 않았음을 나타냅니다. Snowflake 역할이 구성되지 않은 경우 지정된 Snowflake 사용자에 기본 역할을 설정해야 합니다.

  • 오류 코드: Snowflake.ExtraColumns: 입력 페이로드에 있는 추가 열로 인해 Snowflake에 삽입이 거부되었음을 나타냅니다. 테이블에 없는 열은 지정하면 안 됩니다. Snowflake 열의 이름은 대/소문자를 구분합니다. 테이블에 열이 있음에도 불구하고 이 오류로 전송이 실패하는 경우 입력 페이로드 열 이름의 대/소문자가 테이블 정의에 선언된 열 이름과 일치하는지 확인합니다.

  • 오류 코드: Snowflake.MissingColumns: 입력 페이로드에 열이 누락되어 Snowflake에 삽입이 거부되었음을 나타냅니다. null 값을 가질 수 없는 모든 열에 대해 값이 지정되어 있는지 확인합니다.

  • 오류 코드: Snowflake.InvalidInput: Firehose가 제공된 입력 페이로드를 유효한 JSON 형식으로 구문 분석하지 못했을 때 발생할 수 있습니다. json 페이로드가 제대로 구성되었는지, 추가 큰따옴표, 작은따옴표, 이스케이프 문자 등이 없는지 확인합니다. 현재 Firehose는 단일 JSON 항목만 레코드 페이로드로 지원하며 JSON 배열은 지원하지 않습니다.

  • 오류 코드: Snowflake.InvalidValue: 입력 페이로드의 잘못된 데이터 유형으로 인해 전송이 실패했음을 나타냅니다. 입력 페이로드에 지정된 JSON 값이 Snowflake 테이블 정의에 선언된 데이터 유형을 준수하는지 확인합니다.

  • 오류 코드: Snowflake.InvalidTableType: Firehose 스트림에 구성된 테이블 유형이 지원되지 않음을 나타냅니다. 지원되는 테이블, 열, 데이터 유형에 대해서는 Snowpipe 스트리밍의 제한 사항을 참조하세요.

참고

어떤 이유로든 Firehose 스트림을 생성한 후 Snowflake 대상에서 테이블 정의 또는 역할 권한이 변경되면 Firehose가 이러한 변경 사항을 감지하는 데는 몇 분 정도 걸릴 수 있습니다. 이로 인해 전송 오류가 발생하는 경우 Firehose 스트림을 삭제한 후 다시 생성해 보세요.