
Elasticsearch에 S3 리포지토리를 등록하는 방법
안녕하세요, AWS Opensearch용 스냅샷 리포지토리로 AWS S3 버킷을 등록하도록 설계한 작은 파이썬 함수와 공유하고 싶습니다.
튜토리얼이 마음에 드셨으면 좋겠습니다. 추천을 해주시면 감사하겠습니다! 다음 튜토리얼을 놓치지 않으려면 myNewletter 를 구독할 수도 있습니다.
멋진 디자인을 해주신 Clark Tibbs에게 감사의 인사를 전합니다 [사진]
import boto3
import requests
from requests_aws4auth import AWS4Auth
region = 'eu-central-1'
service = 'es'
role_arn = "arn:aws:iam::<accountid>:role/EsSnapshotRole"
host = '<elasticsearch Endpoint>'
path = '/_snapshot/moo-es-snapshots'
url = host + path
credentials = boto3.Session(profile_name="moo-stag-es").get_credentials()
awsauth = AWS4Auth(credentials.access_key, credentials.secret_key, region, service, session_token=credentials.token)
#Register repository
payload = {
"type": "s3",
"settings": {
"bucket": "<bucket-name>",
"region": region,
"role_arn": ""
}
}
headers = {"Content-Type": "application/json"}
try:
r = requests.put(url, auth=awsauth, json=payload, headers=headers)
print(r.status_code)
print(r.text)
except Exception as e:
print(e)
튜토리얼이 마음에 드셨으면 좋겠습니다. 추천을 해주시면 감사하겠습니다! 다음 튜토리얼을 놓치지 않으려면 myNewletter 를 구독할 수도 있습니다.
미디어 속성
멋진 디자인을 해주신 Clark Tibbs에게 감사의 인사를 전합니다 [사진]