중급 Part08: 변수의 참조범위에 대하여

시작하면서

Xplenty는 프로그래밍 경험이 적은 사용자를 위한 로우코드, 노코드 도구로, 사용자의 번거로움을 줄이기 위해 일상적인 데이터 전송 업무는 스케줄러를 이용한 작업 실행을 권장합니다.

이 스케줄러에 의한 작업의 실행에 반드시 약방의 감초처럼 등장하는 요소가 변수입니다.
스케줄러 실행시에 다양한 조건을 부여하는데 주로 사용되는 이 변수에 참조 범위가 존재한다는 것은 잘 알려져 있지 않은 것 같습니다.

일반 프로그래밍 언어와 마찬가지로 Xplenty의 변수에도 참조 범위가 존재하며, 이를 잘 활용하면 효율적으로 잡의 실행에 필요한 값을 설정할 수 있습니다.
그리 복잡한 개념이 아니므로 이번 글에서는 변수의 참조 범위에 대해 알아보도록 하겠습니다.

변수 참조 범위 설명

참조 범위별 변수 설정 및 확인은 패키지 편집 화면의 한 곳에서 일괄적으로 할 수 있다. 아래 그림과 같이 패키지 편집 화면의 우측 상단에 있는 삼점 아이콘을 클릭하면 Edit package variables라는 하위 화면이 오른쪽에서 열린다.

thumbnail imagethumbnail image

아래 그림에서 보시는 바와 같이 4종류의 변수 참조 범위가 있습니다.
변수의 정의는 유형에 상관없이 VARIABLE에 변수명을 입력하고 EXPRESSION에 값이나 함수를 설정하면 완료됩니다. 변수의 순서를 바꾸려면 VARIABLE의 왼쪽에 있는 위아래 화살표를 마우스로 드래그하여 이동시킵니다.
thumbnail image
이제 각 변수 유형에 대해 자세히 알아보겠습니다.

1. 패키지 변수 또는 사용자 변수(Package 탭)

패키지 변수는 패키지 내 어디에서나 참조할 수 있는 변수들의 집합이다.

  • 참조 범위
    • 변수를 선언한 패키지 내부
  • 변수 타입
    • 숫자(int, long, float, double), 부울, 문자열

thumbnail image

2. 시크릿 변수 (Secrets 탭)

2024년 4월에 추가된 시크릿 변수는 아래와 같은 특징을 가지고 있다.

  • 참조 범위
    • 변수를 선언한 패키지 내부
  • 변수 타입
    • 문자열만 설정 가능 (큰따옴표는 필요 없음)
  • 특징
    • API 키 등 다른 멤버에게 숨기고 싶은 값 설정에 효과적
      동일한 변수명이 Global이나 Package에 있으면 에러가 발생한다.

thumbnail image

3. 글로벌 변수(Global 탭)

2023년 5월에 추가된 글로벌 변수는 하나의 계정 아래 모든 패키지에서 접근할 수 있습니다.
변수 설정 위치는 아래 그림과 같이 settings(톱니바퀴 아이콘) - Account Settings - Global Variables에서 설정할 수 있습니다.
thumbnail image

설정 후에는 반드시 아래의 Validate and Save 버튼을 클릭하여 입력한 값이 올바른지 확인한 후 저장합니다.

  • 참조 범위
    • 단일 계정에 속한 모든 패키지
  • 변수 타입
    • 숫자(int, long, float, double), 부울값, 문자열
  • 특징
    • 패키지 변수에 동일한 변수명이 존재할 경우, 패키지 변수를 우선한다.

기존에는 계정 전체에서 사용하는 공통 변수가 있는 경우, 각각의 패키지에 공통 변수를 일일이 설정해야 했습니다. 패키지 개수가 적을 때는 별 문제가 되지 않지만, 엔터프라이즈 규모에 이르면 상당히 버거운 작업임에 틀림없습니다.
조금만 방심하면 같은 변수 이름인데도 패키지마다 다른 변수 값이 설정되기 쉽고, 초기 설정에서 변수 값을 맞춰 놓았는데도 후속 작업에서 같은 실수를 반복할 가능성도 높아집니다.

이런 와중에 글로벌 변수는 여러모로 구세주 같은 존재입니다.
글로벌 변수를 사용하면 여러 패키지에 걸쳐 사용되는 공통 변수를 한 번만 설정하면 되므로 설정 오류나 예기치 않은 변경의 위험을 줄일 수 있습니다. 특정 패키지에서만 변수 값을 변경하고 싶을 때는 같은 이름의 패키지 변수를 정의하면 해당 패키지 변수가 우선적으로 사용됩니다. 이를 통해 번거로운 작업을 줄이고 효율적인 변수 관리가 가능하게 되었습니다.

4. 시스템 변수(System)

Xplenty 내부에서 사용되는 변수입니다. 이 변수 항목에 대한 자세한 내용은 중급편 Part2: 시스템 변수 또는 사전 정의된 변수에 대해 참고하시기 바랍니다.

thumbnail image

  • 참조 범위
    • 단일 계정에 속한 모든 패키지
  • 특징
    • 패키지 전체에 걸쳐 동일한 값이 설정되지만, 값 변경도 가능하다.
    • 값 변경이 있을 경우, 참조 범위는 설정한 패키지에만 유효함
    • 다른 변수에 시스템 변수와 동일한 변수 이름의 변수 설정 불가능(저장되지 않음)

마치면서

변수는 Xplenty를 통한 패키지(데이터 파이프라인)의 정기적인 실행에 필수적인 내용이다.
이 글을 통해 변수에 대한 특징을 잘 파악하여 패키지 작성의 유연성을 높여보는 것은 어떨까요?

홈페이지의 무료 데모 신청 버튼을 클릭하시면, Xplenty를 2주 동안 무료로 체험해 보실 수 있습니다.