ブロックリファレンス

BLOCKS Reference

Google Cloud

GCSマルチファイルコピー

概要

このブロックは、Google Cloud Storage(GCS)上のファイル群をコピーします。フォルダー(末尾が /で終わるもの)のコピーはできません。

異なるバケットへのコピーもできます(ストレージクラスやロケーションが異なっていても可)。

コピー先ファイルが既に存在する場合は、そのファイルはコピー元ファイルで上書きされます。

infoコピー元バケットとコピー先バケットのGCPプロジェクトが異なる場合は、このブロックで使用するGCPサービスアカウントのメールアカウントに対して、コピー元ファイルの読み込み権限とコピー先バケットの書き込み権限を付与しておく必要があります。

プロパティ

プロパティ名 説明
ブロック名

編集パネルに配置した当該ブロックの表示名が変更できます。

ブロックリストパネル中のブロック名は変更されません。

GCPサービスアカウント このブロックで使用するGCPサービスアカウントを選択します。
コピー元ファイルのGCS URL群を持つ変数

コピー元ファイルのGCS URL群を持つ変数を指定します。フォルダー(末尾が /で終わるもの)のコピーはできません。

コピー元ファイルのGCS URL群は、文字列か配列で指定します。それ以外の形式のデータを指定するとエラーとなります。

  • 文字列の場合は、単一ファイルのみの指定となります。
    例:
    "gs://my-bucket/sample.csv"
    
  • 配列の場合は、以下のように指定します。
    例:
    [
      "gs://my-bucket/foo.jpg",
      "gs://my-bucket/bar/baz.jpg",
      "gs://my-bucket/xxx/yyy/zzz.jpg"
    ]
    

info下図のように「GCSからファイルリスト取得」ブロックと組み合わせて使用すると便利です。

コピー先ファイルのGCS URL

コピー先ファイルのGCS URLを指定します。コピー先ファイルが既に存在する場合は、そのファイルはコピー元ファイルで上書きされます。

  • 例:gs://my-bucket/dest/

infoコピー先ファイルに存在しないフォルダーが指定された場合は、そのフォルダーは自動で作成されます。

変数展開の指定が可能][%形式の文字列書式の指定が可能]
ブロックメモ このブロックに関するメモが記載できます。このブロックの処理に影響しません。

使用例

ここでは、「GCSからファイルリスト取得」ブロックで得たファイルリストを元に、「GCSマルチファイルコピー」ブロックを使ってデータをコピー(バックアップ)する例を紹介します。

作成するフローの流れは以下のとおりです。

  1. GCSからファイルリスト取得」ブロックで、GCSの「***-us-central1-data/example/」フォルダーにあるすべてのファイルを取得
  2. GCSマルチファイルコピー」ブロックで、取得したファイルをすべて、GCSの「***-us-central1-data/backup/」フォルダーにコピー

まず、「GCSからファイルリスト取得」ブロックの設定は、以下のようになります。

設定するプロパティと指定値は、以下のとおりです。

プロパティ 設定値
ファイルGCS URL ***-us-central1-data/example/*
実際に試す場合は、***-us-central1-data/example/の部分は、適当なバケット名およびフォルダー名に読み替えてください。
結果を格納する変数 file_list

次に、「GCSマルチファイルコピー」ブロックの設定は、以下のようになります。

設定するプロパティと指定値は、以下のとおりです。

プロパティ 設定値
コピー元ファイルのGCS URL群を持つ変数 file_list
コピー先ファイルのGCS URL ***-us-central1-data/backup/*
実際に試す場合は、***-us-central1-data/backup/の部分は、適当なバケット名およびフォルダー名に読み替えてください。

この2つのブロックをつなげるとフローの完成です。

この情報は役に立ちましたか?