次の方法で共有


コピー アクティビティで Amazon S3 を構成する

この記事では、パイプラインでコピー アクティビティを使用して、Amazon S3 との間でデータをコピーする方法について説明します。

必要なアクセス許可

Amazon S3 からデータをコピーするには、Amazon S3 オブジェクト操作に対するアクセス許可 ( s3:GetObjects3:GetObjectVersion) が付与されていることを確認します。

さらに、接続のテストやルートからの参照などの操作には、 s3:ListAllMyBucketss3:ListBucket/s3:GetBucketLocation のアクセス許可が必要です。

Amazon S3 のアクセス許可の完全な一覧については、 AWS サイトのポリシーでのアクセス許可の指定に関するセクションを参照してください。

サポートされている形式

Amazon S3 では、次のファイル形式がサポートされています。 形式ベースの設定については、各記事を参照してください。

サポートされている構成

コピー アクティビティの下の各タブの構成については、それぞれ次のセクションを参照してください。

全般

[全般設定] タブを構成するには、全般設定のガイダンスを参照してください。

情報源

コピーアクティビティの [ ソース ] タブの Amazon S3 では、次のプロパティがサポートされています。

次のプロパティは必須です。

  • 接続: 接続リストから Amazon S3 接続を選択します。 接続が存在しない場合は、[ 新規] を選択して新しい Amazon 接続を作成します。

  • 接続の種類: 接続の種類として Amazon S3 を選択します。

  • ファイル パスの種類: ファイル パスの種類として、[ファイル パス ]、[プレフィックス]、[ ワイルドカード ファイル パス]、または [ファイルの一覧] を選択できます。 各設定の構成は次のとおりです。

    • ファイル パス: この種類を選択した場合、指定されたバケットまたは指定されたバケットとフォルダー パスからデータをコピーできます。

    • プレフィックス: この種類を選択した場合は、 バケットプレフィックスを指定します。

      • バケット: S3 バケット名を指定します。 必須です。

      • プレフィックス: 指定されたバケットの下の S3 キー名のプレフィックスを指定して、ソース S3 ファイルをフィルター処理します。 bucket/this_prefixで始まる名前の S3 キーが選択されます。 これは、ワイルドカード フィルターよりも優れたパフォーマンスを提供する S3 のサービス側フィルターを利用します。

        プレフィックスを使用し、階層を保持してファイル ベースのコピー先にコピーする場合は、プレフィックス内の最後の "/" の後のサブパスが保持されることに注意してください。 たとえば、ソース bucket/folder/subfolder/file.txtがあり、プレフィックスを folder/subとして構成すると、保持されるファイル パスは subfolder/file.txt

      プレフィックスを示すスクリーンショット。

    • ワイルドカード ファイル パス: この種類を選択した場合は、 バケット パスと ワイルドカードパスを指定します。

      • バケット: S3 バケット名を指定します。 必須です。

      • ワイルドカード パス: 指定したバケットの下にワイルドカード文字を含むフォルダーまたはファイル パスを指定して、ソース フォルダーまたはファイルをフィルター処理します。

        使用できるワイルドカードは、 * (0 個以上の文字に一致) と ? (0 文字または 1 文字に一致) です。 フォルダー名にワイルドカードまたはこのエスケープ文字がある場合は、 ^ を使用してエスケープします。 「フォルダーとファイル フィルターの例」の他の例をご覧ください。 ワイルドカード ファイルのパスを示すスクリーンショット。 ワイルドカード フォルダー パス: ソース フォルダーをフィルター処理するための、指定されたバケットの下にワイルドカード文字を含むフォルダー パス。

        ワイルドカード ファイル名: ソース ファイルをフィルター処理するための、指定されたバケットとフォルダー パス (またはワイルドカード フォルダー パス) の下にワイルドカード文字を含むファイル名。

    • ファイルの一覧: この種類を選択した場合は、[ フォルダー パス] と [ ファイルへのパス] リストを 指定して、特定のファイル セットをコピーすることを示します。 コピーするファイルの一覧を含むテキスト ファイルをポイントします。1 行に 1 つのファイルがあります。これは、構成されたパスへの相対パスです。 その他の例については、「 ファイルリストの例」を参照してください。

      ファイルの一覧を示すスクリーンショット。

      • フォルダー パス: 指定されたバケットの下のフォルダーへのパスを指定します。 必須です。
      • ファイル一覧へのパス: コピーするファイルの一覧を含むテキスト ファイルのパスを指定します。
  • 再帰的: データをサブフォルダーから再帰的に読み取るか、指定したフォルダーからのみ読み取るかを指定します。 Recursively が選択されていて、コピー先がファイル ベースのストアである場合、空のフォルダーまたはサブフォルダーはコピーされず、コピー先に作成されません。 このプロパティは既定で選択されており、 ファイル一覧へのパスを構成する場合は適用されません。

  • ファイル形式: ドロップダウン リストから適用されるファイル形式を選択します。 [ 設定] を 選択してファイル形式を構成します。 さまざまなファイル形式の設定については、 サポートされている形式 の記事を参照してください。

[詳細設定] では、次のフィールドを指定できます。

  • [最終更新日時にフィルター処理]: ファイルは、指定した最終変更日に基づいてフィルター処理されます。 ファイル パスの種類をファイル のリストとして構成する場合、このプロパティは適用されません。

    • 開始時刻 (UTC): ファイルは、最終変更時刻が構成された時刻以上の場合に選択されます。
    • 終了時刻 (UTC): 最終変更時刻が構成された時間より短い場合、ファイルが選択されます。

    開始時刻 (UTC) に datetime 値があり、終了時刻 (UTC) が NULL の場合、最終変更属性が datetime 値以上のファイルが選択されることを意味します。 終了時刻 (UTC) に datetime 値があり、開始時刻 (UTC) が NULL の場合、最終変更属性が datetime 値より小さいファイルが選択されることを意味します。 プロパティには NULL を指定できます。つまり、ファイル属性フィルターはデータに適用されません。

  • パーティション検出を有効にする: ファイル パスからパーティションを解析し、追加のソース列として追加するかどうかを指定します。 既定では選択されず、バイナリ ファイル形式を使用する場合はサポートされません。

    • パーティション ルート パス: パーティション検出が有効になっている場合は、パーティション分割されたフォルダーをデータ列として読み取るために絶対ルート パスを指定します。

      指定されていない場合、既定で。

      • ソースでファイル パスまたはファイルの一覧を使用する場合、パーティション ルート パスは構成したパスです。
      • ワイルドカード フォルダー フィルターを使用する場合、パーティション ルート パスは最初のワイルドカードの前のサブパスです。
      • プレフィックスを使用すると、パーティション ルート パスは最後の "/" より前のサブパスになります。

      たとえば、パスを root/folder/year=2020/month=08/day=27 として構成するとします。

      • パーティション ルート パスを root/folder/year=2020として指定した場合、コピー アクティビティでは、ファイル内の列に加えて、それぞれ値が "08" と "27" の 2 つの列が月と日に生成されます。
      • パーティション ルート パスが指定されていない場合、追加の列は生成されません。

      [パーティション検出を有効にする] を示すスクリーンショット。

  • 最大同時接続: アクティビティの実行中にデータ ストアに対して確立される同時接続の上限。 コンカレント接続数を制限する場合にのみ、値を指定します。

  • その他の列: ソース ファイルの相対パスまたは静的な値を格納する追加のデータ列を追加します。 エクスプレッションは後者に対応しています。

行き先

コピーアクティビティの [宛先 ]タブの Amazon S3 では、次のプロパティがサポートされています。

次のプロパティは必須です。

  • 接続: 接続リストから Amazon S3 接続を選択します。 接続が存在しない場合は、[ 新規] を選択して新しい Amazon 接続を作成します。
  • 接続の種類: 接続の種類として Amazon S3 を選択します。
  • ファイル パス: 指定されたバケットまたは指定されたバケットとフォルダー パスにデータをコピーできます。
  • ファイル形式: ドロップダウン リストから適用されるファイル形式を選択します。 [ 設定] を 選択してファイル形式を構成します。 さまざまなファイル形式の設定については、 サポートされている形式 の記事を参照してください。

[詳細設定] では、次のフィールドを指定できます。

  • コピー動作: ソースがファイル ベースのデータ ストアのファイルである場合のコピー動作を定義します。 ドロップダウン リストから動作を選択できます。

    • フラット化階層: ソース フォルダーのすべてのファイルは、コピー先フォルダーの最初のレベルにあります。 コピー先ファイルには自動生成された名前があります。
    • ファイルのマージ: ソース フォルダーのすべてのファイルを 1 つのファイルにマージします。 ファイル名を指定した場合、マージされたファイル名は指定した名前になります。 それ以外の場合は、自動生成されたファイル名です。
    • 階層の保持: ターゲット フォルダー内のファイル階層を保持します。 ソース ファイルからソース フォルダーへの相対パスは、ターゲット フォルダーへのターゲット ファイルの相対パスと同じです。
  • 最大同時接続数: このプロパティは、アクティビティの実行中にデータ ストアに対して確立された同時接続の上限を示します。 コンカレント接続数を制限する場合にのみ、値を指定します。

地図作成

[ マッピング ] タブの構成については、[ マッピング] タブの [マッピングの構成] に移動します。ファイル形式として [バイナリ] を選択した場合、マッピングはサポートされません。

設定

[設定] タブの構成については、[設定] タブの [その他の設定の構成] に移動します。

表の概要

次の表に、Amazon S3 のコピーアクティビティに関する詳細を示します。

ソース情報

名前 Description 価値 必須 JSON スクリプト プロパティ
接続 ソース データ ストアへの接続。 <あなたのAmazon S3 接続> イエス 接続
接続の種類 接続の種類を選択します。 Amazon S3 イエス /
ファイル パスの種類 ソース データの取得に使用されるファイル パスの種類。 ファイル パス
プレフィックス
ワイルドカード ファイル パス
ファイルの一覧
イエス /
ファイル パスの場合
バケツ S3 バケット名。 <バケット名> イエス bucketName
ディレクトリ 指定したバケットの下にあるフォルダーへのパス。 <あなたのフォルダー名> いいえ フォルダパス
ファイル名 指定したバケットとフォルダー パスの下のファイル名。 <ファイル名> いいえ fileName
プレフィックスの場合
バケツ S3 バケット名。 <バケット名> イエス bucketName
Prefix ソース S3 ファイルをフィルター処理するための、指定されたバケットの下の S3 キー名のプレフィックス。 <あなたのプレフィックス> いいえ prefix
ワイルドカード ファイル パスの場合
バケツ S3 バケット名。 <バケット名> イエス bucketName
ワイルドカード フォルダー パス ソース フォルダーをフィルター処理するための、指定したバケットの下にワイルドカード文字を含むフォルダー パス。 <ワイルドカード文字を使用したフォルダー パス> いいえ wildcardFolderPath
ワイルドカード ファイル名 ソース ファイルをフィルター処理するための、指定したバケットとフォルダー パス (またはワイルドカード フォルダー パス) の下にワイルドカード文字を含むファイル名。 <ワイルドカード文字を使用したファイル名> イエス wildcardFileName
ファイルの一覧
バケツ S3 バケット名。 <バケット名> イエス bucketName
ディレクトリ 指定したバケットの下にあるフォルダーへのパス。 <あなたのフォルダー名> いいえ フォルダパス
ファイル一覧へのパス 指定されたファイル セットをコピーすることを示します。 コピーするファイルの一覧を含むテキスト ファイル (1 行に 1 つのファイル) をポイントします。 < ファイル リストのパス > いいえ fileListPath
ファイル形式 ソース データのファイル形式。 さまざまなファイル形式の詳細については、 サポートされている形式 の記事を参照してください。 / イエス /
再帰的に データをサブフォルダーから再帰的に読み取るか、指定したフォルダーからのみ読み取るかを指定します。 再帰的に選択され、コピー先がファイル ベースのストアである場合、空のフォルダーまたはサブフォルダーはコピーされず、コピー先に作成されません。 ファイル 一覧へのパスを構成する場合、このプロパティは適用されません。 selected (default) または選択解除 いいえ recursive
最終変更によるフィルター処理 [開始時刻,終了時刻] の範囲内の最終変更時刻を含むファイルは、さらに処理するためにフィルター処理されます。 時刻は、 yyyy-mm-ddThh:mm:ss.fffZの形式で UTC タイム ゾーンに適用されます。 これらのプロパティはスキップできます。つまり、ファイル属性フィルターは適用されません。 ファイル パスの種類をファイルのリストとして構成する場合、このプロパティは適用されません。 datetime いいえ modifiedDatetimeStart
modifiedDatetimeEnd
パーティション検出を有効にする ファイル パスからパーティションを解析し、追加のソース列として追加するかどうかを示します。 selected または unselected (default) いいえ enablePartitionDiscovery:
true または false (既定値)
パーティション ルート パス パーティション検出が有効になっている場合は、パーティション分割されたフォルダーをデータ列として読み取るための絶対ルート パスを指定します。 < パーティションのルート パス > いいえ partitionRootPath
最大同時接続数 アクティビティの実行中にデータ ストアに対して確立されるコンカレント接続数の上限。 コンカレント接続数を制限する場合にのみ、値を指定します。 <最大同時接続数> いいえ maxConcurrentConnections
追加の列 ソース ファイルの相対パスまたは静的値を格納するデータ列を追加します。 エクスプレッションは後者に対応しています。 •名前
• 価値
いいえ 追加列:
•名前
•価値

宛先情報

名前 Description 価値 必須 JSON スクリプト プロパティ
接続 コピー先データ ストアへの接続。 <あなたのAmazon S3 接続> イエス 接続
接続の種類 接続の種類を選択します。 Amazon S3 イエス /
ファイル パス 移動先ファイルへのフォルダー/ファイル パス。 <フォルダ/ファイル パス> イエス /
バケツ S3 バケット名。 <バケット名> イエス bucketName
ディレクトリ 指定したバケットの下にあるフォルダーへのパス。 <あなたのフォルダー名> いいえ フォルダパス
ファイル名 指定したバケットとフォルダー パスの下のファイル名。 <ファイル名> いいえ fileName
コピーの動作 ソースがファイル ベースのデータ ストアのファイルの場合は、コピー動作を定義します。 • 階層をフラット化する
• ファイルのマージ
• 階層を保持する
いいえ コピー動作:
• 階層を平坦化する
• MergeFiles
• PreserveHierarchy(階層構造を保持)
最大同時接続数 アクティビティの実行中にデータ ストアに対して確立されるコンカレント接続数の上限。 コンカレント接続数を制限する場合にのみ、値を指定します。 <最大同時接続数> いいえ maxConcurrentConnections