UI에서 빌드하는 대신 NerdGraph API를 사용하여 프로그래밍 방식으로 Pathpoint 플로우를 생성하고 관리할 수 있습니다.
플로우는 결제, 인증 또는 온보딩과 같은 하나의 비즈니스 여정을 나타냅니다. API를 통해 생성하고 관리하는 단위입니다. 플로우는 엔티티이므로, 각각에는 읽기, 업데이트 또는 삭제하는 데 사용하는 엔티티 GUID이(가) 있습니다.
모든 플로우는 4개 티어 계층 구조를 따르며, KPI는 플로우 레벨, 스테이지 레벨 또는 둘 다에 연결됩니다:
Flow├── Flow KPIs└── Stages ├── Stage KPIs └── Levels └── Steps └── Signals (entity GUIDs, alert condition GUIDs, or a dynamic query)Pathpoint 자체에 대한 소개는 Pathpoint 시작하기를 참조하십시오.
시작하기 전에
필요한 것:
- 계정에서 Pathpoint가 활성화되었습니다.
- requests를 인증하기 위한 뉴렐릭
- 귀하의 계정 ID.
플로우 작업
이러한 예제를 대화형으로 실행하려면 NerdGraph GraphiQL 탐색기를 열고 스키마에서 pathPoint을(를) 검색하십시오. 예제를 실행하기 전에 플레이스홀더를 자체 값: YOUR_ACCOUNT_ID, TARGET_ACCOUNT_ID, FLOW_GUID, SOURCE_FLOW_GUID, ENTITY_GUID, ANOTHER_ENTITY_GUID, ENTITY_NAME, ALERT_CONDITION_GUID 및 스테이지, 레벨, 스텝 ID로 교체하십시오.
플로우 생성
단일 뮤테이션으로 중첩된 스테이지, 레벨, 스텝 및 신호를 전달하여 플로우를 생성하십시오.
pathPointCreate 계정 scope이(가) 필요합니다. 페이로드 내에서는 name만 필요합니다. stages을(를) 포함한 다른 모든 것은 선택 사항입니다. 단계는 세 가지 방법 중 하나로 신호를 가져오며, 이를 결합할 수 있습니다:
- A dynamic query (
entitySearchQuery): 쿼리와 일치하는 모든 엔티티이며, 새로 고칠 때마다 다시 평가됩니다. - A pinned entity (
type: ENTITY): GUID로 식별되는 하나의 특정 엔티티입니다. - A pinned alert condition (
type: ALERT): GUID로 식별되는 하나의 공지 조건입니다.
type 필드는 선택 사항입니다. GUID만으로도 신호를 식별하기에 충분합니다.
스테이지는 또한 상태 롤업과 독립적으로 UI가 스테이지 사이의 커넥터 화살표를 그리는 방법을 제어하는 선택적 related 블록을 사용합니다. 스테이지가 이전 스테이지에서 들어오는 화살표를 표시해야 하는 경우 source: true을(를) 설정하고, 다음 스테이지로 나가는 화살표를 표시해야 하는 경우 target: true을(를) 설정하십시오. 모든 스테이지가 순서대로 다음 스테이지에 연결되는 플로우에서 첫 번째 스테이지는 source: false, target: true이고 마지막 스테이지는 source: true, target: false이며, 그 사이의 모든 스테이지는 둘 다에 대해 true 입니다.
중요
KPI의 accountId은(는) 기본적으로 플로우의 계정으로 설정됩니다. 다른 계정으로 설정하면 KPI가 생성되지 않으며 오류도 반환되지 않습니다. 응답의 excludedKpis 필드를 확인하여 뮤테이션이 건너뛴 KPI를 확인하십시오.
플로우 읽기
엔티티 GUID로 플로우를 읽어 전체 설정과 플로우, 각 스테이지, 각 레벨 및 각 스텝의 현재 상태를 가져옵니다. healthStatus은(는) 읽기에만 나타납니다.
스테이지, 레벨 및 단계는 페이지당 50개의 항목을 반환합니다. nextCursor이(가) null이 아닌 값으로 반환되면, 이를 전달하여 다음 페이지를 가져오십시오.
{ actor { account(id: YOUR_ACCOUNT_ID) { pathPoint { flow(guid: "FLOW_GUID") { guid name description category refreshInterval healthRollup healthStatus version message kpis { id name category accountId query { from where select { aggregationType attribute alias threshold } timeWindow { customRange relativeRange { since compareAgainst } } } metricQuery } stages { totalCount nextCursor items { id name link healthRollup healthStatus isExcluded related { source target } levels { totalCount nextCursor items { id healthStatus steps { totalCount nextCursor items { id name healthStatus isExcluded scopedAccounts config { healthRollup thresholdType thresholdValue } entitySearchQuery { query isExcluded } signals { guid name type isExcluded } } } } } } } metadata { createdAt createdBy { name email } updatedAt updatedBy { name email } } } } } }}전체 트리가 필요하지 않은 경우 더 적은 필드를 요청하십시오. 예를 들어 name 및 healthStatus만 읽어도 플로우의 상태를 폴링하기에 충분합니다.
플로우 업데이트
pathPointUpdate diff 기반 작업입니다. 전송한 페이로드를 플로우의 현재 상태와 비교하고 ID 포함 여부에 따라 각 스테이지, 레벨, 단계 및 KPI에 대해 작동합니다:
- ID included: 기존 객체를 업데이트합니다.
- ID omitted: 새 객체를 생성합니다.
- Object left out of the payload entirely: 플로우에서 삭제합니다.
주의
생략은 삭제를 의미하므로, 항상 먼저 플로우를 읽고, 반환된 페이로드를 수정한 다음, 의도한 전체 상태를 전송하십시오. 부분적인 페이로드를 전송하면 누락된 모든 항목이 삭제됩니다.
version 필드도 필요합니다. 낙관적 동시성 제어에 사용되는 에포크 밀리초 단위의 플로우의 마지막 업데이트 타임스탬프입니다. 이를 생략하거나 오래된 값을 보내면 업데이트가 실패합니다.
플로우 복제
구조만 복제하거나 전체 플로우를 복제할 수 있습니다:
STRUCTURE: 시그널이나 KPI 없이 스테이지, 레벨 및 단계만 복사합니다.WHOLE_FLOW: 신호 및 KPI와 함께 구조를 복사합니다.
입력에 설정한 모든 속성은 소스 플로우의 값을 재정의합니다. 속성을 상속하려면 해당 속성을 생략하십시오.
플로우 삭제
플로우 삭제는 연쇄적으로 작용합니다: 모든 스테이지, 레벨, 단계 및 KPI와 함께 플로우를 제거합니다. 시그널 자체, 플로우가 가리키는 엔티티 및 공지 조건은 계정에 유지됩니다.
주의
플로우 삭제는 영구적입니다.
mutation { pathPointDelete(guid: "FLOW_GUID") { guid name }}부분 실패
개별 객체가 실패하더라도 전체적인 생성 또는 업데이트는 성공할 수 있습니다. 응답의 두 필드는 이러한 상황이 발생한 시기를 알려줍니다:
message: 실패한 스테이지, 레벨 또는 단계의 세부 정보입니다. 모든 것이 성공하면null입니다.excludedKpis: 생성되지 않은 KPI의 이름으로, 가장 일반적인 이유는 KPI의accountId이(가) 플로우의 계정과 일치하지 않기 때문입니다.
부분적인 성공을 완전한 성공으로 취급하지 않도록 뮤테이션에서 두 필드를 모두 요청하십시오.
제한
API를 통해 빌드하든 UI에서 빌드하든 모든 플로우에 다음 제한이 적용됩니다:
한계 | 값 |
|---|---|
플로우당 최대 스테이지 수 | 50 |
스테이지당 최대 레벨 | 50 |
레벨당 최대 스텝 | 50 |
페이지당 반환되는 최대 항목 | 50 |
유형 참조
이러한 열거형은 위의 작업에 나타납니다. 각 행에는 허용되는 값이 나열되며, 그 뒤에 제어하는 항목이 나열됩니다:
열거형 | 가치 |
|---|---|
|
,
,
,
,
. 플로우, 스테이지, 레벨 및 스텝 상태가 새로 고쳐지는 빈도입니다. |
,
|
,
. 상태가 하위 객체에서 롤업되는지, 아니면 플로우 또는 스테이지의 KPI 전체에서 가장 나쁜 공지 조건에서 오는지 여부입니다. |
|
,
. 스텝이 가장 상태가 나쁜 신호를 취할지 아니면 가장 상태가 좋은 신호를 취할지 여부입니다. |
|
,
.
이(가) 절대 개수인지 아니면 신호의 백분율인지 여부입니다. |
|
,
,
,
. 읽기 시 반환되는 컴퓨트 상태입니다. |
|
,
. GUID가 APM 서비스나 호스트와 같은 모니터 엔티티를 가리키는지, 아니면 공지 조건을 가리키는지 여부입니다. |
|
,
,
,
,
,
,
,
. KPI 쿼리가 적용하는 집계입니다.
을(를) 제외한 모든 함수에는
이(가) 필요합니다. |
|
,
,
,
,
,
,
. KPI의
및
에 대한 기간입니다. |
|
,
. 스테이지, 레벨 및 단계만 복사할지, 아니면 신호 및 KPI와 함께 구조를 복사할지 여부입니다. |