QuickSightのデータソース作成(CLI)


QuickSight セットアップイメージ

データソースとは

QuickSightがアクセスする外部データストアの設定です。QuickSightはS3やRedshiftやオンプレミスのRDBなど様々なデータストアに接続し可視化することができます。S3をデータソースにした場合は、マニフェストファイルでデータの場所を指定します。RDBなどのデータベースをデータソースにした場合は、テーブルや認証情報などの接続情報を指定します。また、それぞれのデータソースにアクセス許可の設定も行えます。今回はS3をデータソースにします。

データソース定義JSON

新しいファイルをターミナルで作成します。Cloud9に以下のコードをコピーし、create-development-data-source.jsonというファイル名で保存します。これはこのあとでるS3マニフェストファイルの指定やアクセス許可を定義しています。
<your aws account><your iam user name>は自身の値に置き換えます。

{
    "AwsAccountId": "<your aws account>",
    "DataSourceId": "Development-Data-Source",
    "Name": "Development Data Source",
    "Type": "S3",
    "DataSourceParameters": {

        "S3Parameters": {
            "ManifestFileLocation": {
                "Bucket": "quicksight-development-lab-<your aws account>",
                "Key": "S3-development-manifest.json"
            }
        }
    },
    "Permissions": [
        {
            "Principal": "arn:aws:quicksight:us-east-1:<your aws account>:user/default/<your iam user name>",
            "Actions": [
                "quicksight:UpdateDataSourcePermissions",
                "quicksight:DescribeDataSource",
                "quicksight:DescribeDataSourcePermissions",
                "quicksight:PassDataSource",
                "quicksight:UpdateDataSource",
                "quicksight:DeleteDataSource"

            ]
        }
    ]
}

マニフェストファイル作成

新しいファイルをターミナルで作成します。Cloud9に以下のコードをコピーし、S3-development-manifest.jsonというファイル名で保存します。これはS3マニフェストファイルと呼ばれS3上のファイルの場所を示すものです。
<your aws account>は自身の値に置き換えます。

{
    "fileLocations": [
        {
            "URIs": [
                "https://quicksight-development-lab-<your aws account>.s3.amazonaws.com/Patient-Info.csv"
            ]
        }
    ],
    "globalUploadSettings": {
        "textqualifier": "\""
    }
}

マニフェストファイルをS3バケットの quicksight-development-lab-<your aws account>にアップロードします。

$ aws s3 cp ./S3-development-manifest.json s3://quicksight-development-lab-<your aws account>

データソース作成

create-development-data-source.jsonを作成したフォルダで次のコマンドを実行し、データソースを作成します。

$ aws quicksight create-data-source --cli-input-json file://create-development-data-source.json

以下のような出力があれば成功です。

{
    "Status": 202,
    "DataSourceId": "Development-Data-Source",
    "RequestId": "35260608-bc7c-479c-8dbf-0eac88b2952f",
    "CreationStatus": "CREATION_IN_PROGRESS",
    "Arn": "arn:aws:quicksight:us-east-1:<your aws account>:datasource/Development-Data-Source"
}

画面の最下部に作成したデータソースのDevelopment Data Sourceが表示されます。

コマンドラインでもデータソースの詳細を確認できます。

$ aws quicksight describe-data-source --aws-account-id <your aws account> --data-source-id 'Development-Data-Source'