Question
アマゾンウェブサービスアクティビティパッケージを使用して、AWSのS3バケットにファイルをアップロードすることを検討しています。
『オブジェクトをフォルダーからアップロード』アクティビティの以下の項目の意味について教えてください。
- バケット
- ストレージクラス
- タグ
- サブフォルダーを含む
- プレフィックス
- 暗号化
オブジェクトをフォルダーからアップロード
Answer
各項目の意味は以下の通りです。
バケット
AWSS3Bucket型の変数を指定します。
バケットをAWSS3Bucket型の変数として取得する例として、『バケットを取得』アクティビティを使用し、取得した出力変数を”バケット”の項目に指定します。
『バケットを取得』アクティビティの設定例は以下の通りです。
例:
入力 > バケット名:アップロード対象のバケット名
出力 > バケット:AWSS3Bucket型の変数
参考:
「バケットを取得」
ストレージクラス
アップロードするオブジェクトをどのストレージクラスに保存するかの設定になります。
S3のコンソール上、各オブジェクトの”ストレージクラス”に表示される項目です。
AWSのガイドとなりますが、ストレージクラスの詳細については以下に記載があります。
参考:
「Amazon S3 ストレージクラス」
タグ
アップロードされるオブジェクトにつけるタグを設定します。タグが不要であれば設定の必要はありません。
オブジェクトのプロパティに表示されるタグに反映されます。
Datatable型の変数で指定し、1列目にキー、2列目に値を格納したデータテーブルを用意します。
以下は『データテーブルを構築』アクティビティでタグを設定した例です。
![]()
サブフォルダーを含む
例として、接続元端末上に以下のようなフォルダ構造を用意する場合を考えます。
Folder1/
├─ subFolder/
│ ├─ example2.txt
├─ example1.txt
上記の[Folder1]を『オブジェクトをフォルダーからアップロード』アクティビティの”フォルダに指定した場合、アップロードされる対象がそれぞれ以下のようになります。
"サブフォルダーを含む"がTrueの場合:
subFolder/
├─ example2.txt
example1.txt
"サブフォルダーを含む"がFalseの場合:
example1.txt
上記のように、"サブフォルダーを含む"がTrueの場合、指定したフォルダ内にフォルダがある場合はその階層も含めてアップロードします。
一方Falseの場合、指定したフォルダ直下に配置されているファイルのみアップロードされます。
(フォルダとその配下のファイルやフォルダはアップロードされません)
プレフィックス
アップロード先のフォルダ名を指定します。
指定しない場合はバケット直下にファイルまたはフォルダがアップロードされます。
上記のサブフォルダの例の構造を例にすると、バケットに以下のような階層が作成されます。
プレフィックスに指定したフォルダ名/
├─ subFolder/
│ ├─ example2.txt
├─ example1.txt
暗号化
オブジェクトを Amazon S3 に保存する場合の暗号化の方法を指定します。
この値が [なし] でバケットに既定の暗号化方法を設定している場合、その設定に従いS3 によってオブジェクトが暗号化されます。”なし”、”AES 256"の場合は暗号化キーの指定は必要ありません。
AWSのアナウンスに、2023年1月5以降にアップロードされるすべてのオブジェクトは自動的に暗号化されるとの記載があります。
参考:
「Amazon S3 now automatically encrypts all new objects」
参考:
「オブジェクトをフォルダーからアップロード」