Amazon CloudSearch создает нулевой идентификатор из DynamoDB

Я пытаюсь начать работу с Amazon CloudSearch. У меня есть данные в таблице DynamoDB, которые я хочу найти. Мне удалось настроить домен облачного поиска, и он вытащил поля из таблицы и позволил мне установить их и т. Д. Однако я пошел загружать данные, и у меня возникли некоторые проблемы. Я сказал ему, что нужно извлечь таблицу DynamoDB, и он сделал это, и сказал мне, что нашел элементы, и я нажал на импорт, но это дает мне ошибки о необходимости хотя бы одного поля и необходимости иметь ненулевой идентификатор.

Я загрузил список документов, которые он пытается загрузить, и вижу, что это (или подобное) довольно часто повторяется во всех документах:

{
    "type": "add",
    "id": "null",
    "fields": {

    }
  },
  {
    "type": "add",
    "id": "null",
    "fields": {
      "libraries": "721409e7-5fca-495d-a625-a5bc5f4a0434~d8ccd611-ae75-418b-91a3-13dd57d46934",
      "shadecolor": "170-98-104",
      "objecttype": "20",
      "timestamp": "2017-01-25T22:43:53.672Z"
    }
  },

Очевидно, я вижу, что один из этих документов имеет нулевой идентификатор и вообще не имеет полей, а другой имеет поля, но не имеет идентификатора, который, по-видимому, является проблемой. Однако я понятия не имею, откуда берутся эти данные и почему они их генерируют. Идентификатор - это мой хеш-ключ DynamoDB, поэтому он не может быть нулевым, иначе Dynamo его не примет. Я просмотрел свои данные Dynamo и не могу найти таких данных ...

Может ли кто-нибудь сказать мне, что здесь может происходить, и как лучше всего с этим справиться, чтобы передать мои данные в CloudSearch?


person sfaust    schedule 02.02.2017    source источник
comment
На данный момент я закончил тем, что использовал API для создания документов, а затем загрузил их таким образом; но похоже, что их тоже можно будет выгружать через консоль; не понимаю, почему он генерирует все странные документы с нулевым идентификатором ... Способ API работает для меня, но мне все еще интересно узнать, знает ли кто-нибудь, почему это происходит ...   -  person sfaust    schedule 06.02.2017
comment
У меня такие же проблемы через интерфейс командной строки. Единственное, что я могу сказать, это то, что некоторые из моих данных имеют дополнительные поля, и если CS выбирает подмножество, которое не содержит дополнительных полей, он может задохнуться, когда попадет в документ с большим количеством полей, чем он ожидал. Подходит ли это и к вашему случаю?   -  person kfblake    schedule 23.03.2017
comment
Возможно, мне нужно было бы посмотреть на это наверняка, но у меня есть несколько полей, которые не на каждом объекте, чтобы могла быть разница ... Я перешел к их генерации через API, поскольку требования стали усложняться, поэтому На самом деле я не тратил много времени на работу над этим, поскольку API, похоже, в порядке.   -  person sfaust    schedule 23.03.2017
comment
Для записи, моя проблема заключалась в атрибутах карты. Любые документы с атрибутом Map нарушили преобразование AWS CLI в формат импорта, готовый к CloudSearch. Есть обходной способ решить эту проблему, но он трудоемок и лучше всего подходит только для большого одноразового импорта.   -  person kfblake    schedule 23.03.2017
comment
Вы, ребята, поняли это? Я столкнулся с той же проблемой и понятия не имею, как это сделать.   -  person ASR4    schedule 26.06.2019
comment
В любом случае нам пришлось настраивать создание объектов через API по другим причинам, поэтому мы это сделали. К сожалению, так и не понял, почему это происходит.   -  person sfaust    schedule 26.06.2019
comment
О, это печально: / Можете ли вы поделиться каким-либо документом, в котором рассказывается об использовании DynamoDB для загрузки данных в CloudSearch с помощью API? Я не встречал ничего, что конкретно использовало бы Dynamo db в качестве источника для загрузки с использованием API.   -  person ASR4    schedule 27.06.2019
comment
Нет, в конечном итоге мы решили, что нам нужны несколько иные свойства для облачного поиска, поэтому у нас просто есть DynamoDB для извлечения данных, и мы вручную создаем документы CloudSearch с нужными нам свойствами и загружаем их.   -  person sfaust    schedule 27.06.2019