投稿

ラベル(S3)が付いた投稿を表示しています

AWS-CLI使い方まとめ(S3編)

本番環境へSSH接続できなくて(権限なし)、DBのdumpファイルをどうやってGETしようか試行錯誤した時の方法です。 セッションマネージャーからAWS-CLIでS3バケットにアップロードして、S3経由で取得できました。 これは色々応用できるなと思い、AWS-CLIの使い方をまとめておきます。 ということでまずはS3操作について... 事前準備 AWS-CLIのインストール https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/cli-chap-install.html $ aws --version aws-cli/1.16.170 Python/3.7.4 Darwin/17.5.0 botocore/1.12.160 設定 以下2ファイルを用意 (無ければ作る) $ cat ~/.aws/config [default] region = ap-northeast-1 $ cat ~/.aws/credentials [default] aws_access_key_id = AAAAAAAAAAAAAAAAAAAA aws_secret_access_key = BBBBBBBBBBBBBBB/CCCCCCCCCCCCCCCCCCCCCCCC ※複数環境を使い分ける場合は、credentialsに設定した[キー]を --profile [キー] で指定する バケットの一覧 書式 aws s3 ls 使用例 $ aws s3 ls 2019-10-02 12:57:09 test.images 2019-10-25 11:52:43 test.bucket 2019-10-23 17:46:10 test.xxxxxxxx 指定バケット配下のファイルの一覧 書式 aws s3 ls {バケット名} 使用例 $ aws s3 ls test.bucket 2019-10-04 18:24:00 1289018 image-0001.png 2019-10-03 16:09:47 1289018 image-0002.p

【AWS】S3へファイルアップロード(PHP)

以前書いた FuelPHPでファイルアップロード の続きで、Amazon S3へアップロードする部分をまとめます。 事前準備 SDKセットアップ composerを使ってインストールします。 以下をcomposer.jsonに追加してcomposer installを実行します。 "aws/aws-sdk-php": "^3.99" 実装 S3へアップロードする処理 ライブラリ use \Aws\Credentials\CredentialProvider; use \Aws\S3\S3Client; use \Aws\S3\Exception\S3Exception; アップロード処理 // ①認証情報を取得 $provider = CredentialProvider::defaultProvider(); // ②S3Clientを生成 $s3client = new S3Client([ 'region' => 'ap-northeast-1', 'version' => '2006-03-01', 'credentials' => $provider, ]); foreach (Upload::get_files() as $file) { // ③URLを決定 $filename = 'images/'.$file['saved_as']; // ④イメージファイルをバイナリモードで開く $image = fopen($file['saved_to'].$file['saved_as'], 'rb'); // ⑤イメージファイルのContentTypeを取得 $content_type = mime_content_type($file['saved_to'].$file['saved_as']); try{ // ⑥S3へアップロード