Copy アクティビティで Amazon S3 互換を構成する

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

必要なアクセス許可

Amazon S3 互換対応ストレージからデータをコピーするには、Amazon S3 互換オブジェクト操作に対する次のアクセス許可が付与されている必要があります: s3:GetObject および s3:GetObjectVersion

さらに、接続のテストやルートからのブラウズなどの操作にも s3:ListAllMyBuckets および s3:ListBucket/s3:GetBucketLocation アクセス許可が必要です。

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

サポートされている形式

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

サポートされている構成

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

全般

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

ソース

Copy アクティビティの [ソース] タブの下で、Amazon S3 互換に対し次のプロパティがサポートされています。

Screenshot showing source tab and the list of properties.

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

  • [データ ストアの種類]: [外部] を選択します。

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

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

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

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

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

      • [バケット]: S3 互換ストレージバケット名を指定します。 この引数は必須です。

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

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

      Screenshot showing prefix.

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

      • [バケット]: S3 互換ストレージバケット名を指定します。 この引数は必須です。

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

        使用できるワイルドカードは、* (ゼロ文字以上の文字に一致) と ? (ゼロ文字または 1 文字に一致) です。 フォルダー名にワイルドカードまたはこのエスケープ文字が含まれている場合は、^ を使用してエスケープします。 「フォルダーとファイル フィルターの例」の他の例をご覧ください。 Screenshot showing wildcard file path.[ワイルドカード フォルダー パス]: ソース フォルダーをフィルター処理するために、特定のバケットの下の、ワイルドカード文字を含むフォルダーのパスを指定します。

        [ワイルドカード ファイル名]: ソース ファイルをフィルター処理するための、特定のバケットおよびフォルダー パス (またはワイルドカード フォルダー パス) の下の、ワイルドカード文字を含むファイル名。

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

      Screenshot showing list of files.

      • [フォルダー パス]: 指定されたバケットの下のフォルダーへのパスを指定します。 この引数は必須です。
      • ファイル リストへのパス: コピーするファイルの一覧を含むテキスト ファイルのパスを指定します。
  • ファイル形式: ドロップダウン リストから適用されるファイル形式を選択します。 [設定] を 選択してファイル形式を構成します。 さまざまなファイル形式の設定については、「サポートされている形式」を参照してください。

  • [Recursively]: データをサブフォルダーから再帰的に読み取るか、指定したフォルダーからのみ読み取るかを指定します。 [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 つの列がさらに生成されます。
      • パーティションのルート パスが指定されていない場合、追加の列は生成されません。

      Screenshot showing Enable partition discovery.

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

  • [追加の列]: ソース ファイルの相対パスまたは静的値を格納するための追加のデータ列を追加します。 後者では式がサポートされています。

宛先

Copy アクティビティの [コピー先] タブの下で、Amazon S3 互換に対し次のプロパティがサポートされています。

Screenshot showing destination tab and the list of properties.

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

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

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

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

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

マッピング

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

設定

[設定] タブの構成については、「[設定] タブで他の設定を構成する」を参照してください。

テーブルの概要

次の表に、Amazon S3 互換での Copy アクティビティの詳細を示します。

ソース情報

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

コピー先の情報

名前 Description Value 必須 JSON スクリプト プロパティ
データ ストアの種類 データ ストアの種類。 外部品目番号 はい /
接続 コピー先データ ストアへの接続。 <Amazon S3 互換接続> はい つながり
接続の種類 接続の種類を選択します。 Amazon S3 互換 はい /
ファイル パス 追加先ファイルへのフォルダー/ファイル パス。 <フォルダー/ファイルパス> はい /
バケット S3 互換ストレージ バケット名。 <ご利用のバケット名> はい bucketName
ディレクトリ 特定のバケットの下のフォルダーへのパス。 <フォルダー名> いいえ folderpath
ファイル名 指定したバケットおよびフォルダー パスの下のファイル名。 <ファイル名> いいえ fileName
コピー動作 ソースがファイル ベースのデータ ストアのファイルの場合は、コピー動作を定義します。 • 階層のフラット化
• ファイルのマージ
• 階層の保持
いいえ copyBehavior:
• FlattenHierarchy
• MergeFiles
• PreserveHierarchy
最大コンカレント接続数 アクティビティの実行中にデータ ストアに対して確立されたコンカレント接続数の上限。 コンカレント接続を制限する場合にのみ、値を指定します。 <最大コンカレント接続数> いいえ maxConcurrentConnections