Storage API
Avgidea Storage に対して API 経由でファイルの操作(アップロードやダウンロードなど)を実行できます。
共通パラメータ
% curl -X POST -d '{"accesskey":"<accesskey>", "secret":"<secretkey>", "component":"storage", "action":"<action>" ... }' https://<endpoint url>
パラメータ
accesskey : アクセスキー
secret:シークレットキー
component : storage
action : 実行するアクション
endpoint url : API リクエスト送信先 URL
% curl -X POST -d "{\"accesskey\":\"<accesskey>\", \"secret\":\"<secretkey>\", \"component\":\"storage\", \"action\":\"<action>\" ...}" https://<endpoint url>
注意事項:
Windows 環境下で curl コマンドを使用する場合、左記の例のように二重引用符のみを用いて、JSON データ内ではエスケープします。
ファイルのアップロード
ファイルのアップロードには、下記の2つのステップを実行が必要です。
アップロード用のリファレンスを生成
ローカル環境上のファイルをアップロード
1. アップロード用のリファレンスを生成
% curl -X POST -d '{"accesskey":"<accesskey>", "secret":"<secretkey>", "component":"storage", "action":"putref", "datasource":"ds1", "object":"data.csv"}' https://<endpoint url>
{"data":"https://<upload url>","status":"success"}
パラメータ
action : putref
datasource : Avgidea Storage のデータソース名
object : アップロードするオブジェクト名
戻り値
data : オブジェクトのアップロード先 URL
2. ローカル環境上のファイルをアップロード
% curl -X PUT --upload-file ./data.csv https://<upload url>
パラメータ
upload-file : ローカル環境上のファイル名
upload url : オブジェクトのアップロード先 URL
ファイルのダウンロード
ファイルのダウンロードには、下記の2つのステップを実行が必要です。
ダウンロード用のリファレンスを生成
ローカル環境にファイルをダウンロード
1. ダウンロード用のリファレンスを生成
% curl -X POST -d '{"accesskey":"<accesskey>", "secret":"<secretkey>", "component":"storage", "action":"getref", "datasource":"ds1", "object":"data.csv"}' https://<endpoint url>
{"data":"https://<download url>","status":"success"}
パラメータ
action : getref
datasource : Avgidea Storage のデータソース名
object : ダウンロードするオブジェクト名
戻り値
data : オブジェクトのダウンロード元 URL
2. ローカル環境にファイルをダウンロード
% curl -X GET -o ./data.csv https://<download url>
パラメータ
download url : オブジェクトのダウンロード元 URL
ファイル一覧の取得
% curl -X POST -d '{"accesskey":"<accesskey>", "secret":"<secretkey>", "component":"storage", "action":"list", "datasource":"ds1"}' https://<endpoint url> | jq
{
"data": [
{
"name": "data/file1.txt",
"registeredAt": "2024-04-24T09:42:29.628Z",
"size": 20017,
"updatedAt": "2024-04-24T09:42:29.628Z"
},
...
],
"status": "success"
}
パラメータ
action : list
datasource : Avgidea Storage のデータソース名
戻り値
data : Storage データソース配下のオブジェクト一覧
ファイルの削除
% curl -X POST -d '{"accesskey":"<accesskey>", "secret":"<secretkey>", "component":"storage", "action":"delete", "datasource":"ds1", "object":"file1.txt"}' https://<endpoint url>
パラメータ
action : delete
datasource : Avgidea Storage のデータソース名
object : 削除対象のオブジェクト名
戻り値
オブジェクト削除のステータス