To jest mój kod, aby spróbować przesłać dokumenty do chmury poszukiwaniuFail przesłać dokumenty do AWS cloudsearch pomocą boto.cloudsearch2
from boto.cloudsearch2.layer2 import Layer2
conn_config = {
'region': 'us-east-1',
'aws_access_key_id': os.getenv('AWS_ACCESS'),
'aws_secret_access_key': os.getenv('AWS_SECRET'),
'debug': 2
}
conn = Layer2(**conn_config)
domain = conn.lookup(my_domain)
doc_service = domain.get_document_service()
doc_service.add(my_id, my_fields)
doc_service.commit()
Jest to błąd mam:
Traceback (most recent call last):
line 32, in <module> doc.commit()
File "/Library/Python/2.7/site-packages/boto/cloudsearch2/document.py", line 205, in commit return CommitResponse(r, self, sdf)
File "/Library/Python/2.7/site-packages/boto/cloudsearch2/document.py", line 250, in __init__
self.adds = self.content['adds']
KeyError: 'adds'
co wierzę jest błędem wprowadzającym w błąd. Kiedy dodać tę linię do init,() z /Library/Python/2.7/site-packages/boto/cloudsearch2/document.py wydaje
print self.content
prawdziwy problem pojawia się jako:
{u'status': u'error', u'message': u'User: anonymous is not authorized to perform: cloudsearch:document on resource: arn:aws:cloudsearch:us-east-1:053216739513:domain/dev-audit', u'errors': [{u'message': u'[*Deprecated*: Use the outer message field] User: anonymous is not authorized to perform: cloudsearch:document on resource: arn:aws:cloudsearch: ...'}], u'__type': u'#AccessDenied'}
Wszelkie spostrzeżenia dotyczące sposobu przezwyciężenia tego irytującego błędu uprawnień? Jestem w stanie wyszukiwać z podanym identyfikatorem dostępu i tajnym kluczem, ale nie mogę przesłać !!!
Wszelkie szczęście rozwiązanie tego? Mam ten sam problem. – apardes
@ cocoa, jeśli poniższa odpowiedź rozwiąże problem, zaakceptuj to. W przeciwnym razie wskaż, w jaki sposób nie może go rozwiązać. – tedder42