먼저 Webhook에 대해 이야기해 보겠습니다. 웹후크는 온라인 서비스 간의 통신을 용이하게 하는 다양한 수단 중 하나로, 앱이 서로 연결되는 방식입니다. 보다 구체적으로 Webhook는 기점이 되는 시스템에서 대상 또는 수신자 시스템으로 보내는 이벤트에 의해 활성화되는 HTTP 요청입니다.

이 자동 데이터 교환은 웹을 통해 HTTP(또는 HTTPs) 프로토콜을 사용하여 이루어지며, 대부분의 경우 실제 데이터는 HTTP 요청 본문 내의 JSON 형식을 사용하여 전송됩니다. Webhook을 구성할 때 송신 앱은 수신 앱이 수신 중인 웹훅 대상 URL을 알고 이벤트를 기다립니다.

SFTP To Go의 Webhook 알림을 사용하면 앱을 통합하고 SFTP에서 파일 및 디렉터리의 삭제, 생성 또는 수정을 추적하여 변경이 발생할 때 자동으로 처리할 수 있습니다.

이 글에서는 SFTP To Go에서 Webhook 알림을 설정하는 방법을 단계별로 안내합니다. 테스트 목적으로 Webhook URL로는 webhook.site 엔드포인트를 사용하겠습니다. 자체 앱 코드가 준비되면 Webhook URL을 여러분의 앱 URL로 설정하고 요청이 제대로 처리되는지 확인해야 합니다.

1단계: 새로운 Webhook 추가하기

  1. SFTP To Go 대시보드로 이동합니다.
  2. 상부 메뉴에 있는 Webhooks를 클릭합니다
Click Webhooks in the top menu
  1. Add webhook(Webhook 추가하기)를 클릭합니다.
Click Add webhook
  1. 대화 상자가 나타나면 다음을 입력합니다:
    • Nickname (별명) - Webhook을 쉽게 알아볼 수 있는 설명이 포함된 이름입니다.
    • Endpoint URL (엔드포인트 URL) - 모든 Webhook 알림을 수신할 서버 엔드포인트의 HTTPS URL입니다.
    • Authorization header (권한 부여 헤더) - 앱에 권한 부여가 필요한 경우 또는 수신하는 요청이 실제로 SFTP To Go에서 온 것인지 확인하려는 경우 권한 부여 헤더에 값을 입력하고 수신 측에 해당 값이 있는지 간단히 확인할 수 있습니다.
    • Topics (토픽) - 알림을 받고자 하는 알림의 종류를 선택합니다. 사용 사례에 따라 두 가지 토픽 중 하나 또는 두 가지 모두를 선택할 수 있습니다:
      • File created (파일 생성) - 새 파일 또는 디렉터리가 만들어질 때마다 알려줍니다.
      • File deleted (파일 삭제) - 파일 또는 디렉터리가 삭제될 때마다 알려줍니다.
Fill out the webhook details
  1. add webhook(Webhook 추가하기)를 클릭합니다.
  2. 로그인 암호(Signing secret)가 생성되어 복사할 수 있도록 한 번 공개됩니다. 각 요청은 Webhook 요청의 X-Hub-Signature 헤더에 SFTP To Go가 확인합니다. 요청의 진위 여부를 확인하려면 로그인 암호를 복사하여 Webhook 암호를 확인하는 데 사용하세요. 로그인 암호은 언제든지 교체하여 새로운 암호를 할당받을 수 있습니다.
  3. Okay, I got the secret(네, 암호를 받았습니다)를 클릭하고, 다음 단계로 이동하세요.
Click Okay, I got the secret

2단계: 생성한 새로운 Webhook 테스트하기

여러분이 생성한 Webhook이 모두 설정되었으므로 이제 수신 측에서도 모든 것이 제대로 작동하는지 테스트할 차례입니다. 가장 효율적인 방법은 ping webhook를 보내는 것입니다:

  1. SFTP To Go의 Webhook 패널에서 Webhook의 Actions 메뉴를 클릭하고 Ping Webhook를 선택합니다.
Click Actions and then Ping webhook
  1. Yes, ping this webhook(네, 이 Webhook를 ping합니다)를 클릭합니다.
  2. 앱이 Webhook을 획득하고 관리했는지 확인합니다. 200 수준의 상태 코드로 응답해야 한다는 점에 유의하세요. Webhook을 테스트하기 위해 webhook.site를 사용하는 경우 요청 헤더와 본문을 볼 수 있습니다. 페이로드 내에서 이벤트가 언제 발생했는지 알려주는 CreatedAt 키와 "webhook.ping" 이벤트임을 알려주는 Topic에 주목하세요. OrganizationId는 여러분의 SFTP To Go 애드온 인스턴스를 식별합니다.

Webhook을 테스트할 수 있는 또 다른 옵션은 이벤트가 발생할 때까지 기다리거나 파일을 업로드하거나 기존 파일을 삭제하여 수동으로 이벤트를 시작하는 것입니다.

요청 페이로드의 Data 키에는 파일 경로 및 크기와 같은 중요한 정보가 포함되어 있습니다.

Webhook 페이로드에 대한 자세한 내용은 여기를 참조하세요. 짧은 Webhook 튜토리얼영상을 시청하는 것도 좋습니다:

보안성과 안정성을 극대화한 SFTP To Go
SFTP To Go는 관리형 SFTP/FTPS/S3를 서비스 형태로 제공하며, 최고의 안정성, 보안, 가용성, 1분 만에 설치가 가능하며 모든 규모의 기업에 적합합니다.
지금 바로 SFTP To Go를 사용해 보세요!

Post photo by Damir Spanic on Unsplash