本記事では、Amazon S3のデータをb→dashに取り込む方法について紹介しています。
S3連携には下記の2つのパターンがあり、それぞれで設定方法が異なります。下記の俯瞰図に沿って、貴社の環境に合ったパターンを選択してください。

b→dashの領域にあるS3にデータを置き、b→dashの中間サーバーから取得する方式です。前提作業として、b→dashに連携したいデータを基幹システムから抽出し、S3へ転送する必要があります(抽出/転送方法は環境によって異なります)。

1.「データパレット」>「データを連携」をクリックし、右上の「新規追加」をクリックします
2.「S3」を選択し、「適用」をクリックします
3.「b→dashのS3にデータを置く」を選択し、「次へ」をクリックします
4. 表示される「接続情報」(AWSアクセスキー/AWSシークレットアクセスキー/バケット名/フォルダパス/ユーザー名)を中間サーバーに登録します
5. [任意]「パスワード付きファイルのパスワード」を入力し、「次へ」をクリックします
6. 連携頻度と時間を設定し「追加」を選択して、「次へ」をクリックします
7. 名前を入力し、「保存」をクリックします

b→dashのS3にデータを置く場合、AWS社が提供している「AWS CLI」を用いてb→dashのS3に接続する必要があります。
AWS CLI公式ドキュメントを参考に、貴社の中間サーバーに「AWS CLI」をインストールします。
「AWS CLI」を開いて以下のコマンドを実行し、ユーザープロファイルを作成します。
$ aws configure --profile xxxx
AWS Access Key ID [none]: {アクセスキー}
AWS Secret Access Key [none]: {シークレットアクセスキー}
Default region name [none]: {ap-northeast-1}
Default output format [none]: {フォーマット形式}
以下のコマンドを入力して、b→dashに接続します。
$ aws s3 ls s3://bdash4-preparation-pub-prd/bd4-dp-xxxxxx-bd-xxxxxx-prd/import/xxxx/ --profile=xxxx
データを送るコマンドについてはAWS CLIでの高レベル(S3)コマンドの使用をご参照ください。
1. 設定した「連携タイミング」の時間になると、b→dashの領域のS3に対してファイルを取得する処理が実施されます
2. 連携のステータスを確認します(ステータスはアイコンで把握可能)
3. ステータスが「接続完了」になった連携設定をクリックします
4. 連携されているデータを確認し、「取込設定」を行うことができます

考えられる原因 |
改善策 |
| 連携対象のファイル形式がb→dashで取込可能な形式とは異なる | 取込可能なファイル形式は「CSV(.csv)」「TSV(.tsv)」、圧縮形式は「zip」「tar.gz」です。複数ファイルをまとめて1ファイルとして圧縮した場合は取込できずエラーとなります(1ファイル毎に圧縮) |
| ファイルに拡張子がついていない | 必ず拡張子(.csvまたは.tsv)のついたファイルを連携してください |
| 連携先フォルダ名が間違っている | 「データパレット」>「データを連携」> 対象連携 >「編集」> 接続情報の「フォルダパス」を確認 |
| シークレットキー/シークレットアクセスキーが一致していない | b→dash上に表示されているシークレットキーと、貴社にて設定されている内容が一致しているか確認 |
| 連携時間の設定が間違っている | 貴社からの連携ファイルは、データパレットへの設定時間以前に配置する必要があります。「データパレット」> 対象連携 >「編集」> データの連携タイミングを確認 |
貴社の領域にあるS3にデータを置き、b→dashから取得しに行く方式です。前提作業として、b→dashに連携したいデータを基幹システムから抽出し、貴社のS3へ転送する必要があります。

1.「データパレット」>「データを連携」をクリックし、右上の「新規追加」をクリックします
2.「S3」を選択し、「適用」をクリックします
3.「貴社のS3にデータを置く」を選択し、「次へ」をクリックします
4. S3連携に必要な「接続情報」(AWSアクセスキー/AWSシークレットアクセスキー/バケット名/フォルダパス/リージョン)を入力します
5. [任意]「パスワード付きファイルのパスワード」を入力します
6. 連携頻度と時間を設定し、「追加」を選択して「次へ」をクリックします
7. 名前を入力し、「保存」をクリックします

1.「AWS」にアクセスし、サービスメニューから「IAM」をクリックします
2. サイドメニューの「ユーザー」>「ユーザーを追加」をクリックします
3.「ユーザー名」を入力し「プログラムによるアクセス」にチェックを付け、「次のステップ」をクリックします
4.「ユーザーをグループに追加」をクリックして「グループ」の欄にチェックをいれ、画面の指示に従って「ユーザーの作成」をクリックします
5.「アクセスキーID(AWSアクセスキー)」と「シークレットアクセスキー」が表示されます
1. サービスメニューから「S3」を選択します
2. 一覧画面で「AWSリージョン」と「バケット名」が確認できます
3. バケット名をクリックすると「フォルダパス」が表示されます
1. 設定した「連携タイミング」の時間になると、貴社のS3に対してファイルを取得する処理が実施されます
2. 連携のステータスを確認します(ステータスはアイコンで把握可能)
3. ステータスが「接続完了」になった連携設定をクリックします
4. 連携されているデータを確認し、「取込設定」を行うことができます

考えられる原因 |
改善策 |
| S3の接続情報が誤っている | 「データパレット」>「データを連携する」> 対象連携 >「編集」>AWSアクセスキー/シークレットアクセスキー/リージョンを確認 |
| バケット名・フォルダパスが誤っている | 連携元のバケット名、フォルダパスに誤りがないか「編集」画面で確認 |
| ファイルの取得タイミングが想定と異なる | 「編集」>「連携システム登録」に表示されている連携タイミングを確認 |
| バケット名・フォルダパス配下にファイルが配置されていない | b→dashで設定したバケット名・フォルダパス配下に取り込み対象ファイルが配置されているか確認 |
| ファイルサイズが取込データ容量上限を超えている | 1ファイルの容量が5GBを超える場合、取込エラーとなる可能性があります。5GB以下に分割してください(連携ファイル数の上限はありません) |
| ファイルをb→dashに取込中である | データ容量が大きいファイルは取り込みに時間を要する場合があります。データ連携開始時刻から30分以上経過しても連携できていない場合は、弊社サポートまでお問い合わせください |
| フォルダパスの先頭に「/」を設定している | フォルダパスはディレクトリ名で始まる必要があります。「フォルダパス」の先頭に「/」が無いことを確認 |
| フォルダパスの末尾に「/」を設定していない | フォルダパスは「/」で終わっている必要があります。「フォルダパス」の末尾に「/」があることを確認 |
| バケット名の先頭/末尾に「/」を設定している | バケット名には記号を含めずに名称を設定してください |
| ファイル形式がb→dashでの取込に対応していない | 取込可能なファイル形式は「CSV(.csv)」「TSV(.tsv)」、圧縮形式は「zip」「gz」「tar.gz」です |
| S3バケットに制限がかけられている | b→dashと貴社S3システムの疎通の許可を取得する必要があります。「取込/出力で設定するIPアドレスを知りたい」を参照しバケットポリシーを設定してください |