--- title: "download" slug: "effective-log-search-analytics-download" tags: ["Effective Log Search Analytics"] updated: 2026-10-20T00:51:47Z published: 2026-10-20T03:00:25Z canonical: "api.ncloud-docs.com/effective-log-search-analytics-download" --- > ## Documentation Index > Fetch the complete documentation index at: https://api.ncloud-docs.com/llms.txt > Use this file to discover all available pages before exploring further. # download ## 개요 Effective Log Search & Analytics의 프로젝트별 로그를 다로운드할 수 있습니다. ## 요청 ### API URL ``` POST https://elsa.apigw.ntruss.com/api/v1/logs/download ``` ### 요청 헤더 공통설정에 명시된 요청헤더가 필요합니다. [NAVER Cloud Platform 인증키 및 Signature 생성 가이드 바로가기](https://api.ncloud-docs.com/release-20260917/docs/ko/common-ncpapi) ``` 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 | No | int | | 검색을 종료할 타임스탬프(UTC milliseconds). 미입력시, 요청수신 시점이 자동 입력됩니다. 예시: “to”:1381190400000 | | format | No | string | CSV or JSON | 기본값: JSON 다로운드할 파일 형식 예시: “format”: “CSV” | | limit | No | int | 1 - 1000 | 기본값: 100 요청에 대한 반환할 로그 수 예시:“limit”: 1000 | | count | No | int | 1 - 200000 | 기본값: 100000 총 다운로드 로그 수 예시: “count”: 200000 | | includeFields | No | [string] | | 기본값: 모든 필드 로그를 다로운드할 때 필요한 필드 이름의 리스트 예시: “includeFields”: [“logSource”,” logType”,”body”] | ### 요청 바디 ``` { "projectKey": "Pbxxxxx_elsa-test", "projectId": 16706, "from": 1381190400000, "to": 1381190400000, "format": "JSON", "includeFields": ["logSource","logType","ExceptionType"], "limit": 100, "count": 50000 } ``` ### 요청 예시 ``` 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 = "POST" 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 log_download(): baseurl = "https://elsa.apigw.ntruss.com" #{OpenAPI endpoint} url = "/api/v1​/logs​/download" 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 payload = { "projectKey": "Pbxxxxx_elsa-test", "projectId": 8171, "format": "JSON", "from": 1381190400000, "to": 1381190400000, "includeFields": ["logSource","logType","ExceptionType"], "limit": 100, "count": 50000 } headers = { "x-ncp-apigw-timestamp": str(timestamp), "x-ncp-iam-access-key": access_key, "x-ncp-apigw-signature-v2": str(signature) } response = requests.post(url=url, json=payload, verify=True, headers=headers ) ``` ## 응답 ### 응답 바디 ``` application/zip ```