Dataiku CloudのAutomation NodeでCode EnvironmentのOwnerを変更できない
こんにちは。
Dataiku Cloud環境において、Automation Node上のCode EnvironmentのOwner変更について質問があります。
環境
- Dataiku Cloud
- Pre-Prod Automation Node
- Prod Automation Node
発生している事象
Automation Node上のCode Environmentの設定画面で、Ownerを変更しようとしていますが、変更を保存できません。
具体的には以下の動作となります。
- Code Environmentの設定画面を開く
- Ownerのみ変更する
- 保存ボタン(Save)が有効にならない
また、以下も試しました。
- Ownerと別の設定項目を同時に変更する
- Saveボタンが有効になる
- Saveを実行する
- 別の設定項目は更新されるが、Ownerの変更は反映されない
確認したいこと
- Automation Node上のCode EnvironmentのOwnerを変更することは可能でしょうか。
- UIから変更できない場合、推奨される変更方法(管理画面、API、Deployer経由など)はありますでしょうか。
- また、これはDataiku Cloudの仕様または既知の制限事項でしょうか。
同様の事象を経験された方や、公式な変更方法をご存じの方がいらっしゃいましたら、ご教示いただけますと幸いです。
よろしくお願いいたします。
Dataiku version used: dataiku cloud
Dataiku version used: dataiku cloud
Dataiku version used: dataiku cloud
Best Answer
-
Hi Umemoto-san,
I will reply in English, as my Japanese is quite poor.
I can confirm that it is currently not possible to change the owner of a code environment via the UI on the Automation Node. It is a known limitation which impacts both DSS Cloud and DSS On-Premises.
There are 2 workarounds I can suggest for now.
Via the UI
Instead of changing the Code Environment ownership, grant access to a group to the Code Environment. Then, depending on your use case and requirements, tick the permissions that you wish to grant the group for this Code Environment (for example: Update settings & packages)
More information on this configuration here:
Via the Python API
If you still wish to change the Code Env owner, you may use the Code Env Python API, which is documented here:
You may use Python Code similar to the snippet below. Please note that this snippet is only provided on best effort basis, and that it should be modified and tested thoroughly on your side, based on your requirements.
Please note that the snippet below was tested on an Automation Node and will not work on a Design Node (for the design node "settings.settings['owner']" will need to be replaced with settings.settings['desc']['owner']):
import dataiku client = dataiku.api_client() # Access the code env and its settings object codeenv = client.get_code_env("PYTHON", "<CODE_ENV_NAME>") settings = codeenv.get_settings() # Change the owner of the code env to the new owner (using their email address for DSS Cloud) settings.settings['owner'] = '<NEW_OWNER_EMAIL_ADDRESS>' # Save the changes back to the DSS home folder settings.save()