fields

Prev Next

개요

Effective Log Search & Analytics의 프로젝트별 로그의 필드를 조회할 수 있습니다.

해당 API를 통해 지정 기간 내에 존재한 로그의 필드를 조회할 수 있습니다.
‘.raw’ 가 붙이는 필드는 /api/v1/logs/search 의 sorts 기능 이용 시에만 필드 뒤에 ‘.raw’를 붙여서 이용을 하면 됩니다.

요청

API URL

GET
https://elsa.apigw.ntruss.com/api/v1/fields

요청 헤더

공통설정에 명시된 요청헤더가 필요합니다.

NAVER Cloud Platform 인증키 및 Signature 생성 가이드 바로가기

x-ncp-apigw-timestamp: {current timestamp}
x-ncp-iam-access-key: {your iam access key}
x-ncp-apigw-signature-v2: {generated signature}

요청 파라미터

파라미터명 필수여부 타입 제약사항 설명
projectKey Yes string 1-53 프로젝트 키

예시:
"projectKey":"Pxxxxxx_test"
projectId Yes int Project Id

예시:
“projectId”:8181
from Yes int 검색을 시작할 타임스탬프(UTC milliseconds).

예시:
“from”:1381190400000
to Yes int 검색을 종료할 타임스탬프(UTC milliseconds).

예시:
“to”:1381190400000
### 요청 바디
?projectKey=Pbxxxxx_elsa-test&projectId=8171&from=1381190400000&to=1381190400000

요청 예시

import hashlib
import hmac
import base64
import time
import requests

def make_signature(access_key, secret_key, timestamp, url):
    timestamp = str(timestamp)
    secret_key = bytes(secret_key, 'UTF-8')
    method = "GET"

    message = method + " " + url + "\n" + timestamp + "\n" + access_key
    message = bytes(message, 'UTF-8')
    signingKey = base64.b64encode(hmac.new(secret_key, message, digestmod=hashlib.sha256).digest())
    return signingKey.decode('UTF-8')


def fields():
    baseurl = "https://elsa.apigw.ntruss.com" #{OpenAPI endpoint}
    url = "/api/v1/fields?projectKey=Pbxxxxx_elsa-test&projectId=8171&from=1381190400000&to=1381190400000"

    access_key = "accessKey" #{Main / Sub Account Access Key}
    secret_key = "secretKey" #{Main / Sub Account Secret Key}
    timestamp = int(time.time() * 1000)

    signature = make_signature(access_key, secret_key, timestamp, url)

    url = baseurl + url
    headers = {
        "x-ncp-apigw-timestamp": str(timestamp),
        "x-ncp-iam-access-key": access_key,
        "x-ncp-apigw-signature-v2": str(signature)
    }

    response = requests.get(url=url,
                  verify=True,
                  headers=headers
                  )

응답

응답 바디

{
"data":[
	"Platform.raw","projectKey","body.raw"
	],
"status":200
}