IT人材をお探しの方は、まずはお電話ください。担当営業がすぐにご要望にマッチした人材をご提案いたします。
tel:03-6409-6766 お急ぎの方はお電話ください

ブログTOP > IT・技術関連 > AWS s3apiとは? s3apiコマンドの概要と使用例をご紹介!

AWS s3apiとは? s3apiコマンドの概要と使用例をご紹介!

IT・技術関連 更新日:2024.09.05
エンジニア採用
AWS s3apiとは? s3apiコマンドの概要と使用例をご紹介!

AWS s3apiとは? AWS s3apiとは、AWS CLI(コマンドラインインタフェース)からAmazon S3 APIへの直接アクセスが出来るAPIレベルのコマンドです。 Amazon S3へのアクセス方法はWebコンソール、API、コマンドライン等さまざまな方法がありますが、コマンドラインからのアクセスについては、高レベルとAPIレベルの2通り提供されており、s3apiはそのうちのAPIレベルのアクセスコマンドを指します。

s3コマンドとs3apiコマンドの違い

s3コマンドとs3apiコマンドの違いについて説明します。 s3コマンド(高レベル) s3コマンドは、オブジェクトやバケットの作成、操作、削除など、一般的なタスクの実行ができるコマンドです。 s3apiコマンド(APIレベル) s3apiコマンドは、Amazon S3 APIと同様のことができます。オブジェクトやバケットの作成、操作、削除等に加えて、さらに詳細な操作ができます。 s3コマンドとs3apiコマンドでは、出来ることが違い、一般的なタスクであればs3コマンドで十分ですが、s3apiコマンドではさらに出来ることが増えます。用途によってどちらかを選ぶ必要があります。 一般的な用途であればs3で十分ですが、s3apiではさらに複雑なことができ、S3の高度な機能を使用できます。その代わり、s3apiは理解しなければいけない概念が増えます。次の節で例を示します。

s3apiコマンドの準備

s3apiコマンドの使用例を示す前に、事前準備が必要です。 AWS CLIコマンドを利用する場合には、あらかじめデフォルトの認証情報を設定する必要があります。以下のaws configureコマンドで設定する方法が簡単です。
$aws configure
このコマンドを入力すると、アクセスキー、シークレットアクセスキー、AWS リージョン、出力形式の入力が求められます。アクセスキーとシークレットアクセスキーは、AWS マネジメントコンソールから作成できます。 一度設定すると、AWS CLIにより、credentials ファイルにこれらの情報は保存されます。

s3apiコマンドの使用例

ここでは、s3apiコマンドの使用例をあげます。 以下の例では、新規に AWS S3にオブジェクトを保存します。 ローカルのC:\sample.jpgをAWS S3のバケットEXAMPLE-BUCKETにコピーします。storage-classでは以下のいずれかのストレージクラスを指定できます。ストレージクラスについては、次の節で説明します。 なお、当然ですが書き込みのパーミッションを持っている必要があります。
$aws s3api put-object --bucket EXAMPLE-BUCKET --key sample.jpg --body c:\sample.jpg --storage-class STANDARD_IA
次の例では、AWS S3からオブジェクトを取得します。 具体的には、AWS CLI の get-object コマンドを実行してsample.jpgをダウンロードし、ローカルに保存します。
$aws s3api get-object --bucket EXAMPLE-BUCKET1 --key sample.jpg Outputfile.jpg 

ストレージクラスとは

s3apiに関連して、AWS S3のストレージクラスについて触れておきます。 ストレージクラスとは、AWSストレージの使用料金を最適化する目的でデータの格納方式を指定出来る概念です。 AWS S3ストレージに置くデータは、用途によって使用頻度がさまざまです。システム上、頻繁にアクセスするデータもありますが、バックアップ用途であまりアクセスが発生しないデータもあります。 これらの用途・目的によって、コスト的に最適なストレージは変わります。そこで、ストレージクラスという概念を用いてユーザーが最適なストレージを選択できるようにしています。 次の表に、ストレージクラスの一覧を示します。一般的なデータだとSTANDARDが適しますが、バックアップなどで頻繁にアクセスしないのであれば、GRACIERを選択することでストレージのコストを低減できます。
ストレージクラス 用途
STANDARD デフォルトのストレージクラス。アクセス頻度の高いデータ。
STANDARD_IA アクセスが頻繁ではないデータ。標準に比べてオブジェクト格納料金が安価だが読み出しに課金あり。
ONEZONE_IA STANDARD_IAより安価で、データの読み出しに課金あり。
GRACIER アクセスが頻繁でないアーカイブデータ用。リアルタイムアクセスができない。STANDARDと比較して非常に安価。

s3apiのみで出来ること

s3apiコマンドは、s3コマンドに比べてAPIレベルであり、多機能であると説明しました。 ここでは、s3apiコマンドでのみ制御可能な例をいくつか示します。 カスタム ACL の適用 s3apiコマンドでは、事前定義のアクセスコントロールリスト (ACL) を Amazon S3 オブジェクトに適用できます。つまり、特定のS3オブジェクトのアクセスコントロールの権限をコマンドラインから変更できます。 次の例では、–acl オプションを使用して、2人のAWSユーザー (taro@sample.com と hanako@sample.com) に対象バケット(MyBucket)のフルアクセス権限を適用しています。
$aws s3api put-bucket-acl --bucket MyBucket --grant-full-control 'emailaddress="taro@sample.com",emailaddress="hanako@sample.com"'' 
オブジェクトのストレージクラスを確認 バケット(–bucket)とプリフィックス(–prefix)を指定してlist-objects-v2 コマンドを実行します。このコマンドに対するレスポンスで、S3上での対象オブジェクトのストレージクラスを確認できます。
$ aws s3api list-objects-v2 --bucket YOUR-BUCKET --prefix storage-class
ここではs3apiでのみ可能な、APIレベルでの操作例を示しました。 なお、s3apiで他に使用可能なコマンドは、以下で確認できます。用途に応じて利用すると良いでしょう。
$aws s3api help

AWS s3apiでAPIレベルでのS3活用を!

AWS s3apiは、コマンドラインからS3にアクセスできるAPIレベルのコマンドです。Amazon S3へのアクセスはさまざまな方法で行えます。 コマンドラインからのアクセスについては、高レベルとAPIレベルの2通りが提供されており、s3apiはそのうちのAPIレベルのアクセスコマンドを指します。 AWS S3上のオブジェクトへ対する操作のうち、一般的によく使われるオブジェクトの作成、コピー、移動などについては高レベルのs3コマンドでサポートされています。 ところがAWS S3には、ストレージクラスや、ログ出力アクセスコントロール等、さらに高度な多くの機能があります。 コマンドラインからこれらの機能を操作しようとしてもs3でサポートされていない場合もあり、s3apiを使用してアクセスする必要があります。 本記事では、s3apiでしかできない操作例を含めて紹介しました。s3コマンドなのかs3apiを使う必要があるのかは、行いたいタスクの内容によって見極めると良いでしょう。]]>

この記事の監修者・著者

株式会社オープンアップITエンジニア
株式会社オープンアップITエンジニアAWSパートナー/Salesforce認定コンサルティングパートナー 認定企業
ITエンジニア派遣サービス事業を行っています。AWSやSalesforceなど専門領域に特化したITエンジニアが4,715名在籍し、常時100名以上のITエンジニアの即日派遣が可能です。

・2021年:AWS Japan Certification Award 2020 ライジングスター of the Year 受賞
・2022年3月:人材サービス型 AWSパートナー認定
・AWS認定資格保有者数1,154名(2024年6月現在)
・Salesforce認定コンサルティングパートナー
・Salesforce認定資格者276名在籍(2024年5月現在)
・LPIC+CCNA 認定資格者:472 名(2024年6月時点)
ITエンジニアの派遣を利用したい企業様へ
ITエンジニアを派遣で採用したい企業様へ
  • 求人・転職サイトや自社採用サイトを使っているが、自社に合ったITエンジニアが応募してこない…
  • すぐに採用したいが、応募がぜんぜん集まらない
こんな悩みをお持ちの採用・人事担当者の方は、
オープンアップITエンジニアをご検討ください!

当社のITエンジニア派遣サービスは

  • 派遣スピードが速い!(最短即日)
  • 4,500名のエンジニアから貴社にマッチした人材を派遣
  • 正社員雇用も可能

こんな特長があり、貴社の事業やプロジェクトに合った最適なITエンジニアを派遣可能です。
まずは下記ボタンから無料でご相談ください。

無料相談のお申し込みはこちら
IT・技術関連の記事一覧へ

カテゴリから記事を探す

すべての記事一覧へ