SPSD key를 발급받아 API이용하기

작성자 김민태 수정일 2022-10-17 16:43

#스파클링소다, #API, #스파클링소다3.0, #스파클링소다3, #SparklingSoDA

아티클 관련 제품: SparklingSoDA

들어가며

  • 일반적으로 스파클랑소다 API 사용시 로그인이 되어 있지 않으면 인증 토큰 및 키를 요구하게 됩니다.  
  • 인증키를 발급받지 않으면 스파클링소다에서 기본적으로 제공하는 API기능을 외부에서 호출 시 denay 되게 됩니다.



인증 API key 생성 후 사용하기



약 아래와 같은 화면의 출력 결과를 데이터만 API로 호출하고 싶다면 아래와 같은 방법으로 호출 가능합니다.







호출하는 주소는 getAllPodStatus인 것을 확인할 수 있습니다




API 기능을 이용하여 호출해보겠습니다.


curl -X GET "https://www.sparklingsoda.ai/api/project/getAllPodStatus" -H "accept: application/json" --insecure 

{"messages":{"code":-9,"message":"No User information"}} 

↑ 위와 같이 message":"No User information" 에러가 발생합니다.




먼저 관리자 페이지의 key 메뉴에서 토큰을 발급받습니다. 


- Open API메뉴의 key메뉴로 이동합니다 



Client 명 추가 버튼을 누릅니다. 




사용할 이름을 입력 후 API Key를 생성합니다. 



아래와 같이 API Key가 생성 된 것을 확인할 수 있습니다. 





해당 Key를 이용하여 다시 한번 getAllPodStatus 데이터를 호출해보겠습니다.


curl -X GET "https://www.sparklingsoda.ai/v1/dockerimage/getAllList" -H "accept: application/json" -H "SPSD-API-KEY: YjY2NmQ0MWItMjU4NS0zOGViLWFiNDQtNmM1ZTZiMGViZjA1" --insecure  

{"messages":{"code":1,"message":"succ"},"datasets":{"ds_dockerimage":[{"id":1,"name":"jupyterhub-mmocr","docker_image_name":"jupyterhub-py37-mmocr-1-0-7","docker_image_repo":"jupyterhub-py37-mmocr","docker_image_version":"1.0","description":"","analytic_language":"PYTHON","lang_version":"3.7.9","os_desc":null,"gpu_desc":"CUDA 10.1","tool_name":"JupyterHub","tool_path":"/external-api/loginJupyterHub","repository_id":2,"os_name":"ubuntu 18.04"},{"id":2,"name":"jupyterhub-1.2","docker_image_name":"jupyterhub-1-2-7","docker_image_repo":"jupyterhub","docker_image_version":"1.2","description":"","analytic_language":"PYTHON","lang_version":"","os_desc":null,"gpu_desc":"","tool_name":"JupyterHub","tool_path":"/external-api/loginJupyterHub","repository_id":1,"os_name":"ubuntu 16.04"},{"id":3,"name":"rstudio1_4","docker_image_name":"rstudio-1-4-1","docker_image_repo":"rstudio","docker_image_version":"1.4","description":"","analytic_language":"R","lang_version":"","os_desc":null,"gpu_desc":"","tool_name":"RStudio Server","tool_path":"/external-api/loginRStudio","repository_id":1,"os_name":"ubuntu 16.04"},{"id":4,"name":"jupyterhub-hanwha","docker_image_name":"jupyterhub-hanwha-7","docker_image_repo":"jupyterhub","docker_image_version":"hanwha","description":"","analytic_language":"PYTHON","lang_version":"3.7.10","os_desc":null,"gpu_desc":"CUDA 11.1","tool_name":"JupyterHub","tool_path":"/external-api/loginJupyterHub","repository_id":1,"os_name":"ubuntu 16.04"},{"id":9,"name":"test","docker_image_name":"jupyterhub-hanwha-7","docker_image_repo":"jupyterhub","docker_image_version":"hanwha","description":"","analytic_language":"PYTHON","lang_version":"3.7.10","os_desc":null,"gpu_desc":"CUDA 11.1","tool_name":"JupyterHub","tool_path":"/external-api/loginJupyterHub","repository_id":1,"os_name":"ubuntu 16.04"},{"id":11,"name":"hanwha","docker_image_name":"jupyterhub-hanhwa-ned-7","docker_image_repo":"jupyterhub","docker_image_version":"hanhwa_ned","description":"","analytic_language":"PYTHON","lang_version":"","os_desc":null,"gpu_desc":"","tool_name":"JupyterHub","tool_path":"/external-api/loginJupyterHub","repository_id":2,"os_name":"ubuntu 18.04"},{"id":12,"name":"jupyterhub-hanwha-lab","docker_image_name":"jupyterhub-hanwha2-7","docker_image_repo":"jupyterhub","docker_image_version":"hanwha2","description":"","analytic_language":"PYTHON","lang_version":"3.7","os_desc":null,"gpu_desc":"CUDA 11.1","tool_name":"JupyterHub","tool_path":"/external-api/loginJupyterHub","repository_id":2,"os_name":"ubuntu 18.04"},{"id":13,"name":"jupyter_test","docker_image_name":"jupyter-latest-6","docker_image_repo":"jupyter","docker_image_version":"latest","description":"","analytic_language":"PYTHON","lang_version":"3.6.9?","os_desc":null,"gpu_desc":"","tool_name":"Jupyter","tool_path":"/external-api/loginJupyterSingle","repository_id":1,"os_name":"ubuntu 16.04"},{"id":14,"name":"ned_image_build_test","docker_image_name":"ned-image-build-test-1-0-7","docker_image_repo":"ned_image_build_test","docker_image_version":"1.0","description":"docker build test image","analytic_language":"PYTHON","lang_version":"","os_desc":null,"gpu_desc":"","tool_name":"JupyterHub","tool_path":"/external-api/loginJupyterHub","repository_id":1,"os_name":"ubuntu 16.04"}]}} 



마무리

  • 이제 로그인이 되어있지 않아 호출이 불가하였던 인증 과정이 성공하여 외부에서 정상적으로 호출이 가능합니다.

아티클이 유용했나요?

훌륭합니다!

피드백을 제공해 주셔서 감사합니다.

도움이 되지 못해 죄송합니다!

피드백을 제공해 주셔서 감사합니다.

아티클을 개선할 수 있는 방법을 알려주세요!

최소 하나의 이유를 선택하세요
CAPTCHA 확인이 필요합니다.

피드백 전송

소중한 의견을 수렴하여 아티클을 개선하도록 노력하겠습니다.

02-558-8300