記事テンプレート
Amazon S3からのデータ抽出について
Amazon Simple Storage Service(別名Amazon S3)は、データを保存できるサービスです。ワークフローを使用すると、クアルトリクスで使用するためにAmazon S3からのデータ抽出を簡単に自動化できます。
始める前に
Amazon S3からのデータ抽出を始める前に、以下の点を考慮してください:
- データを使って何をしたいのか?オプションのリストについては、利用可能なローダータスクを見てください。
- ファイルの形式は統一されていますか?例えば、同じワークフローでインポートしたいファイルは、たとえ値が異なっていても、同じヘッダー/カラム/フィールドを持つべきです。
クアルトリクスとAWSの接続
IAMロールに必要なS3パーミッション
IAMロールは、AWSアカウントに接続するために、以下のS3権限を持っている必要があります。S3のアクセス管理の詳細については、AWSのドキュメントを参照してください。
- s3:DeleteObject
- s3:GetObject
- s3:リストバケット
- s3:PutObject
- s3:AbortMultipartUpload
- s3:ListMultipartUploadParts
例以下はロールポリシーのサンプルです。s3:ListBucket “アクションでは、関連するリソースはバケット全体を指すべきです。バケット名の後にスラッシュやワイルドカードを付けることはできません。
{
"Version":"2012-10-17",
"Statement":[
{
"Effect":"Allow",
"Action":[
"s3:ListBucket"
],
"リソース":[
"arn:aws:s3:::s3bucketname"
]
},
{
"Effect":"Allow",
"Action":[
"s3:DeleteObject",
"s3:GetObject",
"s3:PutObject",
"AbortMultipartUpload",
"s3:ListMultipartUploadParts"
],
"リソース":[
"arn:aws:s3:: s3bucketname/QualtricsPrefix/*"
]
}
]
}.
例以下は信託ポリシーのサンプルです:
{
"Version":"2012-10-17",
"Statement":[
{
"Effect":"Allow",
"Action":"sts:AssumeRole",
"Principal":{
"AWS":"604163242721"
},
"条件":{
"StringEquals":{
"sts:ExternalId":"60ebef7bdexternalidc38d36bc2a6b75cd14f02c73"
}
}
}
]
}.
iamユーザーに必要なs3リソース
IAMユーザーは、AWSアカウントに接続するために以下のS3リソースを持っている必要があります。S3のアクセス管理の詳細については、AWSのドキュメントを参照してください。
- arn:aws:s3:::バケット名/*。
- arn:aws:s3:::バケット名
AWSアカウントの追加
この手順では、クアルトリクスアカウントをAmazon Web Services(AWS)アカウントに接続する方法を説明します。
- Amazon S3からデータを抽出タスクを含むワークフローを作成します。
- ユーザーアカウントの追加をクリックします。
- アカウントの表示名を追加します。この名前はこのアカウントを参照するために内部でのみ使用されます。
- 表示されたアカウントIDと外部IDをコピーします。
- AWSでは、アカウントIDと外部IDを使用してIAMロールを構成します。AWSのIAMロールの詳細については、こちらのAWSサポートページを参照してください。
- 作成したIAMロールに関連するAmazonリソース名を入力します。
- 地域を入力してください。リージョンの検索にお困りの場合は、こちらのAWSサポートページをご覧ください。
- アカウントの接続をクリックします。
Qtip: アクセスキーとシークレットキーを使った認証機能は廃止されました。過去のクレデンシャルを表示および使用することはできますが、編集することはできません。すべての新しい認証情報は、上記のように AWS IAM Role を使用して設定する必要があります。
ブランド管理者としてアカウントに接続する
ブランド管理者として、ライセンス内の複数のユーザーと共有するAWSアカウントを追加できます。共有AWSアカウントを追加するには、AdminタブのExtensionsセクションに移動し、アカウントを追加したいAWSエクステンションを検索します。
拡張機能を選択したら、上記の手順に従ってAWSアカウントを追加します。また、どのユーザーがアカウントにアクセシビリティを持つかを選択することもできます。
Amazon S3からのデータ抽出タスクの設定
- ETLワークフローを作成する。
- データソース(ETL抽出器)を選択します。
- Amazon S3からデータを抽出を選択します。
- ファイルを抽出するAmazon Web Services(AWS)アカウントを選択します。ブランド管理者が追加したアカウントや、あなた自身が追加したアカウントは、ここにリストアップされます。
- 新しいAWSアカウント認証情報を追加する場合は、ユーザーアカウントの追加をクリックし、AWSアカウントの接続セクションの手順に従ってください。
- [次へ]をクリックします。
- データを取り出したいS3バケット名を入力します。
Qtip:バケットの命名ガイドラインについては、AWSのドキュメントを参照してください。 - ファイル名のプレフィックスを入力します。指定した接頭辞を持つすべてのファイルが処理されます。s3ロールが特定のS3バケットプレフィックスへのアクセシビリティのみを許可する場合、ここにプレフィックスを含める必要があります。
- 処理するファイルタイプを選択します。以下から選択できます。
- CSV(コンマ区切り)
- TSV(タブ区切り)
- インポート後のファイル処理で、以下のいずれかを選択する:
- 次の場合は、このオプションを選択します。 PGPを使用してファイルを暗号化。
- サンプルファイルのアップロード]の下に、ワークフローが実行されるた びに処理されるファイルと同じヘッダーを持つサンプルファイルを追加します。ファイルを選択してください] をクリックして、コンピュータからファイルをアップロードします。
Qtip:もしよろしければ、タスクにあるサンプルファイルをダウンロードするか、Example Filesセクションにあるファイルをダウンロードしてください。サポートされているファイルエンコーディング形式はUTF-8のみです。表計算ソフトの中には、UTF-8とは異なるUnicode UTF-8としてファイルを保存するものがあり、予期せぬエラーが発生する場合があります。UnicodeのUTF-8ではなく、UTF-8形式でエクスポートしていることを確認してください。その他のトラブルシューティングステップについては、CSV &; TSV Upload Issuesを参照してください。
- ファイルのフィールドを確認する。テーブルには、最初の2行のデータについて、カラムヘッダー(個々のフィールドを表す)とその値が表示される。
Qtip:別のファイルをアップロードしたり、その他の変更を加えたい場合は、Edit the setupをクリックしてください。 - 終了したら、Saveをクリックします。
- ETLワークフローの構築を完了します。ローダータスクを選択するとき、抽出したデータの行き先を決めることになる。オプションのリストについては、利用可能なローダータスクを参照のこと。