#amazon-web-services #amazon-s3 #amazon-dynamodb
#amazon-веб-сервисы #amazon-s3 #amazon-dynamodb
Вопрос:
Я новичок в стеках cloudformation и линиях передачи данных. Я пытаюсь импортировать свои данные из csv-файла s3 в dynamodb, но как-то очень странно я получаю странную ошибку о
One or more parameter values are not valid. The AttributeValue for a key attribute cannot contain an empty string value. Key: user
В моем случае я использую id в качестве ключа раздела и user в качестве ключа сортировки, которые оба уникальны и никогда не могут быть пустыми. Я также проверил свои данные csv, для ключей также нет пустой строки.
Что я хочу сделать, так это провести некоторое протоколирование, где я могу видеть, какой идентификатор обрабатывается из s3 и успешно импортируется в мой dynamodb. В этом случае я могу узнать, где именно возникает ошибка, и, возможно, знаю, почему это происходит. Не уверен в этом.
Если вы можете дать мне какое-то предложение о том, как я могу вести журнал, я буду вам благодарен!
Спасибо!
Комментарии:
1. Я думаю, вы говорите, что используете конвейер данных для импорта CSV-файла в DynamoDB, а в CSV есть недопустимые данные. Почему бы вам не пойти и не проверить содержимое файла?
2. @jarmod, странно, что с данными все в порядке. В ключах нет пустой строки, ее не может быть.
3. В конвейере данных есть параметры ведения журнала . Но обратите внимание, что существует множество вариантов импорта CSV . Вы пробовали aws-samples / csv-to-dynamodb ?
4. @jarmod Я в конце концов знаю, почему возникает эта ошибка, и пытаюсь найти ответ на нее. Дело в том, что одна из записей в нашей базе данных имеет запятую (,) в имени пользователя, например, имя пользователя: «пользователь, имя». из-за этой запятой в поле username при попытке сопоставить данные из csv в dynamodb происходит сбой. Причина в том, что в качестве новой записи в поле используется имя после запятой. Есть ли у вас предложения по преодолению этой проблемы?
5. Вы говорите, что значение ячейки правильно указано как
"user,name"
? Я бы ожидал, что анализатор CSV обработает это правильно, то есть как одно значение, а не два. Я бы не ожидал, что мне придется избегать этого, например"user,name"
.