스크립트 개발 / 사용자 Python 모듈 업로드
어떤 경우에는 사용자가 필요한 Python 모듈이 PyPI 플랫폼에 게시되지 않고 파일 형태로 직접 존재합니다.
이때 이러한 파일을 DataFlux Func의 리소스 디렉터리 안의 "user-python-packages/" 디렉터리에 업로드하여 스크립트에서 직접 참조할 수 있습니다.
1. Python 모듈 업로드
사용자는 실제 상황에 따라 업로드 방식을 선택할 수 있으며, 결과적으로는 아무런 차이가 없습니다.
호스트 머신에 직접 업로드
사용자가 호스트 머신에 대한 접근 권한을 가지고 있다면, 익숙한 SSH 도구 등을 통해 Python 파일 / 디렉터리를 {설치 디렉터리}/data/resources/user-python-packages/ 디렉터리에 직접 업로드할 수 있습니다.
기본 설치 디렉터리는 /usr/local/dataflux-func이며, 확실하지 않은 경우 cat /etc/dataflux-func 명령으로 확인할 수 있습니다
"파일 관리"를 사용하여 업로드
사용자가 호스트 머신에 대한 접근 권한이 없는 경우, "관리 / 실험적 기능 / 파일 관리 활성화"를 활성화한 후 "관리 / 파일 관리"에서 업로드할 수 있습니다.
사용자가 업로드한 zip 압축 파일이 압축 해제 후 디렉터리 구조를 손상시키는 것을 방지하기 위해, "파일 관리"에서 압축을 해제하면 디렉터리가 강제로 생성됩니다.
따라서 업로드한 zip 압축 파일 자체에 이미 디렉터리 한 겹이 있다면, 압축 해제 후 디렉터리 구조가 한 겹 더 추가됩니다.
실제 상황에 따라 Python 모듈의 디렉터리를 user-python-packages/xxxxx로 이동하면 됩니다.
user-python-packages/ 디렉터리로 이동하여 업로드할 Python 패키지 디렉터리를 확인합니다.
2. 업로드한 Python 모듈 사용
업로드한 Python 모듈이 다음과 같다고 가정합니다.
| my_pkg/__init__.py | |
|---|---|
1 | |
| my_pkg/hello_world.py | |
|---|---|
1 2 | |
그러면 스크립트에서 이 모듈을 직접 import 하여 사용할 수 있습니다. 예를 들면:
| Python | |
|---|---|
1 2 3 4 5 | |
3. 주의사항
직접 업로드한 Python 모듈은 다른 Python 모듈과 이름이 겹치지 않도록 주의하고, 기존 extra-python-packages에 존재하는 디렉터리를 삭제하거나 이름을 변경해서는 안 됩니다.