В настоящее время я тестирую клиент Python для создания API хранилища BigQuery на примере краткого руководства (документация, код). Попытка не удалась из-за ошибки, указывающей на то, что у пользователя нет разрешения на доступ к ресурсу или он пытается получить доступ к несуществующему ресурсу, хотя у пользователя есть достаточный доступ к набору данных/таблице, а целевая таблица действительно существует (поскольку запуск bigquery.Client. Insert_rows в той же таблице работает!):
Код: Выделить всё
google.api_core.exceptions.PermissionDenied: 403 Permission 'TABLES_UPDATE_DATA' denied on resource '[RESOURCE_PATH]' (or it may not exist).
Я думаю, это связано с тем, что библиотека выбирает настройки по умолчанию (что-то вроде «us-east1») вместо региона, в котором фактически находится таблица, что часто встречается при использовании и разработке BigQuery. Когда я читаю документацию Python SDK, возникает проблема:
Код: Выделить всё
# - It may require specifying regional endpoints when creating the service
# client as shown in:
# https://googleapis.dev/python/google-api-core/latest/client_options.html
В отличие от клиентского SDK BigQuery, который предоставляет возможность указать имя региона, в документации Storage API указано только, что пользователь может указать регион, перезаписав параметры клиента Google API и... все. Я знаю, что api_endpoint может работать, но какую именно конечную точку в регионе я использую?
Подробнее здесь:
https://stackoverflow.com/questions/793 ... api-client