

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Amazon S3 ファイルを使用したデータセットの作成
<a name="create-a-data-set-s3"></a>

Amazon S3 から 1 つ以上のテキストファイル (.csv、.tsv、.clf、.elf) を使用してデータセットを作成するには、Quick Sight のマニフェストを作成します。Quick Sight はこのマニフェストを使用して、使用するファイルと、それらのインポートに必要なアップロード設定を識別します。Amazon S3 を使用してデータセットを作成すると、ファイルデータが [SPICE](spice.md) に自動的にインポートされます。

ファイルを読み取る Amazon S3 バケットへのアクセスを Quick Sight に許可する必要があります。Quick Sight に AWS リソースへのアクセスを許可する方法については、「」を参照してください[AWS データソースへの Amazon Quick Sight アクセスの設定](access-to-aws-resources.md)。

**Topics**
+ [Amazon S3 のマニフェストファイルでサポートされている形式](supported-manifest-file-format.md)
+ [Amazon S3 データセットを作成する](create-a-data-set-s3-procedure.md)
+ [別の AWS アカウントの S3 ファイルを使用するデータセット](using-s3-files-in-another-aws-account.md)

# Amazon S3 のマニフェストファイルでサポートされている形式
<a name="supported-manifest-file-format"></a>

JSON マニフェストファイルを使用して、Quick Sight にインポートする Amazon S3 のファイルを指定します。これらの JSON マニフェストファイルは、Amazon Redshift データベースデベロッパーガイドの「マニ[フェストを使用してデータファイルを指定する](https://docs.aws.amazon.com/redshift/latest/dg/loading-data-files-using-manifest.html)」で説明されている Quick Sight 形式または「Amazon Redshift 形式」のいずれかを使用できます。 **Amazon Redshift マニフェストファイル形式を使用する際に、Amazon Redshift を使用している必要はありません。

Quick Sight マニフェストファイルを使用する場合は、 などの .json 拡張子が必要です`my_manifest.json`。Amazon Redshift 形式のマニフェストファイルを使用する場合は、任意の拡張子を付けることができます。

Amazon Redshift マニフェストファイルを使用する場合、Quick Sight は Amazon Redshift と同様にオプションの `mandatory` オプションを処理します。関連付けられたファイルが見つからない場合、Quick Sight はインポートプロセスを終了し、エラーを返します。

インポート用に選択するファイルは、文字区切り形式 (.csv や .tsv など) 、ログ (.clf)、拡張ログ (.elf) 形式、または JSON (.json) である必要があります。1 つのマニフェストファイルで識別されるすべてのファイルでは、同じファイル形式を使用する必要があります。さらに、列の数とタイプが同じである必要があります。Quick Sight は UTF-8 ファイルエンコーディングをサポートしていますが、バイトオーダーマーク (BOM) 付きの UTF-8 はサポートしていません。JSON ファイルをインポートする場合は、`globalUploadSettings` に `format` を指定する必要がありますが、`delimiter`、`textqualifier`、`containsHeader` を指定する必要がありません。

指定したファイルが、Quick Sight アクセスを許可した Amazon S3 バケットにあることを確認します。Quick Sight に AWS リソースへのアクセスを許可する方法については、「」を参照してください[AWS データソースへの Amazon Quick Sight アクセスの設定](access-to-aws-resources.md)。

## Quick Sight のマニフェストファイル形式
<a name="quicksight-manifest-file-format"></a>

Quick Sight マニフェストファイルは、次の JSON 形式を使用します。

```
{
    "fileLocations": [
        {
            "URIs": [
                "uri1",
                "uri2",
                "uri3"
            ]
        },
        {
            "URIPrefixes": [
                "prefix1",
                "prefix2",
                "prefix3"
            ]
        }
    ],
    "globalUploadSettings": {
        "format": "JSON",
        "delimiter": ",",
        "textqualifier": "'",
        "containsHeader": "true"
    }
}
```

`fileLocations` 要素内のフィールドではインポートするファイルを指定し、`globalUploadSettings` 要素内のフィールドではそれらのファイルのインポート設定 (フィールド区切り文字など) を指定します。

マニフェストファイルの要素について以下に説明します。
+ **fileLocations** - インポートするファイルを指定するときはこの要素を使用します。`URIs` 配列と `URIPrefixes` 配列のいずれかまたは両方を使用してファイルを指定できます。そのいずれかで、値を 1 つ以上指定する必要があります。
  + **URI** - インポートする特定のファイルの URI をリスト化するときは、この配列を使用します。

    Quick Sight は、任意の にある Amazon S3 ファイルにアクセスできます AWS リージョン。ただし、Amazon S3 バケットの AWS リージョンがクイックアカウントで使用されているリージョンと異なる場合は、そのリージョンを識別する URI 形式を使用する必要があります。

    以下の形式の URI がサポートされています。  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/quick/latest/userguide/supported-manifest-file-format.html)
  + **URIPrefixes** - S3 バケットおよびフォルダの URI プレフィックスをリスト化するときは、この配列を使用します。指定したバケットまたはフォルダ内のすべてのファイルがインポートされます。Quick Sight は、子フォルダからファイルを再帰的に取得します。

    Quick Sight は、任意の にある Amazon S3 バケットまたはフォルダにアクセスできます AWS リージョン。S3 バケットがクイックアカウントで使用されているものとは異なる AWS リージョン 場合は、S3 バケットを識別する URI プレフィックス形式を使用してください。

    以下の形式の URI プレフィックスがサポートされています。  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/quick/latest/userguide/supported-manifest-file-format.html)
+ **globalUploadSettings** - (オプション) この要素は、Amazon S3 ファイルのインポート設定 (フィールド区切り文字など) を指定するときに使用します。この要素が指定されていない場合、Quick Sight はこのセクションのフィールドにデフォルト値を使用します。
**重要**  
ログ形式 (.clf) と拡張ログ形式 (.elf) のファイルでは、このセクションの **format** フィールドのみが適用されるため、その他のフィールドは省略できます。他のフィールドを含めている場合、それらの値は無視されます。
  + **format** - (オプション) インポートするファイルの形式を指定します。有効な形式は、**CSV**、**TSV**、**CLF**、**ELF**、および **JSON** です。デフォルト値は **CSV** です。
  + **delimiter** - (オプション) ファイルのフィールド区切り文字を指定します。この値は、`format` フィールドで指定しているファイルタイプに対応している必要があります。有効な値は、.csv ファイルではカンマ (**,**)、.tsv ファイルではタブ (**\$1t**) です。デフォルト値はカンマ (**,**) です。
  + **textqualifier** (オプション) ファイルのテキスト修飾子を指定します。有効な形式は、一重引用符 (**'**)、二重引用符 (**\$1"**) です。先頭のバックスラッシュは、JSON で二重引用符に必須のエスケープ文字です。デフォルト値は二重引用符 (**\$1"**) です。テキストにテキスト修飾子が必要ない場合は、このプロパティを含めないでください。
  + **containsHeader** - (オプション) ファイルにヘッダー行を入れるかどうかを指定します。有効な形式は、**true** または **false** です。デフォルト値は **true** です。

### Quick Sight のマニフェストファイルの例
<a name="quicksight-manifest-file-examples"></a>

以下は、完了した Quick Sight マニフェストファイルの例です。

次の例では、インポートする 2 つ .csv ファイルを特定するマニフェストファイルを示しています。これらのファイルでは、テキスト修飾子として二重引用符を使用しています。`format`、`delimiter`、および `containsHeader` フィールドは、デフォルト値のままで問題ないため、省略しています。

```
{
    "fileLocations": [
        {
            "URIs": [
                "https://yourBucket.s3.amazonaws.com/data-file.csv",
                "https://yourBucket.s3.amazonaws.com/data-file-2.csv"
            ]
        }
    ],
    "globalUploadSettings": {
        "textqualifier": "\""
    }
}
```

次の例では、インポートする 1 つの .tsv ファイルを特定するマニフェストファイルを示しています。このファイルには、インポート用の追加の .tsv ファイルが含まれる別の AWS リージョンのバケットも含まれます。`textqualifier` および `containsHeader` フィールドは、デフォルト値のままで問題ないため、省略しています。

```
{
    "fileLocations": [
        {
            "URIs": [
                "https://s3.amazonaws.com/amzn-s3-demo-bucket/data.tsv"
            ]
        },
        {
            "URIPrefixes": [
                "https://s3-us-east-1.amazonaws.com/amzn-s3-demo-bucket/"
            ]
        }
    ],
    "globalUploadSettings": {
        "format": "TSV",
        "delimiter": "\t"
    }
}
```

次の例では、インポートする .clf ファイルを含む 2 つのバケットを識別します。1 つはクイックアカウント AWS リージョン と同じ にあり、もう 1 つは別の にあります AWS リージョン。`delimiter`、`textqualifier`、および `containsHeader` フィールドは、ログ形式のファイルには適用されないため、省略しています。

```
{
    "fileLocations": [
        {
            "URIPrefixes": [
                "https://amzn-s3-demo-bucket1.your-s3-url.com",
                "s3://amzn-s3-demo-bucket2/"
            ]
        }
    ],
    "globalUploadSettings": {
        "format": "CLF"
    }
}
```

次の例では、Amazon Redshift 形式を使用して、インポートする .csv ファイルを特定しています。

```
{
    "entries": [
        {
            "url": "https://amzn-s3-demo-bucket.your-s3-url.com/myalias-test/file-to-import.csv",
            "mandatory": true
        }
    ]
}
```

次の例では、Amazon Redshift 形式を使用して、インポートする 2 つの JSON ファイルを特定しています。

```
{
    "fileLocations": [
        {
            "URIs": [
                "https://yourBucket.s3.amazonaws.com/data-file.json",
                "https://yourBucket.s3.amazonaws.com/data-file-2.json"
            ]
        }
    ],
    "globalUploadSettings": {
        "format": "JSON"
    }
}
```

# Amazon S3 データセットを作成する
<a name="create-a-data-set-s3-procedure"></a>

**Amazon S3 データセットを作成するには**

1. [データソースのクォータ](data-source-limits.md) をチェックし、ターゲットのファイルセットがデータソースのクォータを超えていないことを確認します。

1. 「[Amazon S3 のマニフェストファイルでサポートされている形式](supported-manifest-file-format.md)」で指定されているいずれかの形式を使用して、インポートするファイルを特定するためのマニフェストファイルを作成します。

1. マニフェストファイルをローカルディレクトリに保存するか、Amazon S3 にアップロードします。

1. クイックスタートページで、**データ**を選択します。

1. **データ**ページで、データセット**の作成**と**新規**作成を選択します。

1. Amazon S3 アイコンを選択し、次**へ**を選択します。

1. [**Data source name (データソース名)**] に、データソースの説明を入力します。この名前はこのデータソースを他と区別しやすくするためです。

1. [**Upload a manifest file**] で、以下のいずれかを実行します。
   + ローカルのマニフェストファイルを使用するには、[**Upload**]、[**Upload a JSON manifest file**] の順に選択します。[**Open**] で、ファイルを選択してから [**Open**] を選択します。
   + Amazon S3 のマニフェストファイルを使用するには、**[URL]** を選択し、マニフェストファイルの URL を入力します。Amazon S3 コンソールで既存のマニフェストファイルの URL を検索するには、該当するファイルに移動し、そのファイルを選択します。リンク URL を含むプロパティパネルが表示されます。URL をコピーして Quick Sight に貼り付けることができます。

1. **接続** を選択します。

1. 接続が完了したことを確認するには、[**Edit/Preview data**] を選択します。または、データをそのまま使用する分析を作成するには、[**Visualize**] を選択します。

   **[Edit/Preview data]** (データの編集/プレビュー) を選択した場合は、データの準備の一環としてデータセット名を指定できます。それ以外の場合、データセット名はマニフェストファイルの名前と一致します。

   データ準備の詳細については、「[Amazon Quick Sight でのデータの準備](preparing-data.md)」を参照してください。

## 複数の Amazon S3 ファイルに基づいてデータセットを作成する
<a name="data-sets-based-on-multiple-s3-files"></a>

Quick Sight 内の Amazon S3 バケットのファイルをマージまたは結合するには、次のいずれかの方法を使用できます。
+ **マニフェストを使用してファイルを結合する** - この場合、各ファイルのフィールド (列) 数は同じでなければなりません。データ型がファイルの同じ位置のフィールド間で一致している必要があります。例えば、最初のフィールドはそれぞれのファイルで同じデータ型ある必要があります。2 番目のフィールド、3 番目のフィールド、それ以降も同様です。Quick Sight は、最初のファイルからフィールド名を取得します。

  ファイルはマニフェストに明示的にリストされている必要があります。ただし、同じ Amazon S3 バケット内にある必要はありません。

  さらに、ファイルは [Amazon S3 のマニフェストファイルでサポートされている形式](supported-manifest-file-format.md) に説明されているルールに従う必要があります。

  マニフェストを使用してファイルを組み合わせることの詳細については、「[Amazon S3 ファイルを使用したデータセットの作成](create-a-data-set-s3.md)」を参照してください。
+ **マニフェストを使用せずにファイルを統合する** - 複数のファイルを、マニフェスト内に個別にリスト化せずに、1 個に統合するときは、Athena を使用します。この方法では、データベースのテーブルにある場合のように、テキストファイルを単にクエリすることができます。詳細については、ビッグデータブログの「[S3 のデータを Amazon Athena を使って分析する](https://aws.amazon.com/blogs/big-data/analyzing-data-in-s3-using-amazon-athena/)」記事を参照してください。
+ **スクリプトを使用してファイルをインポートする前に添付する** - ファイルをアップロードする前に、結合用に設計されたスクリプトを使用します。

# 別の AWS アカウントの S3 ファイルを使用するデータセット
<a name="using-s3-files-in-another-aws-account"></a>

このセクションでは、Quick Sight を使用して別の AWS アカウントの Amazon S3 ファイルにアクセスできるようにセキュリティを設定する方法について説明します。

ユーザーが、別のアカウントにあるファイルにアクセスするには、別のアカウントの所有者が、先に、Amazon S3 でこのユーザーにファイル読み取りのアクセスを許可するように設定しておく必要があります。次に、Quick Sight で、共有されたバケットへのアクセスを設定する必要があります。この両方のステップが完了した後に、マニフェストを使用してデータセットを作成できるようになります。

**注記**  
 パブリックに共有されているファイルにアクセスするには、特別なセキュリティを設定する必要はありません。ただし、マニフェストファイルは必要です。

**Topics**
+ [別のクイックアカウントからのアクセスを許可するように Amazon S3 を設定する](#setup-S3-to-allow-access-from-a-different-quicksight-account)
+ [別の AWS アカウントの Amazon S3 ファイルにアクセスするための Quick Sight の設定](#setup-quicksight-to-access-S3-in-a-different-account)

## 別のクイックアカウントからのアクセスを許可するように Amazon S3 を設定する
<a name="setup-S3-to-allow-access-from-a-different-quicksight-account"></a>

このセクションでは、別の AWS アカウントの Quick Sight がアクセスできるように Amazon S3 ファイルでアクセス許可を設定する方法について説明します。

Quick Sight アカウントから別のアカウントの Amazon S3 ファイルにアクセスする方法については、「」を参照してください[別の AWS アカウントの Amazon S3 ファイルにアクセスするための Quick Sight の設定](#setup-quicksight-to-access-S3-in-a-different-account)。S3 でのアクセス許可の詳細については、「[Amazon S3 での Identity and Access Management](https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html)」と「[How do I set permissions on an object?](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/set-object-permissions.html)」(オブジェクトにアクセス許可を設定するにはどうしたらよいですか?) を参照してください。

次の手順を使用して、S3 コンソールからこのアクセスを設定できます。または、 を使用する AWS CLI か、スクリプトを記述することで、アクセス許可を付与できます。共有するファイルが多数ある場合は、代わりに `s3:GetObject` アクションで S3 バケットポリシーを作成できます。バケットポリシーを使用するには、ポリシーをファイルのアクセス許可ではなくバケットのアクセス許可に追加します。バケットポリシーについては、「*Amazon S3 デベロッパーガイド*」の「[バケットポリシーの例](https://docs.aws.amazon.com/AmazonS3/latest/dev/example-bucket-policies.html)」を参照してください。

**S3 コンソールから別のクイックアカウントからのアクセスを設定するには**

1. 共有する AWS アカウントの E メールアドレスを取得します。または、正規ユーザー ID を取得して使用できます。正規ユーザー ID の詳細については、「[AWS 全般のリファレンス](https://docs.aws.amazon.com/general/latest/gr/acct-identifiers.html)」の「*AWS アカウント ID*」を参照してください。

1. にサインイン AWS マネジメントコンソール し、[https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/) で Amazon S3 コンソールを開きます。

1. Quick Sight と共有したい Amazon S3 バケットを見つけます。**[アクセス許可]** を選択します。

1. **アカウントの追加**を選択し、共有する AWS アカウントの E メールアドレスを入力するか、正規ユーザー ID を貼り付けます。この E メールアドレスは、 AWS アカウントのプライマリアドレスである必要があります。

1. **[Read bucket permissions]** (バケットの読み取りアクセス許可) および **[List objects]** (オブジェクトのリスト化) の両方に対して、**[Yes]** (はい) を選択します。

   [**保存**] を選択して確定します。

1. 共有するファイルを見つけ、ファイルのアクセス許可設定を開きます。

1. 共有する AWS アカウントの E メールアドレスまたは正規ユーザー ID を入力します。この E メールアドレスは、 AWS アカウントのプライマリメールアドレスである必要があります。

1. Quick Sight がアクセスする必要がある各ファイルの**オブジェクト読み取り**アクセス許可を有効にします。

1. ファイルが使用可能になったことを Quick ユーザーに通知します。

## 別の AWS アカウントの Amazon S3 ファイルにアクセスするための Quick Sight の設定
<a name="setup-quicksight-to-access-S3-in-a-different-account"></a>

このセクションでは、別の AWS アカウントの Amazon S3 ファイルにアクセスできるように Quick Sight を設定する方法について説明します。他のユーザーがクイックアカウントから Amazon S3 ファイルにアクセスできるようにする方法については、「」を参照してください[別のクイックアカウントからのアクセスを許可するように Amazon S3 を設定する](#setup-S3-to-allow-access-from-a-different-quicksight-account)。

Quick Sight から別のアカウントの Amazon S3 ファイルにアクセスするには、次の手順に従います。この手順を使用するには、別の AWS アカウントのユーザーが、その Amazon S3 バケット内のファイルを、お客様と共有する必要があります。

**Quick Sight から別のアカウントの Amazon S3 ファイルにアクセスするには**

1. 別の AWS アカウントのユーザーが、問題の S3 バケットへの読み取りおよび書き込みアクセス許可をアカウントに付与していることを確認します。

1. プロファイルアイコンを選択し、**クイックサイトの管理**を選択します。

1. [**Security & permissions (セキュリティとアクセス許可)**] を選択します。

1. ** AWS サービスへのクイックサイトアクセス**で、**管理**を選択します。

1. **[Select S3 buckets]** (S3 バケットの選択) を選択します。

1. **[Select Amazon S3 buckets]** (Amazon S3 バケットの選択) 画面で、**[S3 buckets you can access across AWS]** ( 全体でアクセスできる S3 バケット) タブを選択します。

   デフォルトのタブには、**Quick Sight アカウントにリンクされた S3 バケットという名前が付けられています**。クイックアカウントがアクセスできるすべてのバケットが表示されます。

1. 次のいずれかを行います。
   + 使用することが自分に許可されているバケットをすべて追加するには、**[他の AWS アカウントからアクセスできるバケットを選択]** を選択します。
   + 追加する Amazon S3 バケットが 1 つ以上ある場合は、その名前を入力します。Amazon S3 バケットの一意の名前と正確に一致している必要があります。

     適切なアクセス許可がない場合は「We can't connect to this S3 bucket。指定する S3 バケットが、 AWS このクイックアカウントの作成に使用したアカウントに関連付けられていることを確認します。」 このエラーメッセージは、アカウントアクセス許可または Quick Sight アクセス許可がない場合に表示されます。
**注記**  
Amazon Athena を使用するには、Quick Sight が Athena が使用する Amazon S3 バケットにアクセスする必要があります。  
ここで 1 つずつ追加することも、**他の AWS アカウントからアクセス可能なバケットを選択**オプションを使用することもできます。

1. [**Select buckets**] を選択して、選択を確定します。

1. Amazon S3 に基づいて新しいデータセットを作成し、マニフェストファイルをアップロードします。Amazon S3 データセットの詳細については、[Amazon S3 ファイルを使用したデータセットの作成](create-a-data-set-s3.md) を参照してください。