[レポート] Alteryx ServerのAPI機能を使う- Alteryx Inspire 2018 #alteryx18

現地時間2018年06月04日〜2018年06月07日に米国アナハイムで開催されているAlteryxの年次カンファレンスイベント「Inspire 2018」。今回クラスメソッドからは計4人のメンバーが現地参加しています。

当エントリではイベント初日に行われたトレーニングセッション「Integrating Your Server into Applications - the Gallery」について、その内容をレポートしたいと思います。

目次


 

セッション概要

※ 当トレーニングセッションは概要およびトレーニング講師名が公開されていないようです。

 

セッションレポート

Alteryx ServerのGalleryでは、REST API使って外部のプログラムからワークフロー一覧の取得、ワークフローの実行、結果の取得といったことが可能です。 本トレーニングではこのAPI呼び出しをラップしたPythonのライブラリであるPyRyxを使って各種操作を行う方法が学べます。

 

APIアクセスを利用可能にする設定

最初にAPIアクセスを可能にするための設定に関する解説がありました。

ここで、確認しておく内容としては

  • Public Galleryでは利用できない(Alteryx Serverが必要)
  • Studioの設定でAPIアクセスを許可しておく
  • ユーザのプロファイルからAPIキー、Secretキーが確認可能

となっています。

 

Jupyter Notebookの紹介

このセッションではAPIアクセスという特性上、コードからの呼び出しがメインとなります。 そこでJupyter Notebookを使って一連の操作を行うのですが、最初にJupyter Notebookの紹介と簡単な使い方の説明がありました。

起動の方法から始まりコードを書いて実行しその結果を確認する方法であったり、 コードの補完が可能であることなど、基本的な操作方法が解説されました。

 

PyRyxを使ったAPI利用

さて、準備が整ったのでいよいよ実際にAPIアクセスするプログラムを書いていきます。

トレーニング内では以下のような流れで実際にAPIを使っていきました。

  • APIキー, Secretキー、Alteryx Serverのエンドポイントを指定してPyRyxのインスタンスを作成
  • Studio内のワークフロー一覧を取得
  • 特定のワークフローを指定してクエスチョンリストを取得(Analytic Appのフォームに入れる項目一覧)
  • クエスチョンの各項目を埋めるデータの作成
  • ワークフローを実行して結果を取得する

PyRyxを利用すると、生のAPIを意識する必要はほとんどなく、非常に簡単にこれらの操作を行うことが可能になっていました。 また、APIからの利用ではワークフローの実行完了を待たずに制御を返すため、別途ステータスを確認しながら完了を待つ必要があるのですが、PyRyxでは完了を待って結果を取得する部分が1つの関数で実現できます。

 

おわりに

Alteryx Inspire 2018のトレーニングセッションのレポートをさせていただきました。 APIアクセスはプログラムからの利用となるため、Alteryx Desingerを中心としてノンコーディングで使っている人にはハードルが高いように感じるかもしれません。 今回のPyRyxのようなライブラリを使うことで比較的簡単に利用が可能なためより高度な使い方をするに際してIT部門との連携もしやすくなるのではないかと思います。