django -asticsearch-dsl с AWS эластичным поиском - PullRequest
0 голосов
/ 14 октября 2019

Я пытаюсь использовать AWS ElasticBeanStalk для развертывания приложения Django, используя django-elasticsearch-dsl, и мне нужно запустить ./manage.py search_index --rebuild при первой загрузке. Итак, в моих командах контейнера у меня есть:

03_elasticsearch:
  command: "source /opt/python/run/venv/bin/activate && ./src/manage.py search_index --rebuild"

Проблема в том, что он ожидает / Y для вопроса Are you sure you want to delete the 'hjsm-local' indexes? [n/Y]:

Как мне перестроить свои индексы?

ОБНОВЛЕНИЕ

Когда я использую

03_elasticsearch:   
    command: "source /opt/python/run/venv/bin/activate && ./src/manage.py search_index --rebuild -f"

Я получаю эту ошибку

Traceback (most recent call last):
  File "./src/manage.py", line 10, in <module>
  execute_from_command_line(sys.argv)
  File "/opt/python/run/venv/local/lib64/python3.6/site-packages/django/core/management/__init__.py", line 381, in execute_from_command_line
  utility.execute()
  File "/opt/python/run/venv/local/lib64/python3.6/site-packages/django/core/management/__init__.py", line 375, in execute
  self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/opt/python/run/venv/local/lib64/python3.6/site-packages/django/core/management/base.py", line 316, in run_from_argv
  self.execute(*args, **cmd_options)
  File "/opt/python/run/venv/local/lib64/python3.6/site-packages/django/core/management/base.py", line 353, in execute
  output = self.handle(*args, **options)
  File "/opt/python/run/venv/local/lib/python3.6/site-packages/django_elasticsearch_dsl/management/commands/search_index.py", line 134, in handle
  self._rebuild(models, options)
  File "/opt/python/run/venv/local/lib/python3.6/site-packages/django_elasticsearch_dsl/management/commands/search_index.py", line 114, in _rebuild
  self._create(models, options)
  File "/opt/python/run/venv/local/lib/python3.6/site-packages/django_elasticsearch_dsl/management/commands/search_index.py", line 84, in _create
  index.create()
  File "/opt/python/run/venv/local/lib/python3.6/site-packages/elasticsearch_dsl/index.py", line 102, in create
  self.connection.indices.create(index=self._name, body=self.to_dict(), **kwargs)
  File "/opt/python/run/venv/local/lib/python3.6/site-packages/elasticsearch/client/utils.py", line 69, in _wrapped
  return func(*args, params=params, **kwargs)
  File "/opt/python/run/venv/local/lib/python3.6/site-packages/elasticsearch/client/indices.py", line 110, in create
  params=params, body=body)
  File "/opt/python/run/venv/local/lib/python3.6/site-packages/elasticsearch/transport.py", line 327, in perform_request
  status, headers, data = connection.perform_request(method, url, params, body, ignore=ignore, timeout=timeout)
  File "/opt/python/run/venv/local/lib/python3.6/site-packages/elasticsearch/connection/http_urllib3.py", line 110, in perform_request
  self._raise_error(response.status, raw_data)
  File "/opt/python/run/venv/local/lib/python3.6/site-packages/elasticsearch/connection/base.py", line 114, in _raise_error
  raise HTTP_EXCEPTIONS.get(status_code, TransportError)(status_code, error_message, additional_info)
  elasticsearch.exceptions.TransportError: <exception str() failed>
   (ElasticBeanstalk::ExternalInvocationError)

1 Ответ

1 голос
/ 14 октября 2019

Согласно исходному коду , включите в команду параметр -f, чтобы принудительно принять приглашение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...