Kraken api - get token with python

Kraken api - get token with python an example of how you can generate a WebSocket authentication token using Python for Kraken's API: ```python import time import base64 import hashlib import hmac import urllib.request import json # Replace with your Kraken API public and private keys api_key = 'YOUR_API_PUBLIC_KEY' api_secret = 'YOUR_API_PRIVATE_KEY' # API endpoint and parameters api_path = '/0/private/GetWebSocketsToken' api_nonce = str(int(time.time() * 1000)) api_post = 'nonce=' + api_nonce # Create the SHA256 hash api_sha256 = hashlib.sha256(api_nonce.encode('utf-8') + api_post.encode('utf-8')).digest() # Create the HMAC signature api_hmac = hmac.new(base64.b64decode(api_secret), api_path.encode('utf-8') + api_sha256, hashlib.sha512) api_signature = base64.b64encode(api_hmac.digest()) # Create the request api_request = urllib.request.Request('https://api.kraken.com' + api_path, api_post.encode('utf-8')) ap

KrakenD API Gateway - krakend.json 파일의 기본 구조

KrakenD의 설정 파일인 `krakend.json`은 KrakenD API Gateway의 동작을 정의하는 중요한 파일입니다. 


이 파일의 구조와 주요 요소를 설명해 드릴게요.


### krakend.json 파일의 기본 구조

```json

{

  "$schema": "https://www.krakend.io/schema/v2.7/krakend.json",

  "version": 3,

  "endpoints": [],

  "extra_config": {}

}

```

- **$schema**: 선택 사항으로, IDE 통합을 통해 자동 완성 및 문서를 사용할 수 있게 합니다.

- **version**: 필수 항목으로, 설정 파일 형식의 버전을 나타냅니다. 현재 버전은 3입니다.

- **endpoints**: API 게이트웨이가 제공하는 엔드포인트와 관련된 백엔드 및 설정을 정의하는 배열입니다.

- **extra_config**: Lura 프로젝트의 핵심 기능이 아닌 서비스 구성 요소의 설정을 저장합니다².


### 엔드포인트 설정

엔드포인트는 게이트웨이가 사용자에게 제공하는 URL을 정의합니다. 각 엔드포인트는 최소 하나 이상의 백엔드를 선언해야 합니다.

```json

{

  "endpoints": [

    {

      "endpoint": "/v1/foo-bar",

      "backend": [

        {

          "url_pattern": "/foo",

          "host": ["https://my.foo-api.com"]

        },

        {

          "url_pattern": "/bar",

          "host": ["https://my.bar-api.com"]

        }

      ]

    }

  ]

}

```

위의 예시는 `/v1/foo-bar` 엔드포인트를 선언하며, 두 개의 백엔드 `https://my.foo-api.com/foo`와 `https://my.bar-api.com/bar`의 응답을 병합하여 반환합니다².


### 추가 구성 (extra_config)

KrakenD는 매우 모듈화되어 있으며, Lura 프로젝트의 핵심 기능을 확장하는 여러 구성 요소와 함께 제공됩니다. `extra_config`는 이러한 구성 요소의 설정을 저장합니다.

```json

{

  "extra_config": {

    "component-1-namespace": {

      "some": "config"

    },

    "component-2-namespace": {}

  }

}

```

예를 들어, 확장 로깅 구성 요소는 `telemetry/logging` 네임스페이스를 사용합니다².


이렇게 `krakend.json` 파일을 작성하여 KrakenD API Gateway의 동작을 정의할 수 있습니다. 추가로 궁금한 점이 있으면 언제든지 물어보세요! 😊


²: [Configuration Structure | KrakenD API Gateway](https://www.krakend.io/docs/configuration/structure/)


원본: Copilot과의 대화, 2024. 11. 2.

(1) Configuration Structure | KrakenD API Gateway. https://www.krakend.io/docs/configuration/structure/.

(2) Configuration Guide for KrakenD API Gateway. https://www.krakend.io/docs/configuration/.

(3) krakend-documentation/configuration/flexible-config.md at master - GitHub. https://github.com/krakend/krakend-documentation/blob/master/configuration/flexible-config.md.

(4) KrakenDesigner - KrakenD configuration editor. https://designer.krakend.io/.

(5) undefined. https://www.krakend.io/schema/v2.7/krakend.json.

(6) undefined. https://my.foo-api.com.

(7) undefined. https://my.bar-api.com.

(8) undefined. https://my.foo-api.com/foo.

(9) undefined. https://my.bar-api.com/bar.

(10) undefined. http://www.krakend.io/docs/.

(11) github.com. https://github.com/devopsfaith/krakend-documentation/tree/183b9da7c79bd4f894cf725fc073b0e8f18f16de/v1.3%2Fconfiguration%2Fstructure.md.

댓글

이 블로그의 인기 게시물

SSL/TLS 인증서 오류를 해결- 리눅스명령모음 - SSL certificate problem

(truffle 환경 설정) 스마트 계약 배포 와 truffle deploy 오류 해결 - Error: Could not find artifacts for SimpleStorage from any sources

자기주권 신원 (SSI Self-Sovereign Identity) 인증의 발전 그리고 정보 민주화 (Information Democratization)