Я получил то же сообщение об ошибке, но в несколько ином контексте. Я не смог найти ответы на свой вопрос, поэтому подумал о том, чтобы оставить здесь подсказку.
Отслеживание не сильно помогло:
File "/user_code/main.py", line 198, in execute
errors = client.insert_rows(table, row)
File "/env/local/lib/python3.7/site-packages/google/cloud/bigquery/client.py", line 2113, in insert_rows
json_rows = [_record_field_to_json(schema, row) for row in rows]
File "/env/local/lib/python3.7/site-packages/google/cloud/bigquery/client.py", line 2113, in <listcomp>
json_rows = [_record_field_to_json(schema, row) for row in rows]
File "/env/local/lib/python3.7/site-packages/google/cloud/bigquery/_helpers.py", line 415, in _record_field_to_json
record[subname] = _field_to_json(subfield, subvalue)
File "/env/local/lib/python3.7/site-packages/google/cloud/bigquery/_helpers.py", line 444, in _field_to_json
return _repeated_field_to_json(field, row_value)
File "/env/local/lib/python3.7/site-packages/google/cloud/bigquery/_helpers.py", line 386, in _repeated_field_to_json
values.append(_field_to_json(item_field, item))
File "/env/local/lib/python3.7/site-packages/google/cloud/bigquery/_helpers.py", line 447, in _field_to_json
return _record_field_to_json(field.fields, row_value)
File "/env/local/lib/python3.7/site-packages/google/cloud/bigquery/_helpers.py", line 414, in _record_field_to_json
subvalue = row_value[subindex]
IndexError: string index out of range
Я запускал скрипт, который вставлял строку в BigQuery в структуре с правильным порядком столбцов, значениями и типами данных . Сценарий выбрал соответствующий набор данных и таблицу. Если таблица не существует, то она создаст ее , и это было проблемой.
Во время создания таблицы я предоставил определенное количество столбцов в ее схеме, но вскоре после этого добавил еще два столбца в ее схему вместо прямого изменения структуры таблицы. Поэтому порядок столбцов был правильным, вставленные строки соответствовали типам данных, но таблица была создана не со всеми столбцами вставленной строки:
IndexError: string index out of range
Решением было удаление и воссоздав таблицу с нужной схемой . Это работает как шарм!