Copy アクティビティで Oracle Cloud Storage を構成する
この記事では、データ パイプラインでの Copy アクティビティを使用して、Oracle Cloud Storage からデータをコピーする方法について説明します。
前提条件
Oracle Cloud Storage からデータをコピーするには、前提条件と必要なアクセス許可については、「Object Storage Amazon S3 Compatibility API」を参照してください。
サポートされる形式
Oracle Cloud Storage では、次のファイル形式がサポートされています。 形式ベースの設定については、各記事を参照してください。
サポートされている構成
Copy アクティビティの各タブの構成については、それぞれ次のセクションを参照してください。
全般
[全般] タブの構成で、[全般] に移動します。
ソース
Copy アクティビティの [ソース] タブの Oracle Cloud Storage では、次のプロパティがサポートされています。
次のプロパティは必須です。
[データ ストアの種類]: [外部] を選択します。
[接続]: 接続リストから [Oracle Cloud Storage] 接続を選択します。 接続が存在しない場合は、[新規] を選択して新しい Oracle Cloud Storage 接続を作成します。
[ファイル パスの種類]: ファイル パスの種類として、[ファイル パス]、[プレフィックス]、[ワイルドカード ファイル パス]、または [ファイルの一覧] を選択できます。 これらの各設定の構成は次のとおりです。
[ファイル パス]: [ファイル パス] で指定されたバケットまたはフォルダー/ファイル パスからデータをコピーできます。
プレフィックス: バケットとプレフィックスを指定します。
バケット: Oracle Cloud Storage バケット名を指定します。 これは必須です。
プレフィックス: 指定されたバケットの下にある Oracle クラウド ストレージ キー名のプレフィックスを指定して、ソースの Oracle Cloud Storage ファイルをフィルター処理します。 名前が
given_bucket/this_prefix
で始まる Oracle Cloud Storage キーが選択されます。 ワイルドカード フィルターより優れたパフォーマンスを提供する Oracle Cloud Storage のサービス側フィルターを利用します。
[ワイルドカード ファイル パス]: バケットとワイルドカード パスを指定します。
バケット: Oracle Cloud Storage バケット名を指定します。 これは必須です。
[ワイルドカード パス]: ソース フォルダーまたはファイルをフィルター処理するために、指定したバケットの下の、ワイルドカード文字を含むフォルダーまたはファイル パスを指定します。
使用できるワイルドカードは、
*
(ゼロ文字以上の文字に一致) と?
(ゼロ文字または 1 文字に一致) です。 フォルダー名にワイルドカードまたはこのエスケープ文字が含まれている場合は、^
を使用してエスケープします。 他の例については、「フォルダーとファイル フィルターの例」をご覧ください。- [ワイルドカード フォルダー パス]: ソース フォルダーをフィルター処理するために、指定したバケットの下のワイルドカード文字を含むフォルダーのパスを指定します。
- [ワイルドカード ファイル名]: ソース ファイルをフィルター処理するため、指定したバケットおよびフォルダー パス (またはワイルドカード フォルダー パス) の下のワイルドカード文字を含むファイル名を指定します。
[ファイルの一覧]: [フォルダー パス] と [ファイル リストへのパス] を指定して、指定したファイル セットをコピーします。 コピーするファイルの一覧を含むテキスト ファイルをポイントします。構成されているパスへの相対パスであるファイルを 1 行につき 1 つずつ指定します。 その他の例については、「ファイル リストの例」をご覧ください。
- [フォルダー パス]: 指定されたバケットの下のフォルダーへのパスを指定します。 これは必須です。
- [ファイル リストへのパス]: コピーするファイルの一覧を含むテキスト ファイルのパスを指定します。
[再帰的]: データをサブフォルダーから再帰的に読み取るか、指定したフォルダーからのみ読み取るかを指定します。 このチェックボックスが選択され、読み取り先がファイルベースのストアである場合、空のフォルダーまたはサブフォルダーは読み取り先でコピーも作成もされません。
[ファイル形式]: ドロップダウン リストから適用されるファイル形式を選択します。 [設定] を 選択してファイル形式を構成します。 さまざまなファイル形式の設定については、「サポートされている形式」を参照してください。
[詳細設定] では、次のフィールドを指定できます。
最終更新日でフィルター処理: 指定した最終更新日に基づいてファイルがフィルター処理されます。 ファイル パスの種類を [ファイルの一覧] として構成する場合、このプロパティは適用されません。
- 開始時刻 (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
のように指定すると、Copy アクティビティによって月と日の 2 つの列が生成されます。 これらの列には、ファイル内の列に加えて、それぞれ値 "08" と "27" があります。 - パーティションのルート パスを指定しない場合、追加の列は生成されません。
[最大コンカレント接続数]: アクティビティの実行中にデータ ストアに対して確立されるコンカレント接続数の上限。 コンカレント接続を制限する場合にのみ、値を指定します。
[追加の列]: ソース ファイルの相対パスまたは静的な値を格納するため、データ列をさらに追加します。 後者では式がサポートされています。
マッピング
[マッピング] タブの構成については、「[マッピング] タブでマッピングを構成する」を参照してください。ファイル形式としてバイナリを選択した場合、マッピングはサポートされません。
設定
[設定] タブの構成については、「[設定] タブで他の設定を構成する」を参照してください。
表の概要
次の表に、Oracle Cloud Storage での Copy アクティビティの詳細を示します。
ソース情報
名前 | 内容 | Value | 必須 | JSON スクリプト プロパティ |
---|---|---|---|---|
データ ストアの種類 | データ ストアの種類。 | 外部品目番号 | はい | / |
接続 | ソース データ ストアへの実際の接続。 | <Oracle Cloud Storage 接続> | はい | つながり |
ファイル パスの種類 | ソース データの取得に使用されるファイル パスの種類。 | • ファイル パス • プレフィックス • ワイルドカード ファイル パス • ファイルの一覧 |
はい | / |
ファイル パスの場合 | ||||
バケット | Oracle Cloud Storage バケットの名。 | <ご利用のバケット名> | はい | bucketName |
ディレクトリ | 特定のバケットの下のフォルダーへのパス。 | <フォルダー名> | いいえ | folderpath |
ファイル名 | 指定したバケットおよびフォルダー パスの下のファイル名。 | <ファイル名> | いいえ | fileName |
プレフィックスの場合 | ||||
バケット | Oracle Cloud Storage バケットの名。 | <ご利用のバケット名> | はい | bucketName |
プレフィックス | ソースの Oracle Cloud Storage ファイルをフィルター処理するための、指定されたバケットにある Oracle Cloud Storage キー名のプレフィックス。 | <ご利用のプレフィックス> | いいえ | prefix |
ワイルドカード ファイル パスの場合 | ||||
バケット | Oracle Cloud Storage バケットの名。 | <ご利用のバケット名> | はい | bucketName |
ワイルドカード フォルダー パス | ソース フォルダーをフィルター処理するための、構成されたバケットの下の、ワイルドカード文字を含むフォルダー パス。 | <ワイルドカード文字を含むフォルダー パス> | いいえ | wildcardFolderPath |
ワイルドカードのファイル名 | ソース ファイルをフィルター処理するための、特定のバケットおよびフォルダー パス (またはワイルドカード フォルダー パス) の下のワイルドカード文字を含むファイル名。 | <ワイルドカード文字を含むファイル名> | はい | wildcardFileName |
ファイル一覧 | ||||
バケット | Oracle Cloud Storage バケットの名。 | <ご利用のバケット名> | はい | bucketName |
ディレクトリ | 特定のバケットの下のフォルダーへのパス。 | <フォルダー名> | いいえ | folderpath |
ファイル リストへのパス | 指定されたファイル セットをコピーすることを示します。 1 行に 1 ファイルずつ、コピーするファイルの一覧を含むテキスト ファイルをポイントします。 | < ファイル リストのパス > | いいえ | fileListPath |
ファイル形式 | ソース データのファイル形式。 さまざまなファイル形式の詳細については、「サポートされている形式」の各記事を参照してください。 | / | はい | / |
Recursively | データをサブフォルダーから再帰的に読み取るか、指定したフォルダーからのみ読み取るかを指定します。 このチェックボックスが選択され、読み取り先がファイルベースのストアである場合、空のフォルダーまたはサブフォルダーは読み取り先でコピーも作成もされません。 | 選択済み (デフォルト) または選択解除 | いいえ | recursive |
最終更新日時でフィルター処理 | 最終変更時刻が [開始時刻] から [終了時刻] の範囲内にあるファイルは、さらに処理するためにフィルター処理されます。 時刻は、yyyy-mm-ddThh:mm:ss.fffZ の形式で UTC タイム ゾーンに適用されます。 これらのプロパティはスキップできます。つまり、ファイル属性フィルターは適用されません。 ファイル パスの種類を [ファイルの一覧] として構成する場合、このプロパティは適用されません。 |
datetime | いいえ | modifiedDatetimeStart modifiedDatetimeEnd |
パーティション検出を有効にする | ファイル パスのパーティションを解析し、それをその他のソース列として追加するかどうかを示します。 | 選択または非選択 (既定値) | いいえ | enablePartitionDiscovery: true または false (既定値) |
パーティションのルート パス | パーティション検出が有効になっている場合は、パーティション分割されたフォルダーをデータ列として読み取るための絶対ルート パスを指定します。 | <実際のパーティションのルート パス> | いいえ | partitionRootPath |
[最大コンカレント接続数] | アクティビティの実行中にデータ ストアに対して確立されたコンカレント接続数の上限。 コンカレント接続を制限する場合にのみ、値を指定します。 | <最大コンカレント接続数> | いいえ | maxConcurrentConnections |
追加の列 | ソース ファイルの相対パスまたは静的な値を格納するためにその他のデータ列を追加します。 後者では式がサポートされています。 | • 名前 • 値 |
いいえ | additionalColumns: •名前 • value |