Я написал скрипт на Python для вызова API Tableau Rest, и он у меня работает правильно. Он предлагает пользователю ввести свои учетные данные для входа в систему, выбрать сервер, выбрать сайт, выбрать рабочую книгу, а затем найти все необходимые ключи и отправить запрос на обновление экстракта на основе идентификатора рабочей книги. Метод server.workbooks.refresh запускает задание обновления экстракта на сервере Tableau, и я возвращаю jobID из возврата метода.
Далее я хочу создать в скрипте процесс для опроса сервера Tableau с этим идентификатором задания, который ищет время и статус завершения, а затем отправить сообщение о завершении обновления и закрыть скрипт.
Я посмотрел несколько видео на YouTube о том, как выполнять опрос / ожидание в python, но я не уверен, как эти методы могут применяться с использованием сервера таблиц. Я надеялся, что у кого-то есть фрагмент кода для выполнения этого опроса, связанного с процессом сервера таблиц?
with server.auth.sign_in(tableau_auth):
get_sites(server)
print(selected_site_id)
#tab_site = selected_site_id
# Get all projects on site
get_projects(server)
if input_resource_type.lower() == 'workbook':
# Get a list of workbooks
get_workbooks(server)
results = server.workbooks.refresh(selected_workbook_id)
print("refresh results: " + str(results))
Я хочу, чтобы скрипт python продолжал работать, пока задача, связанная с JobID на Сервере таблиц, не будет завершенаи имеет успешный код состояния.
В настоящее время код просто запускает задачу обновления экстракта на сервере и возвращает JobID.