はじめに
Oracle Cloud の勉強の一環で、公式のチュートリアルを基に進めていきます。公式のチュートリアルでは日本語、かつ、GUI操作の内容となっています。わかりやすく書かれているので、基本はこちらを参照していただけるとよいと思います。
このQiitaの記事は、上記のチュートリアルを CLI であえて実施した備忘録として書きます。
CLI の理由は、GUIと比べて再現性や再実行性が高いのと、なんとなくかっこいいから
今回のテーマ
Object Storage を使ってみる
https://community.oracle.com/docs/DOC-1019520
前提作業
oci cliの導入
oci cli と jq コマンドを使用可能なこと。次のQiita記事で導入した手順を書いています
https://qiita.com/sugimount/items/63a8cfe1163030ae8804
Privateのバケットの場合
バケットの作成 (Private)
Object Storage上で、Privateのバケットを作成します
oci os bucket create --name tutorial-bucket1 --public-access-type NoPublicAccess --storage-tier Standard
FileのUpload
test用のファイルを作成
echo 'test' > ~/test2/test.txt
testファイルをアップロード
oci os object put --bucket-name tutorial-bucket1 --file '/home/sugi/test2/test.txt' --name tutorial-testput.txt
事前認証リクエストの作成
OCI にログインしていない環境から、Object Storage 上のファイルをダウンロード/アップロードを許可ために、事前認証リクエスト(Pre-Authenticated Request )を作成します
access-typeには以下の4種類があります
- ObjectRead : 指定したオブジェクトに対してダウンロードのみ可能なURLを生成
- ObjectWrite : 指定したオブジェクトに対してアップロードのみ可能なURLを生成
- ObjectReadWrite : 指定したオブジェクトに対してダウンロード・アップロードが可能なURLを生成
- AnyObjectWrite : 指定したバケットに対して、アップロード可能なURLを生成
oci os preauth-request create --bucket-name tutorial-bucket1 --name tutorial-preauth1 --access-type ObjectRead --object-name tutorial-testput.txt --time-expires 2019-03-15T20:30:00Z
実行例
> oci os preauth-request create --bucket-name tutorial-bucket1 --name tutorial-preauth1 --access-type ObjectRead --object-name tutorial-testput.txt --time-expires 2019-03-15T20:30:00Z
{
"data": {
"access-type": "ObjectRead",
"access-uri": "/p/gjk75dZS9F76VHFi0J_yYrJOsDW3K1UvD7Liuhs312E/n/sugimount2/b/tutorial-bucket1/o/tutorial-testput.txt",
"id": "AMvrTdsZ49xSV3SIWChmpE/wd71qwVukTKd/w4Tzpm8=:tutorial-testput.txt",
"name": "tutorial-preauth1",
"object-name": "tutorial-testput.txt",
"time-created": "2019-02-05T00:55:36.916000+00:00",
"time-expires": "2019-03-15T20:30:00+00:00"
}
}
上記に記載されている access-uri を使用して、アクセスしたいエンドポイントにアクセスすると、ファイルをダウンロードすることが出来ます
wget -XGET https://objectstorage.us-ashburn-1.oraclecloud.com/p/gjk75dZS9F76VHFi0J_yYrJOsDW3K1UvD7Liuhs312E/n/sugimount2/b/tutorial-bucket1/o/tutorial-testput.txt
参考URL
チュートリアル一覧