フォルダ内のS3バケットにelasticsearchインデックスをバックアップしようとしています。AWS Elastic検索の手動バックアップを登録するにはどうすればよいですか?
from boto.connection import AWSAuthConnection
クラスESConnection(AWSAuthConnection):
def __init__(self, region, **kwargs):
super(ESConnection, self).__init__(**kwargs)
self._set_auth_region_name(region)
self._set_auth_service_name("es")
def _required_auth_capability(self):
return ['hmac-v4']
== "メイン" 名前場合:
client = ESConnection(
region='us-east-1',
host='search-weblogs-etrt4mbbu254nsfupy6oiytuz4.us-east-1.es.a9.com',
aws_access_key_id='my-access-key-id',
aws_secret_access_key='my-access-key', is_secure=False)
print 'Registering Snapshot Repository'
resp = client.make_request(method='POST',
path='/_snapshot/weblogs-index-backups/test_dir',
data='{"type": "s3","settings": { "bucket": "es-index-backups","region": "us-east-1","role_arn": "arn:aws:iam::123456789012:role/MyElasticsearchRole"}}')
body = resp.read()
print body
私はパスを登録するには、次のコードを使用しています与えられたパスについて、私はエラーを受け取ります: uriのハンドラが見つかりません[/ _snapshot/weblogs-ind ex-backups/test_dir]とメソッド[POST]
お願いします。
ありがとうございました。
スナップショットレポを登録できません。 {"メッセージ": "ユーザー:arn:aws:iam :::user/には実行権限がありません:es:役割とポリシーはここで(ドキュメントと同じですが) ESHttpPost on resource:elasticsearch "} –
Efren
あなたのiamの役割には間違いがあります。elasticsearchポリシー - あなたのクラスタでiamポリシーを使用していますか?またはあなたのスクリプトは、おそらくすべてのあなたのスクリプト/ポリシーのdetalisで新しい質問を投稿する、それははるかに簡単になります。 – Berlin
それを見つけました、ESアクセスポリシーは、IPを制限していました。ありがとうございました! – Efren