MicroStrategy ONE

Python 지원 트랜잭션 대시보드 생성

에서 시작 MicroStrategy ONE (2024년 3월), 다음에서 Python 지원 트랜잭션 대시보드를 생성할 수 있습니다. MicroStrategy Cloud 환경과 MicroStrategy Cloud 정부 플랫폼용. Python 지원 트랜잭션 대시보드를 생성하고 실행하려면 다음을 수행해야 합니다.

  • 환경이 Python 실행기 사용을 지원하는지 확인하세요.

    이 기능은 Microstrategy Cloud 환경 플랫폼에서 지원됩니다. 연락하다 MicroStrategy 지원하다 이 기능을 활성화하려면

  • 데이터 변경 사항을 다시 쓰기 위한 퍼블릭 엔드포인트가 있는 데이터 원본을 선택하세요.

  • 메타데이터를 최신 버전으로 업데이트하세요.

  • 거래 가능 대시보드 생성

  • 사용자 정의 런타임을 생성하고 해당 런타임의 일부로 필요한 모든 Python 패키지를 다운로드합니다.

  • 필요한 데이터 조작 작업이 포함된 Python 스크립트 만들기

  • 관련 스크립트로 대시보드 구성

시작하기 거래 지원 대시보드 생성 그런 다음 아래 단계를 따르세요.

커스텀 런타임 생성

런타임 관리 권한이 필요합니다. 이 권한이 있는 사용자는 타사 패키지를 다운로드할 수 있으므로 검증된 분석가만 이 권한을 가져야 합니다.

보다 Python 런타임 만들기 및 편집 자세한 내용은.

런타임 관리 권한이 있는 사용자는 현재 기존 런타임을 보고 관리하며 새 런타임을 생성할 수 있습니다. 모든 환경에는 기본 런타임이 있습니다. 런타임을 생성할 때 사용자는 이름, 설명, 연결할 수 있는 주소, 설치된 패키지를 변경하고 스크립트 실행 크기를 선택할 수 있습니다. 런타임 인스턴스의 크기에 따라 해당 런타임과 관련된 각 스크립트 실행에 사용할 수 있는 리소스(CPU 및 메모리)가 결정됩니다.

  1. 워크스테이션을 열고 환경에 연결.
  2. 탐색 창에서 모니터.

    모든 환경에는 기본 런타임 이름이 있습니다. (기본) MicroStrategy.

    기본 런타임에는 Python 및 mstrio 패키지의 최신 버전뿐만 아니라 기본 인스턴스 크기 및 기본 네트워크 액세스 구성도 포함됩니다. 사용자는 mstrio 패키지를 사용하여 액세스할 수 있습니다. MicroStrategy 기본 런타임을 사용하는 데이터.

    사용자는 기본 런타임의 구성을 변경할 수 없습니다. 사용자가 인스턴스 크기, 네트워크 액세스 또는 패키지 구성을 사용자 지정하려는 경우 새 런타임을 생성해야 합니다.

  3. 왼쪽 창에서 옆에 실행 시간.

  4. 다음을 입력하세요. 런타임 이름 그리고 설명. 새로 생성된 런타임은 최신 런타임을 사용합니다. 파이썬 버전. 기존 런타임의 경우 최신 Python 버전으로 업그레이드할 수 있습니다. 기본값 런타임 인스턴스 크기 ~이다 0.2 vCPU 0.5GB 메모리.

  5. ~ 안에 네트워크 액세스, Python 런타임에서 액세스가 허용된 네트워크를 입력하세요. 형식은 다음과 같아야합니다 CIDR(클래스 없는 도메인 간 라우팅) 형식(예: 141.193.213.21/32).

  6. 딸깍 하는 소리 왼쪽 하단에서 Python 런타임에 설치할 새 패키지를 추가합니다. 패키지 버전이 제공되지 않으면 최신 버전이 설치됩니다. 다음 형식을 사용하세요. [패키지 이름][공백][패키지 버전].

    예:

    • 요청 2.28.1

    • 요청

  7. 추가를 클릭합니다.

  8. 패키지는 일반적으로 데이터 변경 사항을 다시 쓰기 위해 데이터 원본에 대한 연결을 지원하고 다음을 사용한 조작을 지원합니다. MicroStrategy API를 사용하거나 Microsoft Teams와 같은 다른 애플리케이션에 연결하세요. 다운로드할 정확한 패키지 이름과 버전을 찾으려면 Pypi 링크를 클릭하세요.

  9. 딸깍 하는 소리 추가하다 런타임을 저장하고 설치가 완료될 때까지 기다립니다. 상태를 확인하려면 페이지를 새로 고치세요.

몇 가지 유용한 팁:

  • 클릭하기 전에 각 필드(네트워크 액세스, 패키지 이름 및 버전)를 입력한 후 Enter를 누르십시오. 추가하다 또는 좋아요 변경 사항을 확인합니다.

  • 하나의 런타임에 둘 이상의 패키지를 추가할 수 있습니다.

  • 한 환경에서 다른 환경으로 개체를 마이그레이션한 후 새 환경에 패키지를 다시 추가하여 런타임을 준비하세요. 이 추가 단계가 없으면 런타임이 작동하지 않습니다.

  • 기본적으로, 모든 사람 가지고있다 보다 런타임에 대한 ACL입니다.

사용자 정의 Python 스크립트 만들기

다음 권한을 가진 사용자를 설정합니다.

  • 스크립트 Python 사용

  • Python 스크립트 인증

  • 다음 ACL이 권장됩니다.

    • 읽기 스크립트에는 스크립트에 대한 읽기 ACL이 필요합니다.

    • 업데이트 스크립트에는 스크립트에 대한 쓰기 ACL이 필요합니다.

    • 스크립트 실행에는 스크립트에 대한 실행 ACL과 런타임에 대한 실행 ACL이 필요합니다.

  1. 워크스테이션을 열고 환경에 연결.
  2. 탐색 창에서 옆에 스크립트.

  3. 스크립트 설정을 열어 스크립트 유형을 다음으로 변경하세요. 거래 적절한 Python 런타임을 선택합니다.

  4. 갤러리에서 템플릿을 선택하고 수정하여 스크립트 생성을 시작하거나 처음부터 시작하세요.

  5. 스크립트의 변수는 일반적으로 대시보드 그리드의 열에 매핑됩니다. 변수를 정의할 때 매개변수는 기본적으로 켜져 있습니다. 변수가 데이터 소스에 연결하는 등 내부 용도로 사용되는 경우와 같이 비트랜잭션 변수에 대해서는 이 기능을 끄십시오.

  6. 데이터 소스 연결 비밀번호는 비트랜잭션 유형 변수를 선택하고, 비밀.

  7. 사용자의 로그인을 기록하고 누가 데이터를 변경했는지 확인하려면 시스템 프롬프트 변수를 포함하는 것이 좋습니다.

  8. 기본 작업 유형은 선택, 삽입 및 업데이트입니다. 선택과 업데이트를 결합하는 등 여기에 추가로 새로운 작업 유형을 만들려면 거래 유형 ~에 변수 유형. 단일 Python 트랜잭션 스크립트에서는 하나의 변수만 다음과 같이 설정할 수 있습니다. 거래 유형.

  9. 다시 쓰기 데이터 원본에 있는 테이블의 기본 키에 매핑되는 변수의 경우 소비자가 기본 키를 수정하는 것을 원하지 않습니다. 이 상황에서는 비활성화해야 합니다. 편집 가능 매개변수.

  10. NULL 값을 허용하지 않는 데이터 소스의 열에 대해 필수의 매개변수.

  11. 변수가 아닌 경우 필수의, 작성자는 데이터베이스에서 허용하는 사항에 따라 열을 비워 둘 수 있는지 여부를 선택할 수 있습니다.

  12. 사용자가 편집할 수 있도록 하려는 열의 경우 편집 가능 매개변수.

  13. 인증된 트랜잭션 Python 스크립트만 트랜잭션 작업에 사용할 수 있으므로 프로덕션 용도로 사용할 준비가 되면 스크립트를 인증해야 합니다. Python 트랜잭션 그리드를 사용할 사용자 그룹에는 이 스크립트에 대한 보기 ACL이 있어야 합니다.

모범 사례

  • 샘플 코드 템플릿을 통해 알아보세요.

  • 원자성 트랜잭션을 지원하는 데이터 소스의 경우 런타임을 준비할 때 원자성 트랜잭션을 지원하는 패키지를 선택하세요. Python 스크립트에서 원자성 트랜잭션을 처리하는 섹션을 추가합니다.

  • 해당하는 경우 매개변수화된 쿼리를 사용하세요. 이러한 방식으로 실행되는 쿼리는 실행을 위해 쿼리와 매개변수가 별도로 전송되므로 삽입 공격에 취약하지 않습니다.

  • Python 트랜잭션 스크립트 작성자와 트랜잭션 대시보드 작성자가 동일인이 아닐 수 있으므로 스크립트와 대시보드 간의 패리티를 보장하십시오. 여기에는 다시 쓸 데이터 원본 테이블의 정의, Python 스크립트에 정의된 변수와 편집 가능한 개체인 대시보드 트랜잭션 그리드 개체 간의 관계 매핑 등이 포함됩니다.

  • Python 스크립트가 지원하는 기능(데이터 업데이트, 새 데이터 삽입, 삭제할 행 선택 또는 다른 테이블에 삽입, Microsoft Teams 메시지 보내기, 이메일 보내기 등)에 대한 자세한 설명이 스크립트에 포함되어야 합니다. 대시보드 작성자는 대시보드 편집기에서 Python 스크립트에 대한 설명을 검색할 수 있습니다. 적절한 권한과 ACL이 있는 사람만 Python scr을 열 수 있습니다.

연결된 Python 스크립트로 대시보드 구성

필수 권한

대시보드에서 트랜잭션을 구성하려면 다음을 수행하십시오.

  • 웹 구성 트랜잭션

  • 스크립트 Python 사용

  • 관련 스크립트에 대한 ACL 보기

사용자가 대시보드를 사용하고 변경 사항을 제출하도록 설정하려면 다음을 수행하세요.

  • 트랜잭션 실행

  • 스크립트에 대한 ACL 보기

그 외 기본 필수 Library 웹 권한:

  • 사용 Library 편물

  • 웹 생성 대시보드

  • 웹 편집 대시보드

  • 웹 저장 대시보드

  • 웹 실행 대시보드

  • 애플리케이션 객체 생성

  1. Python 기반 트랜잭션은 최신 그리드에서 작동하도록 설계되었습니다. 그리드를 선택하고 형식 패널을 열고 거래 옵션 .

  2. 딸깍 하는 소리 Python 사용.

  3. 작업 유형을 선택하고 사용자 정의된 작업 이름, 버튼 이름 등을 제공합니다.

    • 작업 유형은 소비자가 이 대시보드에서 수행할 수 있도록 허용하려는 작업입니다. 작업 유형을 하나 이상 선택해야 합니다.

    • 작업에 의미 있는 이름을 지정하고, 작업이 수행할 수 있는 작업을 설명하고, 버튼에 이름을 지정합니다.

      예:

      • 작업 이름 고객 연령 업데이트

      • 설명 고객-연령 열에서 고객의 연령을 업데이트하세요.

      • 버튼 이름 제출하다

    • 작업을 결합할 수 있습니다. 예를 들어 기존 데이터를 수정하는 동시에 추가 데이터 행을 추가할 수 있습니다. 이에 따라 이 동작을 반영하는 작업 이름을 선택합니다.

  4. 딸깍 하는 소리 Python 스크립트 선택 대시보드가 속한 프로젝트에서 모든 거래 Python 스크립트를 검색합니다. 기본적으로 인증된 스크립트만 나타납니다. 필터를 사용하여 목록을 탐색하고 대상 스크립트를 찾으세요.

  5. 스크립트를 선택하면 매핑 섹션이 나타납니다. 선택한 스크립트 이름은 스크립트 설명을 보여주는 정보 아이콘과 함께 나타납니다. 이 섹션의 오른쪽 상단에는 선택한 스크립트를 교체하는 아이콘과 메타데이터에서 스크립트 목록을 새로 고치는 아이콘이 제공됩니다. 데이터가 필요한 변수에는 별표(*)가 표시됩니다. 이러한 경우 구성을 저장하려면 매핑을 제공해야 합니다.

    작업 유형

    • 그리드의 데이터 수정 허용 그만큼 편집 가능 옵션이 활성화되었습니다. 작성자는 소비자가 수정할 수 있도록 하려는 변수를 선택할 수 있습니다.

    • 그리드에 데이터 추가 그만큼 새 데이터 입력 옵션을 선택하면 소비자가 삽입할 수 있는 변수를 선택할 수 있습니다.

    • 선택한 행에 대해 작업 수행 그만큼 편집 가능 그리고 새 데이터 입력 옵션이 모두 비활성화되어 있습니다. 이러한 경우 행 번호가 스크립트에 전달됩니다. 스크립트는 해당 행에서 수행되는 작업을 결정합니다. 예를 들어 이 작업을 사용하여 그리드에서 행을 삭제할 수 있습니다.

  6. 입력 컨트롤을 구성하려면 다음을 참조하세요. 그리드의 트랜잭션.

  7. 딸깍 하는 소리 더 많은 작업을 추가하고 제출 후 표시할 메시지를 구성합니다.

  8. 딸깍 하는 소리 완료 거래를 완료하고 구하다 대시보드.

모범 사례

  • 데이터 변경 사항을 다시 쓰기 위한 데이터 소스에 따라 일반적으로 SQL 기반 데이터 소스가 첫 번째 선택입니다. 데이터 소스가 웹 서비스인 경우 Python이 선호되는 옵션입니다.

  • 데이터 변경 사항을 이메일 전송, Slack 업데이트 등과 같은 작업과 결합하는 보다 복잡한 워크플로의 경우 Python 스크립트를 사용하세요.

  • 쉬운 입력 제어 구성과 그리드 개체의 편집 가능 여부를 정의하기 위해 스크립트 변수와 그리드 개체 간의 일대일 매핑 관계를 권장합니다.

데이터 작업에 Python 트랜잭션 사용

  1. Python 기반 트랜잭션에서는 인라인 편집이 지원되지 않으므로 모든 데이터 수정은 대량 모드에서 수행됩니다. 딸깍 하는 소리 연필 아이콘 데이터 수정을 시작합니다.

  2. 단일 작업에 대해 선택과 데이터 수정이 모두 지원됩니다.

  3. 선택, 수정 또는 데이터 삽입을 지원하는 작업을 보려면 데이터 추가 새로운 데이터를 제공합니다. 완료되면 다음을 클릭하세요. 추가하다.

  4. 제출을 클릭합니다.

시스템 구성 권장 사항

컨테이너화된 환경을 사용하면 MicroStrategy 컴퓨터를 계속 작동시킬 필요가 없는 환경입니다. 이러한 환경에 스크립트를 저장하고 Workstation 내 어디에서나 액세스할 수 있을 뿐만 아니라 다른 관리자에게도 액세스를 제공할 수 있습니다. 현재 서버 측 스크립트 실행 지원은 컨테이너화된 환경에서만 활성화됩니다.

다음과 같은 방법으로 Python 트랜잭션 요청의 성능을 향상시킬 수 있습니다.

런타임 인스턴스 크기 조정

  1. 탐색 창에서 모니터.

  2. 왼쪽 창에서 실행 시간.

  3. 그리드에서 런타임을 마우스 오른쪽 버튼으로 클릭하고 편집하다.

  4. 조정하다 런타임 인스턴스 크기.

런타임 크기를 변경해야 하는 이유는 무엇입니까?

기본 런타임 크기는 스크립트의 메모리 요구 사항에 비해 충분하지 않을 수 있습니다. 런타임 크기를 늘리면 스크립트에 오류나 충돌 없이 실행할 수 있는 충분한 메모리가 있는지 확인할 수 있습니다. 예를 들어, 스크립트를 사용하여 데이터 소스를 생성하는 경우 테이블 생성에 사용되는 스크립트가 테이블을 메모리에 로드할 수 있으므로 더 큰 런타임을 사용하는 것이 가장 좋습니다.

대규모 환경 사용과 관련된 위험은 무엇입니까?

대규모 컨테이너화된 환경은 많은 메모리를 소비할 수도 있으며, 이로 인해 호스트 시스템의 성능 문제가 발생하고 잠재적으로 컨테이너 충돌이 발생할 수 있습니다. MicroStrategy 컨테이너에는 Python 런타임에 대한 메모리가 제한되어 있습니다. 현재 컨테이너화된 환경에서는 vCPU 6개와 메모리 20GB로 제한됩니다. 컨테이너 환경의 규모와 복잡성을 정기적으로 평가하고 성능, 보안 및 유지 관리 요구 사항에 부합하는지 확인하는 것이 중요합니다. 리소스 사용량을 줄이려면 더 작은 런타임에서 관리 스크립트를 실행하는 것이 가장 좋습니다.

런타임 설정 조정

  1. 탐색 창에서 모니터.

  2. 왼쪽 창에서 실행 시간.

  3. 그리드에서 런타임을 마우스 오른쪽 버튼으로 클릭하고 정보를 얻다.

  4. 왼쪽 창에서 모든 설정.

  5. 런타임 설정을 조정합니다.

    스크립트 시간 초과(초) Python 스크립트 실행에 대한 시간 초과 설정입니다. 기본 설정은 600초입니다.

    기본 포드 인스턴스 번호 캐시된 Python 실행 인스턴스의 기본 개수입니다.

    Python 실행 인스턴스 Python 스크립트가 Python 런타임을 기반으로 실행 중인 경우 Python 실행 인스턴스가 생성되고 다음 지침에 따라 캐시될 수 있습니다. 기본 포드 인스턴스 번호 그리고 최대 포드 인스턴스 수(총 실행 스크립트 한도) 설정.

    최대 포드 인스턴스 수(총 실행 스크립트 한도) 런타임을 기반으로 생성할 수 있는 Python 실행 인스턴스의 최대 수입니다.

런타임 기본 포드 인스턴스 번호 런타임 최대 포드 인스턴스 수(총 실행 스크립트 제한) 추천
1 1 사용량과 동시성이 낮고 응답 시간에 민감한 일반 사용자를 위한 것입니다. Python 실행기 Pod가 항상 작동 중이므로 Pod 준비 시간을 줄일 수 있지만 전체 비용은 더 높습니다. 하나의 포드가 항상 켜져 있습니다.
1 N>1 사용량이 낮고 동시성이 있지만 응답 시간에 그다지 민감하지 않은 일반 사용자를 위한 것입니다. 하나의 Python 실행기 Pod가 항상 작동하고 요청 시 최대 N-1 Pod가 작동될 수 있으므로 이 구성은 더 많은 동시성 사례를 지원할 수 있습니다. 일부 사용자는 응답 시간이 좋습니다. 다른 사람들은 포드 경고 시간을 경험할 수 있습니다. 하나의 Pod는 항상 작동되며 최대 N-1개의 Pod가 특정 시간에 시작되고 작동된 후 2분 이상 유휴 상태가 되면 중지될 수 있습니다.
X>0 = 기본 포드 인스턴스 번호 응답 시간에 민감한 동시 사용이 많은 심각한 사용자의 경우. X 런타임 포드가 항상 실행되므로 가격이 더 높습니다.

알려진 제한 사항

성능

Python 원격 실행의 현재 논리는 다음과 같습니다.

  • 특정 런타임에 대한 사용자 정의 패키지 설치는 실행기 Pod가 생성되고 영구 볼륨이 Python 실행기의 컨테이너에 마운트될 때 지속 볼륨에 있습니다.

  • Python 서비스의 기본 프로세스는 요청 및 응답 처리를 담당합니다. 실제 스크립트 실행은 하위 프로세스에 의해 시작됩니다. 결과적으로 Python 스크립트가 실행될 때마다 Python 인터프리터는 사용된 패키지를 하위 프로세스의 메모리에 로드하려고 시도합니다.

컨테이너가 지속 볼륨의 데이터를 가져올 때 여전히 약간의 지연이 있으므로 포드가 이미 워밍업된 경우에도 하위 프로세스가 스크립트를 실행하는 데 약간의 추가 시간 비용이 발생합니다.

데이터 소스 연결

프라이빗 온프레미스 데이터 소스의 경우 Python 실행기 Pod 컨테이너와 프라이빗 데이터 소스 사이에 네트워크 연결이 없으면 Python 트랜잭션이 지원되지 않습니다. 일반적으로 퍼블릭 엔드포인트가 있는 데이터 원본을 사용할 수 있습니다.

관련 기사

KB486432: Python 트랜잭션 구성을 위한 Python 스크립트 변수 및 그리드 필드 매핑 모범 사례

KB486431: Python 스크립트 수정 사항을 대시보드의 Python 트랜잭션 구성과 동기화