InfoGrab DocsInfoGrab Docs

Supabase 노드 공통 문제

요약

다음은 Supabase 노드에서 발생하는 일반적인 오류와 문제, 그리고 이를 해결하거나 문제를 해결하는 단계입니다. Supabase 메타데이터로 행을 필터링하려면 Select Type을 String으로 설정합니다. 그런 다음 MongoDB 셀렉터 형식에서 영감을 받은 Supabase 메타데이터 쿼리 언어를 사용하여 Filters (String) 매개변수에 메타데이터를 필터링하는 쿼리를 작성할 수 있습니다.

다음은 Supabase 노드에서 발생하는 일반적인 오류와 문제, 그리고 이를 해결하거나 문제를 해결하는 단계입니다.

메타데이터로 행 필터링#

Supabase 메타데이터로 행을 필터링하려면 Select TypeString으로 설정합니다.

그런 다음 MongoDB 셀렉터 형식에서 영감을 받은 Supabase 메타데이터 쿼리 언어를 사용하여 Filters (String) 매개변수에 메타데이터를 필터링하는 쿼리를 작성할 수 있습니다. Postgres ->> 화살표 JSON 연산자를 사용하여 다음과 같이 메타데이터 속성에 접근합니다(중괄호는 채워 넣을 구성 요소를 나타냅니다):

metadata->>{your-property}={comparison-operator}.{comparison-value}

예를 들어 메타데이터에서 age 속성에 접근하여 21 이상인 결과를 반환하려면 Filters (String) 필드에 다음과 같이 입력할 수 있습니다:

metadata->>age=gte.21

이러한 연산자를 조합하여 더 복잡한 쿼리를 작성할 수 있습니다.

Docker를 사용할 때 로컬 Supabase 데이터베이스에 연결할 수 없음#

Docker에서 Supabase를 실행할 때는 n8n이 Supabase에 연결할 수 있도록 네트워크를 구성해야 합니다.

해결 방법은 두 구성 요소를 어떻게 호스팅하는지에 따라 달라집니다.

Supabase만 Docker에서 실행 중인 경우#

Supabase만 Docker에서 실행 중인 경우, 셀프 호스팅 가이드에서 사용하는 Docker Compose 파일은 이미 올바른 인터페이스에 바인딩된 상태로 Supabase를 실행합니다.

Supabase 자격 증명을 구성할 때 localhost 주소는 문제없이 작동해야 합니다(Hostlocalhost로 설정).

Supabase와 n8n이 각각 별도의 Docker 컨테이너에서 실행 중인 경우#

n8n과 Supabase가 모두 Docker에서 별도의 컨테이너로 실행 중인 경우, Docker 네트워킹을 사용하여 이들을 연결할 수 있습니다.

컨테이너 내부에서 0.0.0.0에 바인딩하여 Supabase가 모든 인터페이스에서 수신 대기하도록 구성합니다(공식 Docker Compose 구성은 이미 이렇게 설정되어 있습니다). 동일한 Docker Compose 파일에서 함께 관리하고 있지 않다면, Supabase와 n8n 구성 요소를 모두 같은 사용자 정의 브리지 네트워크에 추가합니다.

Supabase 자격 증명을 구성할 때는 호스트 주소로 localhost 대신 Supabase API 게이트웨이 컨테이너의 이름(기본값은 supabase-kong)을 사용합니다. 예를 들어 기본 구성을 사용하는 경우 Hosthttp://supabase-kong:8000으로 설정하면 됩니다.

Postgres를 통해서는 레코드에 접근할 수 있지만 Supabase에서는 접근할 수 없음#

Supabase 노드를 사용한 레코드 조회는 비어 있는 결과를 반환하지만 Postgres 노드나 Postgres 클라이언트를 통해서는 데이터를 조회할 수 있는 경우, Supabase의 행 수준 보안(Row Level Security, RLS) 정책과 충돌이 있을 수 있습니다.

Supabase는 Table Editor로 public 스키마에 테이블을 생성할 때 항상 RLS를 활성화합니다. RLS가 활성화되어 있으면 정책을 생성하기 전까지는 public anon 키로 API가 어떤 데이터도 반환하지 않습니다. 이는 의도한 데이터만 노출되도록 보장하기 위한 보안 조치입니다.

RLS가 활성화된 테이블의 데이터에 anon 역할로 접근하려면, 사용하려는 접근 패턴을 허용하는 정책을 생성하세요.

Supabase 노드 공통 문제

n8n v2.29
원문 보기
요약

다음은 Supabase 노드에서 발생하는 일반적인 오류와 문제, 그리고 이를 해결하거나 문제를 해결하는 단계입니다. Supabase 메타데이터로 행을 필터링하려면 Select Type을 String으로 설정합니다. 그런 다음 MongoDB 셀렉터 형식에서 영감을 받은 Supabase 메타데이터 쿼리 언어를 사용하여 Filters (String) 매개변수에 메타데이터를 필터링하는 쿼리를 작성할 수 있습니다.

다음은 Supabase 노드에서 발생하는 일반적인 오류와 문제, 그리고 이를 해결하거나 문제를 해결하는 단계입니다.

메타데이터로 행 필터링#

Supabase 메타데이터로 행을 필터링하려면 Select TypeString으로 설정합니다.

그런 다음 MongoDB 셀렉터 형식에서 영감을 받은 Supabase 메타데이터 쿼리 언어를 사용하여 Filters (String) 매개변수에 메타데이터를 필터링하는 쿼리를 작성할 수 있습니다. Postgres ->> 화살표 JSON 연산자를 사용하여 다음과 같이 메타데이터 속성에 접근합니다(중괄호는 채워 넣을 구성 요소를 나타냅니다):

metadata->>{your-property}={comparison-operator}.{comparison-value}

예를 들어 메타데이터에서 age 속성에 접근하여 21 이상인 결과를 반환하려면 Filters (String) 필드에 다음과 같이 입력할 수 있습니다:

metadata->>age=gte.21

이러한 연산자를 조합하여 더 복잡한 쿼리를 작성할 수 있습니다.

Docker를 사용할 때 로컬 Supabase 데이터베이스에 연결할 수 없음#

Docker에서 Supabase를 실행할 때는 n8n이 Supabase에 연결할 수 있도록 네트워크를 구성해야 합니다.

해결 방법은 두 구성 요소를 어떻게 호스팅하는지에 따라 달라집니다.

Supabase만 Docker에서 실행 중인 경우#

Supabase만 Docker에서 실행 중인 경우, 셀프 호스팅 가이드에서 사용하는 Docker Compose 파일은 이미 올바른 인터페이스에 바인딩된 상태로 Supabase를 실행합니다.

Supabase 자격 증명을 구성할 때 localhost 주소는 문제없이 작동해야 합니다(Hostlocalhost로 설정).

Supabase와 n8n이 각각 별도의 Docker 컨테이너에서 실행 중인 경우#

n8n과 Supabase가 모두 Docker에서 별도의 컨테이너로 실행 중인 경우, Docker 네트워킹을 사용하여 이들을 연결할 수 있습니다.

컨테이너 내부에서 0.0.0.0에 바인딩하여 Supabase가 모든 인터페이스에서 수신 대기하도록 구성합니다(공식 Docker Compose 구성은 이미 이렇게 설정되어 있습니다). 동일한 Docker Compose 파일에서 함께 관리하고 있지 않다면, Supabase와 n8n 구성 요소를 모두 같은 사용자 정의 브리지 네트워크에 추가합니다.

Supabase 자격 증명을 구성할 때는 호스트 주소로 localhost 대신 Supabase API 게이트웨이 컨테이너의 이름(기본값은 supabase-kong)을 사용합니다. 예를 들어 기본 구성을 사용하는 경우 Hosthttp://supabase-kong:8000으로 설정하면 됩니다.

Postgres를 통해서는 레코드에 접근할 수 있지만 Supabase에서는 접근할 수 없음#

Supabase 노드를 사용한 레코드 조회는 비어 있는 결과를 반환하지만 Postgres 노드나 Postgres 클라이언트를 통해서는 데이터를 조회할 수 있는 경우, Supabase의 행 수준 보안(Row Level Security, RLS) 정책과 충돌이 있을 수 있습니다.

Supabase는 Table Editor로 public 스키마에 테이블을 생성할 때 항상 RLS를 활성화합니다. RLS가 활성화되어 있으면 정책을 생성하기 전까지는 public anon 키로 API가 어떤 데이터도 반환하지 않습니다. 이는 의도한 데이터만 노출되도록 보장하기 위한 보안 조치입니다.

RLS가 활성화된 테이블의 데이터에 anon 역할로 접근하려면, 사용하려는 접근 패턴을 허용하는 정책을 생성하세요.