> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cognite.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 활동을 유지 관리로 가져오기

> 사용자 인터페이스(APM 모드), Cognite Toolkit 또는 변환을 사용하여 활동을 가져오는 방법을 배우십시오.

유지 관리는 활동을 가져오는 세 가지 방법을 지원합니다:

* **CSV 업로드**: 사용자 인터페이스(APM 모드 전용)를 사용하여 활동을 가져옵니다.
* **Cognite Toolkit**: [Cognite Toolkit](/cdf/deploy/cdf_toolkit/) 데이터 모델링(APM 및 IDM/CDM 모드)을 사용하여 활동을 수집합니다.
* **변환**: RAW 테이블 또는 기타 소스에서 데이터를 변환하여 [CDF 변환](/cdf/integration/)(APM 및 IDM/CDM 모드)를 사용합니다.

## CSV 업로드(APM 모드)를 통해 가져오기

<Info>
  **모드 가용성**: APM 모드 전용입니다. IDM/CDM 모드는 사용자 인터페이스에서 CSV 가져오기를 지원하지 않습니다.
</Info>

CSV를 통해 가져온 활동은 유지 관리에서 생성된 활동처럼 시각화되고 수정될 수 있습니다.

<Steps>
  <Step title="CSV 파일 템플릿을 다운로드하십시오">
    가져온 CSV 파일은 프로젝트별 템플릿에 맞춰야 합니다. **maintain-import-template.csv**를 다운로드하려면:

    1. **활동**으로 이동하여 **활동 추가**를 선택합니다.
    2. **활동 가져오기**를 선택합니다.
    3. **템플릿 다운로드**을 선택합니다.
  </Step>

  <Step title="CSV 파일 템플릿을 작성하십시오">
    CSV 템플릿은 가져온 활동에 제공할 수 있는 가능한 값을 나타내는 단일 행의 값만 포함됩니다. 이 행은 헤더 행이라고 하며 템플릿을 채울 때 제거해서는 안 됩니다.

    <Tip>
      헤더 **행**는 제거해서는 안 되지만, 헤더에서 특정 값을 제거하거나 값의 순서를 변경할 수 있습니다. 예를 들어, 특정 필드가 특정 시나리오에서 가져오는 데 관련이 없다면, 헤더와 후속 행에서 해당 필드를 제거할 수 있습니다. 이로 인해 모든 가져온 활동에서 필드가 비어 있게 됩니다.
    </Tip>

    단일 활동을 가져오려면 템플릿에 새 행을 추가하고 적절한 값을 쉼표로 구분하여 입력하십시오. 새 행의 각 값은 템플릿에서 제공된 해당 헤더 행에 채우고자 하는 값을 포함해야 합니다.
    예를 들어, 템플릿에 다음과 같은 헤더 행이 포함되어 있다면: `title,status,department`, 추가 행이 있는 CSV 파일을 생성하십시오:

    ```csv theme={"languages":{"custom":["/_languages/kuiper.json","../_languages/kuiper.json"]}}
    title,status,department
    비계 세우기,완료,리깅
    ```

    가져올 때 "비계 세우기"라는 제목과 "완료"라는 상태, "리깅"이라는 부서가 있는 활동이 생성됩니다.

    <a id="format-date-fields" />

    ### 날짜 필드 형식 지정

    **유지**의 일부 활동 필드는 날짜를 나타내며, 올바르게 가져오기 위해 특정 형식이 필요합니다. 날짜 필드는 CSV 템플릿에서 `startTime (DD/MM/YYYY)` 형식의 특별한 헤더 값으로 식별할 수 있습니다. 이 예에서 `startTime`는 필드의 이름이고, `DD/MM/YYYY`는 CSV 파일의 후속 행에서 사용해야 하는 날짜 형식입니다.
    예를 들어, 다음 파일을 가져오면 활동이 `startTime`이 2023년 12월 10일로 설정되어 생성됩니다.

    ```csv theme={"languages":{"custom":["/_languages/kuiper.json","../_languages/kuiper.json"]}}
    title,startTime (DD/MM/YYYY)
    비계 세우기,10/12/2023
    ```

    <a id="format-boolean-fields" />

    ### 부울 필드 형식 지정

    **유지**의 일부 활동 필드는 `true` 또는 `false`와 같은 부울 값을 나타냅니다. 부울 필드는 CSV 템플릿에서 `isActive (true/false)` 형식의 특별한 헤더 값으로 식별할 수 있습니다. 이 필드는 `true` 또는 `false`의 두 가지 유효한 값만 가집니다.
    예를 들어, 다음 파일을 가져오면 활동이 `isActive`이 `false`로 설정되어 생성됩니다.

    ```csv theme={"languages":{"custom":["/_languages/kuiper.json","../_languages/kuiper.json"]}}
    제목,활성 상태 (참/거짓)
    비계 설치,거짓
    ```

    <a id="format-values-containing-commas" />

    ### 쉼표가 포함된 값을 형식화하십시오.

    CSV 형식이 쉼표를 사용하여 값을 구분하므로, 활동 필드에도 쉼표가 포함되어야 할 경우 주의하십시오. **유지**는 [RFC 4180 표준](https://www.rfc-editor.org/rfc/rfc4180)에 따라 CSV 파일을 처리하며, 이 표준은 쉼표가 포함된 값을 큰따옴표로 감싸야 합니다.
    예를 들어, 다음 파일을 가져오면 활동이 `도시`가 `Boston, MA`로 설정되어 생성됩니다.

    ```csv theme={"languages":{"custom":["/_languages/kuiper.json","../_languages/kuiper.json"]}}
    제목,도시
    비계 설치,"Boston, MA"
    ```

    <a id="unset-values" />

    ### 값 해제

    특정 활동에 대해 필요하지 않은 활동 필드에서 필드를 비워두어 누락되거나 관련 없는 값을 나타낼 수 있습니다.
    예를 들어, 다음 파일을 가져오면 활동이 `주`가 `New York`로 설정되어 생성되지만, `도시` 필드에는 값이 없습니다.

    ```csv theme={"languages":{"custom":["/_languages/kuiper.json","../_languages/kuiper.json"]}}
    제목,도시,주
    비계 설치,New York
    ```

    <a id="connect-an-activity-to-an-asset" />

    ### 활동을 자산에 연결하십시오.

    **유지**는 활동을 CDF 자산에 연결하는 것을 지원하며, 이는 3D 모델, 문서, PSN 등에서 활동을 맥락화하는 데 사용됩니다. **유지**가 CDF의 자산에 적절한 링크를 생성하려면, 가져오기 템플릿에 CDF 자산의 외부 ID를 제공해야 합니다.
    프로젝트에 자산 맥락화가 있는 경우, 활동의 자산 외부 ID로 채워야 하는 특별한 `assetExternalId` 필드가 템플릿에 있습니다.
    예를 들어, 다음 파일을 가져오고 외부 ID가 `NY_BUILDING_23`인 CDF 자산이 존재한다고 가정하면, 활동은 유지에 수집될 때 이 자산에 맥락화됩니다.

    ```csv theme={"languages":{"custom":["/_languages/kuiper.json","../_languages/kuiper.json"]}}
    제목,assetExternalId
    비계 설치,NY_BUILDING_23
    ```

    제공된 외부 ID가 내보내지 않으면, 사용자는 가져오는 동안 오류를 보게 됩니다.

    <Tip>
      최종 사용자는 활동이 연결된 자산의 외부 ID를 모를 수 있습니다. 최종 사용자에게 가능한 자산과 그 외부 ID 목록을 제공해야 하는 경우, CDF의 [자산 API](/api-reference/concepts/20230101/assets) 또는 기타 데이터 추출기를 사용하여 이 데이터를 검색하는 것을 권장합니다.
    </Tip>
  </Step>

  <Step title="작성된 CSV 파일을 가져오십시오">
    채워진 CSV 템플릿이 준비되면, 이를 **유지**에 가져올 수 있습니다:

    1. **활동**으로 이동 > **활동 추가**.
    2. **활동 가져오기**를 선택합니다.
    3. **가져올 CSV 파일 선택** 필드를 선택하십시오.
    4. 컴퓨터에서 채워진 CSV 파일을 선택하고 업로드하십시오.
    5. **파일 검사기** 섹션을 확인하여 파일이 가져와졌는지 확인하십시오. 가져올 행 수와 경고 또는 오류가 있는 경우 초록색 메시지가 표시되어야 합니다.
    6. 오류가 없으면 **가져오기**를 선택하여 가져오기 프로세스를 시작하십시오.
    7. 가져오기가 성공하면 **활동 표시** 버튼과 함께 초록색 성공 메시지가 표시됩니다.
    8. 선택 사항입니다. **활동 표시**를 선택하여 가져온 활동으로 이동하고 CSV 파일에 따라 올바르게 보이는지 확인하십시오.
  </Step>
</Steps>

## Cognite Toolkit을 통해 가져오기

<Info>
  **모드 가용성**: APM 및 IDM/CDM 모드. 이것은 프로그래밍 방식의 활동 수집을 위한 권장 접근 방식입니다.
</Info>

CDF의 데이터 모델링 기능을 통해 활동을 수집하려면 [Cognite Toolkit](/cdf/deploy/cdf_toolkit/)을 사용하십시오. 이 방법은 두 배포 모드 모두에서 작동하며 버전 관리 및 재현 가능한 배포를 제공합니다.

### 전제 조건

Cognite Toolkit을 통해 활동을 가져오기 전에 다음을 확인하십시오:

* 데이터 모델 공간에 구성된 사용자 정의 활동 뷰(또는 `cdf_idm`의 표준 `CogniteMaintenanceOrder` 뷰 사용)
* `viewMappings` 아래의 유지 관리 구성에서 매핑된 활동 뷰
* [Cognite Toolkit](/cdf/deploy/cdf_toolkit/)에 대한 액세스

### 활동 뷰 매핑 구성

유지 관리 구성에서 `viewMappings` 섹션이 활동 뷰를 가리키는지 확인하십시오:

```json theme={"languages":{"custom":["/_languages/kuiper.json","../_languages/kuiper.json"]}}
{
  "viewMappings": {
    "activity": {
      "type": "view",
      "space": "cdf_idm",
      "version": "v1",
      "externalId": "CogniteMaintenanceOrder"
    }
  }
}
```

사용자가 사용자 정의 활동 뷰(예: `APM_Activity` 또는 `ExtendedActivity`)를 생성한 경우, 매핑을 사용자 정의 뷰를 가리키도록 업데이트하십시오:

```json theme={"languages":{"custom":["/_languages/kuiper.json","../_languages/kuiper.json"]}}
{
  "viewMappings": {
    "activity": {
      "type": "view",
      "space": "maintain_schema_extention",
      "version": "v1",
      "externalId": "APM_Activity"
    }
  }
}
```

[데이터 모델 확장](/cdf/maintain/guides/config#extend-data-models) 및 [뷰 매핑 구성](/cdf/maintain/guides/config#view-mappings)에 대해 자세히 알아보십시오.

### Cognite Toolkit을 사용하여 활동을 수집하십시오.

IDM 모드에서 활동을 수집하는 권장 방법으로 [Cognite Toolkit](/cdf/deploy/cdf_toolkit/)을 사용하십시오.

<Steps>
  <Step title="활동 데이터 구조를 생성하십시오">
    아직 하지 않았다면, 활동을 위한 컨테이너, 뷰 및 노드 YAML 파일을 생성하십시오. 표준 데이터 모델링 구조를 따르십시오:

    * `APM_Activity.Container.yaml` - 컨테이너 스키마를 정의합니다.
    * `APM_Activity.View.yaml` - 뷰 속성과 관계를 정의합니다.
    * `apmActivities.Node.yaml` - 활동 인스턴스를 포함합니다.
      자세한 예제와 템플릿은 [Cognite Toolkit 문서](/cdf/deploy/cdf_toolkit/)를 참조하십시오.
  </Step>

  <Step title="필드 매핑을 구성하십시오">
    활동 노드에 유지 관리에 필요한 필드를 포함하십시오:

    | 필드                | 설명                           | 필수    |
    | ----------------- | ---------------------------- | ----- |
    | `externalId`      | 활동의 고유 식별자                   | 예     |
    | `title`           | 활동 제목                        | 예     |
    | `status`          | 활동 상태(예: "열림", "진행 중", "완료") | 권장    |
    | `startTime`       | 시작 날짜/시간                     | 권장    |
    | `endTime`         | 종료 날짜/시간                     | 권장    |
    | `rootLocation`    | 루트 위치 식별자                    | 권장    |
    | `assetExternalId` | 연결된 자산의 외부 ID                | 선택 사항 |
    | `mainAsset`       | 자산과의 직접 관계                   | 선택 사항 |

    <Tip>
      유지 관리에서 [필드 구성](/cdf/maintain/guides/config#field-configuration) 설정에 따라 추가 필드를 포함하십시오.
    </Tip>
  </Step>

  <Step title="활동을 배포하십시오">
    Cognite Toolkit을 사용하여 활동 데이터를 배포하십시오:

    ```bash theme={"languages":{"custom":["/_languages/kuiper.json","../_languages/kuiper.json"]}}
    cdf deploy --env dev
    ```

    기존 활동을 교체해야 하는 경우 `--drop-data` 플래그를 사용하십시오:

    ```bash theme={"languages":{"custom":["/_languages/kuiper.json","../_languages/kuiper.json"]}}
    cdf deploy --env dev --drop-data
    ```

    [Cognite Toolkit 배포 플래그](/cdf/maintain/guides/config#critical-deployment-flags)에 대해 자세히 알아보십시오.
  </Step>

  <Step title="유지 관리에서 확인하십시오">
    1. [유지 관리](https://maintain.cogniteapp.com)에 로그인하십시오.
    2. **활동**으로 이동하십시오.
    3. 가져온 활동이 올바른 데이터와 함께 나타나는지 확인하십시오.
  </Step>
</Steps>

### 변환을 통해 활동을 수집하십시오.

<Info>
  **모드 가용성**: APM 및 IDM/CDM 모드. 이는 대량 데이터에 권장되는 접근 방식입니다.
</Info>

또는 [CDF 변환](/cdf/integration/)을 사용하여 RAW 테이블 또는 기타 출처의 데이터를 활동 노드로 변환할 수 있습니다.

### 문제 해결

가져온 후 활동에 문제가 발생하면 원인 및 수정 사항에 대한 표를 참조하십시오.

| 문제         | 해결책                                                      |
| ---------- | -------------------------------------------------------- |
| 활동이 보이지 않음 | `viewMappings` 구성에서 올바른 공간, 보기 및 버전을 가리키는지 확인하십시오        |
| 누락된 필드     | 가져오는 모든 필드가 포함되도록 필드 구성을 확인하십시오                          |
| 자산 링크가 끊김  | `assetExternalId` 또는 `mainAsset` 관계가 기존 자산을 가리키는지 확인하십시오 |
| 잘못된 루트 위치  | `rootLocation`이 귀하의 위치 구성과 일치하는지 확인하십시오                  |
