주 컨텐츠로 이동
Adaptive Planning
최종 업데이트: 2024-03-08
커스텀 클라우드 로더 생성

커스텀 클라우드 로더 생성

커스텀 클라우드 로더를 작성하려면 철저한 JavaScript 프로그래밍 지식과 경험이 필요합니다. 커스텀 클라우드 로더 생성을 시작하려면 숙련된 JavaScript 프로그래머의 도움을 받아야 합니다. 또한 커스텀 클라우드 로더 생성을 시도하기 전에 관리 > 권한 세트에서 통합 개발자 권한이 지정되어야 합니다.
커스텀 클라우드 로더를 사용하면 다음을 내보낼 수 있습니다.
Adaptive Planning
계획 데이터를 3rd Party 클라우드 시스템에 직접 전송합니다.
동영상 시청:
3분 16초

기본 단계

  1. 데이터 소스 설정을 입력합니다.
  2. 매개변수를 정의합니다.
  3. 에서 CCDS API를 사용하여 JavaScript를 작성합니다. ai 네임스페이스.
  4. 비즈니스 규칙을 정의합니다.
  5. 로더를 실행 또는 스케줄링합니다.

선행요건

  • 통합 개발자 권한이 있는지 확인합니다.
  • 다음을 확인합니다.
    Adaptive Planning
    내보내려는 계획 데이터가 스테이징 테이블에 이미 있습니다.
  • 외부 시스템에 대한 OAuth 자격증명을 생성하거나 JavaScript에 명시적으로 포함할 수 있는 자격증명을 획득합니다.
  • 외부 시스템으로 전달하기 위해 필요한 매개변수와 외부 시스템에 대한 기본값이 무엇인지 알아야 합니다.
  • 외부 시스템의 엔드포인트에 작성하는 방법을 이해합니다.

탐색

Compass.png 탐색 메뉴에서
통합
통합 디자인
으로 이동합니다.

데이터 소스 설정 입력

데이터 소스 설정을 통해 인스턴스의 스테이징 데이터에서 사용하려는 소스 테이블을 선택하고 사용할 자격증명과 로더 실행 중 기록할 로그 레벨 세부내용을 결정할 수 있습니다.

신규 커스텀 클라우드 로더 생성

  1. 통합 > 통합 디자인
    으로 이동하여 데이터 디자이너에 액세스합니다.
  2. 구성요소 라이브러리에 있는 로더 폴더에서
    신규 로더 생성
    을 선택합니다.
  3. 로더 유형으로
    커스텀 클라우드 로더
    를 선택하고 이름을 입력합니다.
    커스텀 클라우드 로더가 옵션으로 보이지 않는다면 이 인스턴스에 대해 활성화되어 있지 않거나 이 인스턴스에 액세스하기 위해 필요한 통합 개발자 역할 권한이 없는 것입니다.
  4. 생성
    을 선택합니다.

소스 테이블, 자격증명 및 로그 레벨 선택

  1. 커스텀 클라우드 로더 정보를 입력합니다.
    • 소스 테이블:
      다음을 포함하는 스테이징 테이블을 선택하십시오.
      Adaptive Planning
      내보낼 계획 데이터
    • 필수 자격증명:
      외부 시스템에 OAuth가 필요하고 적절한 OAuth 자격증명을 선택하기 위해 통합 운영자 권한을 가진 사용자가 필요한 경우 선택합니다.
    • 자격증명:
      기존 OAuth 자격증명을 선택합니다.
    • 로그 레벨:
      로더 실행 시 세부내용을 얼마나 자세히 기록할지 선택합니다.
      • 오류
        :
        오류만 기록합니다.
      • 정보
        :
        데이터 소스가 업데이트된 시기와 같은 모든 기본 정보를 기록합니다.
      • 상세
        :
        모든 단계 및 액션에 대한 매우 상세한 정보를 제공합니다. 일반적인 사용에 비해 더 많은 로그 정보를 생성할 수 있으므로 주로 디버깅 또는 감사에 사용합니다.
  2. 액션 메뉴에서
    저장
    을 클릭합니다.

매개변수 정의

JavaScript에서 내보내는 데 필요한 매개변수를 정의합니다.
Adaptive Planning
데이터를 외부 시스템으로 전송합니다. 매개변수에는 의 연결 URL, 사용자명, 비밀번호 및 디멘션이 포함될 수 있습니다.
Adaptive Planning
및 기타 정보를 제공합니다. '매개변수 있음' 설정을 사용하면 런타임 시 값을 변경할 수 있으며, '정적' 설정은 로더 실행이 끝나더라도 유지됩니다.
  1. 디자이너 설정
    을 선택합니다.
  2. 설정 구성요소
    창에서 '매개변수 있음' 또는 '정적' 설정 항목을
    디자이너 설정
    으로 끌어서 놓습니다.
    • 로더 실행 시 다른 값을 제공하지 않으면 여기에 입력한 '매개변수 있음' 설정 값이 로더 기본값이 됩니다.
    • 여기에 입력한 '정적' 설정은 로더 실행 시마다 사용되며 런타임 시 입력하지 않아도 됩니다.
      • 부울: 1 또는 0으로 표시되는 값
      • 디멘션: 디멘션 관리의 디멘션
        Adaptive Planning
        .
      • 정수: 음수가 아닌 정수
      • 비밀번호: 비밀번호. 이 값은 저장 후에는 조회할 수 없습니다.
      • 기간 범위: 다음 범위의 기간 범위입니다.
        Adaptive Planning
        .
      • 텍스트: 영숫자 값
  3. 매개변수 항목을 두 번 클릭하여 이름을 입력하고 값을 변경합니다.
  4. JavaScript에서 참조할 항목을 필요한 만큼 끌어옵니다.
  5. 로더를 저장합니다.
  6. JavaScript에 있는 매개변수명을 사용하여 참조합니다.

JavaScript 작성

  1. 스크립트
    를 선택합니다.
  2. 기존 템플릿을 선택하고 변경하거나
    신규 스크립트
    를 선택하여 직접 작성합니다.
  3. 에서 CCDS API를 사용하여 로더에서 실행할 JavaScript를 작성합니다. ai 네임스페이스.
  4. 스크립트에서 다음 필수 항목을 포함하는지 확인합니다.
  5. 디자이너 설정에서 생성한 매개변수를 이름을 기준으로 참조합니다.
  6. 스크립트를 저장합니다.
바로가기 키
CTRL+Shift+B
를 사용하여 편집기에서 스크립트에 서식을 지정하고 미화할 수 있으며
Ctrl+H
를 사용하여 찾기 및 바꾸기를 실행할 수 있습니다.
긴 스크립트를 여러 파일로 분리하여 보다 간편하게 유지관리할 수 있습니다.
예: 다음을 모두 포함할 수 있습니다.
testConnection
로직을 하나의 스크립트로
testconnectionscript
. 두 번째 스크립트는 다음과 같습니다.
exportdatascript
- 다음을 모두 포함할 수 있습니다.
exportData
로직
동일한 함수가 여러 스크립트에 선언되는 경우 가장 최근에 추가된 스크립트의 함수가 사용됩니다.

커스텀 클라우드 로더 스크립트에 OAuth 사용

커스텀 클라우드 로더에 대해 자격증명 필요를 선택하는 경우 스크립트에 다음을 포함해야 합니다.
ai.https.authorizedRequest.
OAuth 자격증명을 생성하는 방법은OAuth를 사용하여 인증을참조하십시오.
자격증명을 참조하는 커스텀 클라우드 로더를 실행하려면 다음을 수행해야 합니다.
  1. 로더를 실행하기 전에
    권한 부여 요청
    을 선택합니다.
  2. 범위와 같이 외부 시스템 엔드포인트에 필요한 추가 권한 부여 세부내용을 제공합니다.
  3. 연결 테스트
    를 선택하여 OAuth 자격증명이 성공적으로 엔드포인트로 전달되는지 확인합니다.
  4. 권한 부여 상태의 권한 부여 날짜 및 사용자 ID를 기록해 둡니다. 권한 부여 만료일은 외부 시스템마다 다릅니다. 필요한 경우 다시 권한을 부여하려면 '액션' 창에서 '권한 부여 재설정'을 클릭합니다.

비즈니스 규칙 정의

비즈니스 규칙을 사용하여 외부 시스템으로 내보내는 스테이징 데이터를 제한하는 SQL 표현식을 생성할 수 있습니다. 필터 조건을 충족하는 레코드만 로드됩니다.
비즈니스 규칙 탭에는 SQL 입력을 위한 텍스트 영역이 포함되어 있습니다.
  1. 비즈니스 규칙
    탭을 선택합니다.
  2. 편집
    을 선택합니다.
  3. SQL 표현식을 입력합니다. 직접 입력하는 대신 사용가능한 열의 항목을 클릭하여 해당 열을 SQL 표현식으로 가져올 수 있습니다.
  4. 적용
    을 선택하여 구문을 확인합니다. 오류가 있는 경우 표현식의 테두리가 빨간색으로 바뀝니다. 표현식 위로 마우스 커서를 가져가서 구문 오류 정보를 확인합니다.
  5. 구문에 있는 모든 오류를 수정하고
    적용
    을 선택합니다. SQL 표현식에 일치하는 스테이징 행만 로드합니다.

통합 태스크에 커스텀 클라우드 로더 포함

커스텀 클라우드 로더는 통합 태스크로 실행되어야 합니다. 하나 이상의 로더를 포함할 수 있습니다. 태스크는 또한 기타 통합 태스크 및 로더를 포함할 수 있습니다. 참조 통합 태스크 생성.
모범 사례: 로더마다 별도의 통합 태스크를 생성하십시오.
한 태스크에 여러 로더가 포함된 경우 태스크가 실행될 때 각 로더의 매개변수가 표시됩니다. 한 태스크 내 로더에 하나의 공통된, 즉 공유된 매개변수가 있는 경우 이 매개변수에 대한 프롬프트는 한 번만 표시됩니다. 매개변수 프롬프트를 재정의할 수도 있습니다.
스케줄링된 태스크 실행에는 로더가 생성될 때 저장된 매개변수의 기본값이 사용됩니다.

샘플 CCL 스크립트

아래의 예를 사용하여 스프레드시트 데이터를 내보내고 보기 위해 AWS S3 인스턴스에 연결합니다. 버킷 이름, 키, 액세스 키, 비밀키 및 지역 이름이 필요합니다. 자세한 내용과 예시 코드는ai.awss3를참조하십시오.
  1. 스프레드시트 데이터 소스를 설정합니다.
  2. 로더
    창에서 새로운 커스텀 클라우드 로더를 생성합니다.
  3. 데이터 소스 설정
    탭으로 이동하여
    소스 테이블
    필드에서 스프레드시트 데이터 소스를 선택합니다.
  4. 스크립트
    탭에서 아래 샘플 스크립트를 복사합니다.
    // Manually invoke this method via 'Test connection' function testConnection(context) { return true; } // Manually invoke this method via 'Run manually' function exportData(context) { //"xxx" is the name of your Amazon S3 bucket. var bucketName = 'xxx'; //Name of the sample CSV file to which data from your spreadsheet data source is exported var key = 'exampleTest.csv'; //"xxxx" is the access key for your AWS S3 bucket. var awsAccessKey = 'xxxx'; //"xxxx" is the secret key of your AWS S3 bucket. var awsSecretKey = 'xxxx'; var region = 'us-west-1'; // Step 1: Get the data var reader = context.createTableReader(); // Step 2: Process and export the data var result = "Column,Heading,Names\n"; var row = null; while ((row = reader.readRow()) !== null) { // remove meta columns we don't need row.length = row.length - 2; result += row.join() + '\n'; } ai.awss3.putFile(bucketName, key, result, region, awsAccessKey, awsSecretKey); }
  5. 액션
    창에서
    저장
    을 선택합니다.
  6. 스크립트를 실행하려면
    액션
    창에서
    수동 실행
    을 선택합니다.