Supabase 노드 일반 문제#
여기 Supabase node와 관련된 몇 가지 일반적인 오류 및 문제와 이를 해결하거나 문제를 해결하는 단계가 있습니다.
메타데이터로 행 필터링#
Supabase 메타데이터로 행을 필터링하려면 Select Type을 String으로 설정하세요.
그 이후에 Filters (String) 매개변수에서 쿼리를 작성하여 Supabase 메타데이터 쿼리 언어, MongoDB 선택자 형식을 참고하여 메타데이터를 필터링할 수 있습니다. 다음과 같이 Postgres ->>
화살표 JSON 연산자를 사용하여 메타데이터 속성에 접근할 수 있습니다(중괄호는 들어갈 구성 요소를 나타냅니다):
1 |
|
예를 들어 메타데이터에서 age
속성에 접근하고 21 이상인 결과를 반환하려면, Filters (String) 필드에 다음과 같이 입력할 수 있습니다:
1 |
|
이러한 연산자를 조합하여 더 복잡한 쿼리를 구성할 수 있습니다.
Docker를 사용할 때 로컬 Supabase 데이터베이스에 연결할 수 없음#
Docker에서 Supabase를 실행할 때 n8n이 Supabase에 연결할 수 있도록 네트워크를 구성해야 합니다.
해결책은 두 구성 요소를 호스팅하는 방식에 따라 다릅니다.
Supabase만 Docker에 있는 경우#
Supabase만 Docker에서 실행하는 경우, 자체 호스팅 가이드에서 사용하는 Docker Compose 파일은 이미 Supabase를 올바른 인터페이스에 바인딩하여 실행합니다.
Supabase 자격 증명을 구성할 때 localhost
주소는 문제없이 작동해야 합니다( Host를 localhost
로 설정).
Supabase와 n8n이 별도의 Docker 컨테이너에서 실행되는 경우#
n8n과 Supabase가 각각 다른 Docker 컨테이너에서 실행되는 경우, Docker 네트워킹을 사용하여 연결할 수 있습니다.
Supabase가 컨테이너 내에서 0.0.0.0
에 바인딩하여 모든 인터페이스에서 수신 대기하도록 구성하세요(공식 Docker compose 구성에서 이미 이렇게 설정되어 있습니다). 함께 관리하고 있지 않은 경우, Supabase와 n8n 구성 요소를 같은 사용자 정의 브리지 네트워크에 추가하세요.
Supabase 자격 증명을 구성할 때 localhost
대신 Supabase API 게이트웨이 컨테이너의 이름(supabase-kong
기본값)을 호스트 주소로 사용하세요. 예를 들어 기본 구성 사용할 경우 Host를 http://supabase-kong:8000
으로 설정하면 됩니다.
레코드는 Postgres를 통해 접근 가능하지만 Supabase는 접근 불가#
Supabase 노드를 사용하여 레코드에 대한 쿼리를 실행했을 때 결과가 비어 있지만 Postgres 노드나 Postgres 클라이언트를 통해 접근 가능하다면, Supabase의 Row Level Security (RLS) 정책과 충돌이 있을 수 있습니다.
Supabase는 Table Editor를 사용하여 공용 스키마에 테이블을 만들 때 항상 RLS를 활성화합니다. RLS가 활성화되면 정책을 생성하기 전까지 API는 공개 anon
키로 데이터가 반환되지 않습니다. 이는 의도한 데이터만 노출하도록 보장하기 위한 보안 조치입니다.
RLS가 활성화된 테이블에서 anon
역할로 데이터에 접근하려면, 사용할 접근 패턴을 가능하게 하기 위해 정책 생성하기를 수행하세요.