Alteryx Designer CloudでAmazonのS3への接続方法をご紹介します。
Amazon S3は、クラウド環境では非常にポピュラーなストレージとなっています。Alteryx Designer CloudでS3へアクセスし、データを取得する方法をご紹介します。
Amazon S3の接続設定について
S3へはデフォルトでは接続できないため、接続設定を行う必要があります。Alteryx Analytics Cloudのメニューの「Connection」メニューから設定を行います。
詳細は、ドキュメント「AWS Account Page 」を参照願います。接続方法として、「Use a cross-account role」と「Use access keys」が選択可能です。推奨は「Use a cross-account role」ですが、「Use access keys」であればAccess Key IDとSecret Access Keyがわかれば良いだけなので手軽ではあります。
S3をデータ入力ツールの入力先として使う
データ入力ツールで利用するには、Alteryx Analytics Cloudの「Connection」タブで設定を行った後、「Data」タブにて、あらかじめ「Import」を行う必要があります。このImportはデータ自体をAlteryx Analytics Cloudにコピーして保存するという意味ではなく、接続設定ということになります。Importしたデータセットは、「Datasets」タブに出現するようになりますので、最終的にDesigner Cloudのデータ入力ツールへは、「Datasets」タブから選択することとなります。
それでは、実際にImportしてみましょう。まず、Alteryx Analytics Cloudの「Data」タブに移動します。その画面上で、「Import Data」ボタンをクリックします。
次に、左側のメニューからS3を選択します。すると、右側の画面で各S3上のフォルダやファイルにアクセスできるようになります。
各ファイルやフォルダにマウスカーソルを合わせると、以下のようなアイコンが出現しそれぞれの処理を行うことができます。
ファイルの場合、「+」ボタンで読み込み対象として追加できます。このとき、複数のファイルそれぞれで「+」ボタンを押していくと、押した分のファイルを一括でImportすることができます(それぞれ一つのDatasetとして扱われず、別々のDatasetとして扱われます)。複数のファイルを一つのDatasetとして扱いたい場合は、フォルダごとDatasetとして登録するか、「Parameterize」でルールベースで複数ファイルをDatasetとして登録することも可能です。
フォルダごと取り込む場合は、フォルダの「+」ボタンで追加が可能です。
Parameterizeで読み込むには以下のように行います。
例として、以下の3つのファイルを読み込みたい、とします。
- TestSample.csv
- TestSample1.csv
- TestSample2.csv
まず、「TestSample.csv」でポップアップされる「Parameterize」ボタンをクリックします。
すると以下のような画面に切り替わります。
これがデフォルトの画面です。この状態ではファイル1つのみが読み込まれるようになっています。ここで、赤い部分でパラメーター化したい部分にマウスをクリックすると、以下のような画面がポップアップします。
ここで、今回はワイルドカードを設定してみましょう。一番右のボタンをクリックします。
このまま「Save」ボタンをクリックしましょう。
ちなみに、今回ParameterはWildcardになっていますが、より高度な「Pattern」(いわゆる正規表現です)を使うことも可能です。ここで利用できるPatternはドキュメント を御覧ください。
うまく設定できれば、以下のように複数のファイルが読み込めることが確認できるので、これで問題なければ「Create」ボタンをクリックしましょう。
これにより以下のように右側に出てきます。
このまま「Continue」をクリックすると、無事にImportが完了します。
なお、ヘッダの設定や文字コードなどはこのImportの設定で変更することができます。上の「Edit Settings」を選択すると、以下のような画面上で変更が可能です。
左端の「UTF-8」は文字エンコード設定です。最近のデータソースはUTF-8のものも多いと思いますが、実際のエンコードに合わせるようにしてください。また、「Detect structure」は基本的にそのままチェックを入れておいてください。特殊なテキストファイルなどの場合はチェックを外すケースもあるかと思います。
ヘッダーオプションは以下の3つから選択可能です。
- Infer Header(自動設定)
- Use first row as header(1行目をヘッダとして使う)
- No header(ヘッダなし)
これらのImport Settingは、Importの時にしか設定できず、「Save」ボタンを一度クリックしてしまうとあとから変更できないため、変更したい場合は新たにImportする必要があります。
あとは、Designer Cloudに戻り、Input Dataツールをキャンバスにドラッグ&ドロップすれば、以下のように利用することができます。
ワークフローを実行する際に直接S3から読み込んでいるため、データは常に最新のものとなります。
S3をデータ出力ツールの出力先として使う
データ出力ツールは、AmazonのS3に直接出力が可能です。出力形式としては、データ出力ツールの仕様通りとなります(2023年4月の時点ではCSV、XLS、XLSX)。
出力の場合は、Analytics Cloudの「Connection」タブでAWSのアカウントについて接続設定を行っておく必要があります。
AWSアカウントの設定後、データ出力ツールを使う場合は以下のように設定を行います。
オプションの「FILE OPTIONS」では、「Create New」(新規作成)と「Overwrite」(上書き)が選択できます。
- Create New
ファイルを新規作成します。同名のファイルがあれば、ファイル名の最後に番号をつけて新規保存します。
- Overwrite
ファイルを上書きします。同名のファイルを常に上書きします。
Create New
新規作成の場合は「FILE OPTIONS」にて「Create New」を選択します。その他以下の内容を決定します。
- File Name ・・・ ファイル名
- SELECT FOLDER FOR FILE ・・・ 出力先フォルダ
2ページ目のメニューでは、出力ファイルの設定を行いますが、「Output Actions on Every Run」にて、2回目以降の動きを決めていきます。新規作成を行う場合は、同名ファイルがあれば上書きせず、ファイル名の最後に番号をつけて保存します。「Overwrite」は同名ファイルを上書きします。
Overwrite
既存ファイルの上書きの場合は「FILE OPTIONS」にて「Overwrite Existing」を選択します。ここでは、上書きするファイルを選択します。
2ページ目の設定は、出力ファイルの設定を行いますが、「Output Actions on Every Run」にて、2回目以降の動きを決めていきます。新規作成を行う場合は、同名ファイルがあれば上書きせず、ファイル名の最後に番号をつけて保存します。「Overwrite」は同名ファイルを上書きします。