MS SQL Server 데이터베이스의 이벤트 트리거
event triggers in Hasura을 사용하면 데이터에 대한 사용자 정의 비즈니스 논리를 수행할 수 있습니다. 지정된 테이블에서 이벤트(삽입, 업데이트, 삭제)를 캡처한 다음 HTTP 웹후크를 호출하여 사용자 지정 비즈니스 논리를 실행합니다.
이 문서에서는 MS SQL Server 데이터베이스에서 이벤트 트리거를 사용하는 방법을 보여줍니다.
SQL 서버 데이터베이스
Hasura 애플리케이션을 만들기 전에 SQL Server 데이터베이스를 사용할 수 있어야 합니다. 또한 데이터베이스가 Hasura에 의해 도달 가능한지 확인하십시오.
Hasura 프로젝트의 IP 주소에서 연결할 수 있도록 데이터베이스 설정을 업데이트하십시오. 프로젝트 설정에서 IP 주소를 찾을 수 있습니다.
그런 다음 데이터베이스를 Hasura에 연결할 수 있습니다.
SQL Server 데이터베이스를 Hasura에 연결
새 Hasura 프로젝트를 만들고 프로젝트 콘솔을 시작합니다.
그런 다음 "Data Manager"로 이동하여 Hasura를 기존 SQL Server 데이터베이스에 연결합니다. 데이터베이스 이름을 선택하고
MS SQL Server
를 선택한 다음 데이터베이스 URL을 입력합니다.데이터베이스 URL의 형식은 다음과 같습니다.
Driver={ODBC Driver 17 for SQL Server};Server=tcp:<b>hasura-test.database.windows.net</b>,<b>1433</b>;Database=<b>db-name</b>;Uid=<b>username</b>;Pwd=<b>password</b>;Encrypt=yes;TrustServerCertificate=no;Connection Timeout=30;
데이터베이스를 연결한 후 다음 필드가 있는
user
테이블을 생성합니다."int"(기본 키) 유형의
id
"varchar(250)"유형의
name
"varchar(250)"유형의
email
id
필드를 기본 키로 선택하고 테이블을 저장합니다.데이터베이스 연결을 테스트할 시간입니다. GraphiQL 페이지로 이동하여 새 사용자를 데이터베이스에 삽입합니다. 다음은 사용할 수 있는 변형의 예입니다.
mutation MyMutation {
insert_user(objects: {id: 1, name: "Hasura User", email: "[email protected]"}) {
affected_rows
returning {
id
name
email
}
}
}
변형이 성공하면 아래 이미지와 유사한 응답이 표시됩니다.
Hasura 이벤트 트리거 설정
이벤트 트리거를 사용하려면 Hasura가 호출할 수 있는 웹후크를 사용할 수 있어야 합니다. 이 경우 새 사용자에게 환영 이메일을 보내는 서버가 있다고 가정해 보겠습니다.
새 사용자가 데이터베이스에 추가될 때마다 서버는 자동으로 해당 사용자에게 환영 이메일을 보냅니다.
"이벤트"페이지로 이동하고 다음 세부 정보로 새 이벤트 트리거를 만듭니다.
send_email
default
public/users
insert
"Webhook (HTTP/S) Handler"필드에 새 사용자가 데이터베이스에 삽입될 때 Hasura가 호출해야 하는 끝점을 입력합니다.
이제 "REST 커넥터 구성"섹션이 보일 때까지 아래로 스크롤하고 "요청 옵션 변환 추가"버튼을 클릭합니다.
그러면 요청 방법 및 URL 템플릿을 수정할 수 있는 새 섹션이 열립니다. 새로 만든 사용자의 이름과 이메일을 전달하도록 URL 템플릿을 변경해야 합니다.
"Query Params"섹션에서 다음 매개변수를 추가합니다.
{{$body.event.data.new.name}}
{{$body.event.data.new.email}}
새 이벤트 트리거를 저장하면 완료됩니다!
이벤트 트리거 테스트
이벤트 트리거를 테스트하려면 새 사용자를 데이터베이스에 삽입해야 합니다. GraphiQL 편집기에서 다음 변형을 실행합니다.
mutation {
insert_user(objects: {id: 2, name: "Charlie Kirby", email: "[email protected]"}) {
affected_rows
returning {
id
name
email
}
}
}
그림은 작동 중인 돌연변이를 보여줍니다. 변형이 성공했으므로 이벤트 트리거는 웹후크를 호출하고 사용자는 환영 이메일을 받아야 합니다.
이메일 수신함을 확인하면 사용자가 이메일을 수신했음을 확인합니다.
"호출 로그"를 확인하여 이벤트 트리거가 성공했는지 여부를 확인할 수도 있습니다.
이것은 SQL Server 데이터베이스에서 이벤트 트리거를 사용하는 한 가지 예일 뿐입니다. 자세한 내용은 Hasura 문서event triggers를 참조하십시오. 광범위한 섹션 커버링MS SQL Server도 있습니다.
Reference
이 문제에 관하여(MS SQL Server 데이터베이스의 이벤트 트리거), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/hasurahq/event-triggers-on-ms-sql-server-database-58l9텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)