検討中のお客様はこちら

0120-50-6065

10:00〜19:00
土日祝、年末年始除く

お申し込み

一時的Web公開(Temporary URL)

Description

一時的にオブジェクトを公開する場合に使用します。

Temp-Url-Keyを登録後に下記方法等にてURLを作成する必要があります。

・URL作成スクリプトを作成する
・Swift-temp-urlクライアントを使用する

Request URL

ObjectStorage API v1

POST /v1/gpu_{account}

Request Json

This operation does not accept a request body.

Request Parameters

Parameter Value Style Description
X-Auth-Token Userトークン header トークン発行 にて払い出されたID
account テナントID URI API情報を確認する にてご確認ください。
X-Account-Meta-Temp-URL-Key (Optional)   header テナントIDにtempurl用のKeyを付与します。
X-Remove-Account-Meta-Temp-URL-Key (Optional)   header テナントIDからtempurl用のKeyを削除します。

Response

  • Normal response codes
204

Example

  • Request
curl -i -X POST \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "X-Auth-Token: トークンID" \
-H 'X-Account-Meta-Temp-URL-Key: tempurl用のKey' \
https://object-storage.gpu-sys.cloud/v1/gpu_テナントID
  • Response
HTTP/1.1 204 No Content
Content-Length: 0
Content-Type: text/html; charset=UTF-8
X-Trans-Id: tx8ec1eb55f97b455fbbc17-005f3492e7
Date: Thu, 13 Aug 2020 01:09:59 GMT

Using

  • 1.一時的な公開用のコンテナを作成します。
     ※作成方法の詳細は、コンテナ作成・更新 にてご確認ください。
curl -i -X PUT \
-H "Accept: application/json" \
-H "X-Auth-Token: トークンID" \
https://object-storage.gpu-sys.cloud/v1/gpu_テナントID/コンテナ名
  • 2.手順1で作成したコンテナに公開したいオブジェクトをアップロードします。
     ※アップロード方法の詳細は、オブジェクトアップロード にてご確認ください。
curl -i -X PUT \
-H "Accept: application/json" \
-H "X-Auth-Token: トークンID" \
-T 対象データのパス \
https://object-storage.gpu-sys.cloud/v1/gpu_テナントID/コンテナ名/オブジェクト名
  • 3.tempurl用のKeyを登録します。
     ※ここでは、key名をtest-keyとします。
curl -i -X POST \
-H "Accept: application/json" \
-H "X-Auth-Token: トークンID" \
-H 'X-Account-Meta-Temp-URL-Key: test-key' \
https://object-storage.gpu-sys.cloud/v1/gpu_テナントID
  • 4.tempurl生成するため、下記モジュールを作成します。
     ※ここでは24時間で生成、モジュール名はcreate-tempurl.pyとします。
vim create-tempurl.py
import hmac
from hashlib import sha1
from time import time
method = 'GET'
duration_in_seconds = 60*60*24
expires = int(time() + duration_in_seconds)
path = '/v1/gpu_テナントID/コンテナ名/オブジェクト名'
key = 'test-key'
hmac_body = '%s\n%s\n%s' % (method, expires, path)
sig = hmac.new(key, hmac_body, sha1).hexdigest()
s = 'https://{host}{path}?temp_url_sig={sig}&temp_url_expires={expires}'
url = s.format(host='objectstore-r4nd1001.app-sys.jp', path=path, sig=sig, expires=expires)
print '%s' % url
  • 5.手順4で作成したモジュールを実行し、一時的なURLを出力させます。
     ※レスポンス結果のURLに接続すると対象のオブジェクトのダウンロードが可能です。
  • Request
/usr/bin/python create-tempurl.py
  • Response
https://objectstore-r4nd1001.app-sys.jp/v1/gpu_テナントID/コンテナ名/オブジェクト名?temp_url_sig=ee05826f653182d60bae38ccf6ace2c105183c40&temp_url_expires=1597282874