Я хотел бы получить список всех пользователей для трех групп AD на нашем сайте сервера Tableau с помощью пакета TSC. Судя по некоторым ресурсам, я использую Python, как показано ниже.
Первый фрагмент кода возвращает всех пользователей на нашем сайте и экспортирует список в Excel. Второй фрагмент — это моя попытка применить фильтр, который возвращает только пользователей из трех групп AD, но возвращает 0 пользователей.
Наш сайт использует группы AD для предоставления доступа. Мне нужно проверить, имеют ли члены этих трех групп доступ к источнику данных, который использует панель мониторинга. План состоит в том, чтобы получить список пользователей с сервера Tableau и объединить список групп со списком пользователей, имеющих доступ к источнику данных, чтобы вернуть выходные данные, которые будут отмечать экземпляры, в которых я получаю лево только в _merge.Будем очень признательны за любой вклад.
Возвращает всех пользователей на сайт.
import tableauserverclient as TSC
import pandas as pd
tableau_auth = TSC.PersonalAccessTokenAuth('Y14_Dashboard_Update','access-token-xyz',site_id = 'site-name')
server = TSC.Server('https://tableau-site/',use_server_version=True)
with server.auth.sign_in(tableau_auth):
request_options = TSC.RequestOptions(pagesize=1000)
all_users, pagination_item = server.users.get(request_options)
print("\nThere are {} user on site: ".format(pagination_item.total_available))
all_users_on_site = pd.DataFrame({'Users': [user.name for user in all_users]})
all_users_on_site.to_excel(r"C:\\Users\TABLEAU_User_ME\Documents\Projects\Tableau_Users.xlsx", index = False)
Изменено для фильтрации по 3 группам; возвращает 0 пользователей.
import tableauserverclient as TSC
import pandas as pd
tableau_auth = TSC.PersonalAccessTokenAuth('Y14_Dashboard_Update','access-token-xyz',site_id = 'site-name')
server = TSC.Server('https://tableau-server-site/',use_server_version=True)
with server.auth.sign_in(tableau_auth):
request_options = TSC.RequestOptions(pagesize=1000)
request_options.filter.add(TSC.Filter(TSC.RequestOptions.Field.Name,
TSC.RequestOptions.Operator.In,
["AD-Group1","AD-Group2", "AD-Group3"],)
)
matching_groups, pagination_item = server.users.get(request_options)
print("\nThere are {} user on site: ".format(pagination_item.total_available))
all_users_on_site = pd.DataFrame({'Users': [user.name for user in matching_groups]})
all_users_on_site.to_excel(r"C:\\Users\TABLEAU_User_ME\Documents\Projects\Tableau_Users.xlsx", index = False)
Подробнее здесь: https://stackoverflow.com/questions/789 ... rverclient
Получить всех пользователей указанных групп с Tableau Server с помощью TableauServerClient. ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение