お世話になっております。
最近 Alteryx Server が Server V3 API が使えるバージョン(2022.3)になったため、Server API Get Tool を使い始めました。
Server API Get tool で特定の Data Connection に登録されているユーザーのリストを抽出しようとしております。
API Documentation↓を見ると、dataConnectionId を渡す必要があるようです。
そこで、以下のようなWorkflowを作り
Server API Get toolのConfiguration画面でActionに "Retrieve a server data connection record" を選んだのですが、
"dataConnectionId" を設定する場所が見つかりません。
指定しないままで実行すると下記のエラーとなりますが、ツールの設定方法に問題があるのでしょうか。
Record #1: Tool #173: Missing Parameter Error:
for the endpoint 'Retrieve a server data connection record', you must supply these required fields: DATACONNECTIONID
About this Macroの所に
The macro pack is provided as-is, without warranty
と注記があるので、既知の事象であればこのツールを使わない方法を考えたいと思います。
(リリースノートをざっと見たところでは見当たりませんでした)
Server API Get Toolと記載あるのですが、あまりお見かけしないアイコンの形状をしています。
現在、サポートが有るServer APIの呼び出しツールは、Server APIツールです。
https://marketplace.alteryx.com/en-US/apps/418052/server-api-tool
説明はこちら
https://help.alteryx.com/current/en/designer/tools/developer/server-api-tool.html
Pyhonベースのせいか重い、という気がしますが、サポートもあるのでこちらを利用してみてはいかがでしょうか?
ありがとうございます。
質問本文のツールは、インストールした記憶がないので、2022.3をインストールしたら付いてきたと思うのですが
別途 正規のサポートがあるツールがあったのですね。
早速 ServerAPI_v1_2_2.yxi をmarketplaceからダウンロードし、インストールして RUN すると以下のエラーがでました;
Server API (1) This machine is missing the following package: pip_system_certs
ヘルプの記述に従い、メッセージ
Server API (1) Run this linked workflow as Admin to install missing packages.
のリンクをクリックして開いたワークフローを実行したところ、以下のエラーとなりました。
Python (1) Traceback (most recent call last):
File "C:\Users\a4910125\AppData\Local\Temp\Engine_17324_ffe96efc54994dceb4b0e5c4de303a17_\5a7f8cbfefd31a8b90f2f9ad9cd7db12\workbook.py", line 3, in <module>
Package.installPackages(["pip_system_certs"])
File "C:\Program Files\Alteryx\bin\Miniconda3\envs\DesignerBaseTools_venv\lib\site-packages\ayx\Package.py", line 202, in installPackages
raise pip_install_result["err"]
File "C:\Program Files\Alteryx\bin\Miniconda3\envs\DesignerBaseTools_venv\lib\site-packages\ayx\Utils.py", line 120, in runSubprocess
result = subprocess.check_output(args_list, stderr=subprocess.STDOUT)
File "C:\Program Files\Alteryx\bin\Miniconda3\envs\DesignerBaseTools_venv\lib\subprocess.py", line 411, in check_output
return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
File "C:\Program Files\Alteryx\bin\Miniconda3\envs\DesignerBaseTools_venv\lib\subprocess.py", line 512, in run
raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['C:\\Program Files\\Alteryx\\bin\\Miniconda3\\envs\\DesignerBaseTools_venv\\python.exe', '-I', '-m', 'pip', 'install', 'pip_system_certs']' returned non-zero exit status 1.
"timeout" とあり、proxyサーバーが邪魔していると推測されるので、社内の Python 環境の担当者に対応を相談したいと思います。
Pythonパッケージのインストール時には、管理者権限で起動したDesignerで行う必要があるので、そちらも合わせてご対応いただければよいかと思います。
はい、ヘルプにも管理者権限でDesignerを起動するように記載されていたので、そのようにしたのですがエラーになります。
念のため今朝もう一度やってみましたが、同じエラーになりました。
python package をインストールするワークフロー ("Install_As_Admin.yxmd") のメッセージを見ると;
Python (1) WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:<削除>)'))': /repository/<削除>/simple/pip-system-certs/
とあるので、社内の python の repository へのSSL認証にあたりを付けています。