1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

こんなに簡単!AsteriaでAWS CLIコマンドが実行できる

Last updated at Posted at 2025-09-23

AWS CLIコマンドを利用することはできますか?

現在、AWSのS3は広く利用されており、Asteria上でもS3からのダウンロード操作が頻繁に行われています。もちろん、AsteriaデザイナーにはS3からのダウンロード用コンポーネント(AWS S3Download)が標準で用意されていますが、時にはCLIコマンドを直接利用して、複数のファイルを柔軟にまとめてダウンロードすることで、思いがけない便利さを実感できる場合があります。

Asteria AWS S3 コンポーネント

image.png

例えば、複数のファイルがある場合、ファイル名の日付部分は毎日変わりますし、すべてのファイルが毎日存在するとは限りません。

こんな状況でAsteriaデザイナーのコンポーネントを使う場合、まずファイルがあるかどうかチェックする必要があります。ファイル名が統一されていないものがたくさんある場合は、AWS CLIを使って直接ダウンロードする方法が効率的でおすすめです。

では、例を挙げてご説明いたしましょう。

S3上に以下のファイルが存在しています。
1. sampleCsv_1_20250101.csv
2. sampleAsteria_2_20250101.csv
3. sampleAws_3_20250101.csv
4. sampleCli_4_20250101.csv
5. sampleBat_5_20250101.csv

AWS S3のcpコマンドを利用すると、わずか2行で全ファイルをダウンロードすることが可能です。まずは、CLIコマンドを組み込んだBatプログラムを作成します。

AWS_CLI_COMMAND.bat
@echo off
setlocal enabledelayedexpansion

set S3_BUCKET=%1
set TARGET_FOLDER=%2
set DATE_PARAM=%3

set AWS_ACCESS_KEY_ID=AXXXXXXXXXXXXXXXXXXX
set AWS_SECRET_ACCESS_KEY=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

set PREFIX_LIST=sampleCsv_1_ sampleAsteria_2_ sampleAws_3_ sampleCli_4_ sampleBat_5_

for %%P in (%PREFIX_LIST%) do (
    aws s3 ls s3://%S3_BUCKET%/ --recursive | findstr "%%P%DATE_PARAM%" >nul 2>&1
    
    if !errorlevel! equ 0 (
        aws s3 cp s3://%S3_BUCKET%/ %TARGET_FOLDER% --recursive --exclude "*" --include "%%P%DATE_PARAM%*"
    )
)

endlocal
◆Batプログラム呼出す

image.png

◆マップ設定

image.png

S3上の「csv-store-jp」バケットに保存されているcsvファイルを、
\\DWH\shared\yyyyMMdd(前日の日付)のフォルダにダウンロードしました。

いかがでしたか?
この記事が少しでも参考になれば幸いです。
ご意見やご感想がありましたら、コメントでお知らせください。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?