본문 바로가기
Tableau 흡수내용

[Tableau(태블로)]TSC(Tableau Server Client)로 Tableau Server 관리하기

by Mr.noobiest 2022. 8. 31.

Python의 라이브러리중 Tableau Server Client라는  라이브러리가 있다,

 

TSC라는 줄임말로 주로 사용하는데, 해당 라이브러리를 사용하여 Tableau Server의 거의 모든 기능들을 코드로 작성가능하다.

 

csv 형태의 데이터 원본을 서버로 업로드하거나 hypter로 변경된 데이터 원본을 전송하거나, 유저 관리도 가능하다.

 

또한 해당 코드를 사용하고 Django로 간단한 사이트를 만들어 유저 관리도 가능하다.

 

구현하는데 시간이 걸리겠지만 구현만 된다면 사용자가 원하는 형태로 Tableau Server사용이 가능하다고 본다.

 

이번엔 TSC에서 제공하는들중 유저목록을 리스트 형태로뽑는 방법을 기재할것이다.

 

---TSC로 Tableau Server의 유저 목록 뽑아오기---

import tableauserverclient as TSC

tableau_auth = TSC.TableauAuth('사용자ID(관리자 아이디를 쓰는게 편하다)',
                               '비밀번호', site_id = '')
server = TSC.Server('http://Tableau server의 URL주소/',
                    use_server_version=True)
server.auth.sign_in(tableau_auth)

 

request_options = TSC.RequestOptions(pagesize=1000) //<- 기본적으로 TSC는 최대 갯수가 100개로 한정되어 있다, pagesize의  값을 수정하여 최대표시 갯수를 원하는 대로 정할 수 있고 100개 이상인 경우에도 지정한 갯수만큼 표시가 가능하다.

with server.auth.sign_in(tableau_auth):
    all_users, pagination_item = server.users.get(req_options=request_options)
    print("\nThere are {} user on site: ".format(pagination_item.total_available))
    print([user.name for user in all_users])
    

 

 

이렇게 뽑아온 데이터를 csv파일로 export하거나 별도의 사이트에 업로드할 수도 있다.

 

 

이번엔 유저를  추가해보자

import tableauserverclient as TSC

tableau_auth = TSC.TableauAuth('사용자ID(관리자 아이디를 쓰는게 편하다)',
                               '비밀번호', site_id = '')
server = TSC.Server('http://Tableau server의 URL주소/',
                    use_server_version=True)
server.auth.sign_in(tableau_auth)


### 이 부분에 저장하는것인데 비밀번호 설정은 나중에 추가할것이다.
new_user = TSC.UserItem(name='Cassie', site_role='Viewer', auth_setting='ServerDefault')
server.users.add(new_user)

위의 코드를 실행하면 Cassie라는 이름으로 Viwer 관리자로 사용자가 추가된다.

728x90
반응형