スクリプト開発 / ユーザー 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 圧縮ファイルに元々ディレクトリが 1 層ある場合、解凍後はディレクトリ構造が 1 層多くなります。
実際の状況に応じて、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 に存在するディレクトリを削除したり、名前を変更したりしないでください。