---
title: 고급 설정
slug: api-guide/ko/uzh52gtbmaSyev-kFemIr
docTags: 
createdAt: 2024-12-16T12:50:01.000Z
---

:::hint{type="info"}
### 이 페이지를 꼭 읽어야 하나요?

[빠른 시작](docId\:J6rPQVoRf7BE4nA1DSk2P) 페이지를 이미 읽으셨다면 **일반적으로 이 페이지를 읽지 않으셔도 됩니다.** 이 페이지는 더 자세한 배경 정보를 다룹니다.
:::

Kognic은 고객 대상 서비스에 대한 HTTP API와, Python 코드에서 API 호출을 간편하게 할 수 있도록 기본 API 호출을 감싸주는 API 클라이언트 라이브러리([`kognic-io`](https://pypi.org/project/kognic-io/))를 제공합니다.

## 인증

인증은 requests 라이브러리를 기반으로 Kognic 인증의 토대를 제공하는 Python 3 라이브러리인 [kognic-auth](https://pypi.org/project/kognic-auth/)를 통해 처리됩니다.

이 인증은 표준 OAuth 2.0 Client Credentials 플로우를 기반으로 합니다. API 클라이언트에 인증 자격 증명을 제공하는 방법에는 몇 가지가 있습니다. kognic-query나 kognic-io와 같은 Kognic Python 클라이언트는 명시적으로 설정할 수 있는 `auth` 파라미터를 받습니다. 또는 Kognic 자격 증명 파일을 가리키는 환경 변수를 설정할 수도 있습니다. 아래 예제를 참고하세요.

## 자격 증명 생성하기

Kognic Client ID와 Kognic Client secret이 포함된 자격 증명 파일은 [Kognic 웹 애플리케이션](https://app.kognic.com)에서 사용자 메뉴의 "Api Credentials..."(API 자격 증명) 항목을 클릭한 다음 "Generate Credentials"(자격 증명 생성) 버튼을 클릭하여 생성할 수 있습니다.

::Image[]{src="https://api.archbee.com/api/optimize/wLEz_RbWP6nIMpY-prjlm/G6e0fG28Y_oKoaAHuu_A__creds-en.png" size="60" width="470" height="298" position="center" darkWidth="470" darkHeight="298" showCaption="false"}

자격 증명 파일은 `~/.config/kognic/credentials.json`과 같이 적절한 디렉터리에 저장해야 합니다.

## 예제

auth에 자격 증명을 설정하는 방법은 **몇 가지**가 있습니다.

- 환경 변수 `KOGNIC_CREDENTIALS`를 Kognic 자격 증명 파일을 가리키도록 설정: `export KOGNIC_CREDENTIALS=~/.config/kognic/credentials.json` 명령 실행
- 환경 변수 `KOGNIC_CLIENT_ID` 및 `KOGNIC_CLIENT_SECRET` 설정
- `auth` 파라미터를 자격 증명 파일 경로로 설정, 예: `auth="~/.config/kognic/credentials.json"`
- `auth` 파라미터를 자격 증명 튜플로 설정, 예: `auth=(<client_id>, <client_secret>)`

기본적으로 Kognic API 클라이언트는 환경 변수에 설정된 자격 증명을 사용합니다. 환경 변수가 올바르게 설정되어 있다고 가정할 때, 인증된 kognic-io 클라이언트를 만들려면 다음과 같이 하면 됩니다.

```python
from kognic.io.client import KognicIOClient

api_client = KognicIOClient()
```

그렇지 않으면 다음과 같이 자격 증명을 명시적으로 재정의할 수 있습니다.

```python
from kognic.io.client import KognicIOClient

api_client = KognicIOClient(auth="~/.config/kognic/credentials.json")
```

내부적으로는 위 방식 모두 자동 토큰 갱신 기능을 갖춘 requests 세션을 구현한 AuthSession 클래스를 사용합니다.

## 워크스페이스 지정하기

kognic-io v2.4.0부터 데이터를 업로드할 때 사용할 워크스페이스를 지정할 수 있으며, 여러 워크스페이스에 접근 권한이 있는 사용자의 경우 이 지정이 필수입니다.

데이터를 업로드할 워크스페이스를 찾으려면 드롭다운에서 선택하세요.

![](https://api.archbee.com/api/optimize/wLEz_RbWP6nIMpY-prjlm/DTPYjC4_WktFnmJ-qsTZ8_workspace-drop-down.png)

"Workspace management"(워크스페이스 관리) 항목을 클릭하세요.

![](https://api.archbee.com/api/optimize/wLEz_RbWP6nIMpY-prjlm/QDi3AkOWfx287pjAuLS5W_workspace-management.png)

그리고 오른쪽 상단에서 복사 옵션을 찾으세요.

![](https://api.archbee.com/api/optimize/wLEz_RbWP6nIMpY-prjlm/f63R2_2LM1c4kZEd6_HWz_copy-workspace-id.png)

이제 kognic-io 클라이언트를 생성할 때 이 id를 지정할 수 있으며, 이는 *데이터를 업로드*할 때 사용됩니다.

```python
from kognic.io.client import KognicIOClient

api_client = KognicIOClient(write_workspace_id=<Some workspace uuid>)
```

## 프록시 설정

조직의 네트워크 정책상 HTTP(S) 트래픽을 특정 호스트를 통해 프록시해야 하는 경우, 이는 운영체제 또는 실행 환경을 통해 설정해야 합니다. `kognic-io`는 Python의 `urllib`를 사용하며, 이는 [운영체제와 환경 변수에서 프록시 설정을 자동으로 가져옵니다](https://docs.python.org/3/library/urllib.request.html#urllib.request.getproxies).

사용해야 할 올바른 프록시 호스트/주소는 조직의 네트워크 구성에 따라 다르므로, 자세한 내용은 내부 IT 지원팀에 문의하세요.

예를 들면:

```text
export HTTPS_PROXY='http://10.9.8.7:1234'
```
