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") 사용
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을 지정하여 데이터를 추가