OpenSearch에 데이터 적재하기

최윤·2025년 3월 20일

AI

목록 보기
2/2

1️⃣ REST API를 사용하여 데이터 적재 (기본)

OpenSearch는 RESTful API를 제공하므로, POST 또는 PUT 요청을 통해 데이터를 추가할 수 있습니다.

import requests
import json

# OpenSearch 엔드포인트 (Amazon OpenSearch Service 또는 자체 OpenSearch)
OPENSEARCH_URL = "https://your-opensearch-endpoint.com"

# 인덱스 이름
INDEX_NAME = "my-index"

# 추가할 데이터
data = {
    "id": 1,
    "name": "OpenSearch Test",
    "category": "Search Engine",
    "timestamp": "2025-03-20T12:00:00"
}

# 데이터 적재 (POST 요청)
response = requests.post(
    f"{OPENSEARCH_URL}/{INDEX_NAME}/_doc",
    headers={"Content-Type": "application/json"},
    data=json.dumps(data),
    auth=("your-username", "your-password")  # 인증 정보 필요할 경우
)

print(response.json())  # 응답 출력

📌 설명

OpenSearch 인덱스(my-index)에 데이터를 추가 (_doc 사용)
POST 요청을 사용하여 자동으로 ID 할당됨
인증이 필요한 경우 auth=("username", "password") 사용

2️⃣ Boto3를 사용하여 AWS OpenSearch에 데이터 적재

import boto3
import json

# AWS 클라이언트 생성
opensearch = boto3.client("opensearch")

# OpenSearch 인덱스
INDEX_NAME = "my-index"

# 추가할 데이터
document = {
    "id": 2,
    "name": "AWS OpenSearch Data",
    "category": "Cloud",
    "timestamp": "2025-03-20T13:00:00"
}

# OpenSearch에 데이터 적재
response = opensearch.index(
    DomainName="your-opensearch-domain",
    IndexName=INDEX_NAME,
    Id="2",
    Document=json.dumps(document)
)

print(response)

📌 설명

AWS boto3 SDK를 사용하여 OpenSearch에 데이터 추가 가능
DomainName에는 AWS OpenSearch의 도메인 이름 입력
OpenSearch에서 IndexName을 지정하여 데이터를 추가

0개의 댓글