バケットって?
バケットとは、FORGEが提供している、アナタ専用のストレージです。今回はこのバケットを作成してみます。手順は- バケット作成用のアクセストークンを取得する。
- バケットを作成する。
の二段階です。この手順ですが、チュートリアルが提供されているので、これを実行してみましょう。
Create an App-Managed Bucket and Upload a File
アプリ用バケットを作成して、ファイルをアップロードする
というまさに今回の目的にピッタリのチュートリアルです。ただし、Before You Begin (始める前に)のところを見てみると、
Make sure that you have registered an app and successfully acquired an OAuth token with scopes bucket:create, bucket:read, and data:write. This will allow you to create a bucket, get bucket details, and upload a file.
アプリケーションを登録し、アクセストークンを「bucket:create」、「bucket:read」、「data:write.」の各スコープを使って取得してください。これらのスコープを使って得たアクセストークンは、「バケットを作る」、「バケットの詳細情報を得る」、「バケットにファイルをアップロードする」ためのトークンとなります。
などとかいています。ということは、これからバケットを新たに作成するのですから
スコープを[bucket:create]として、アクセストークンを取得
しておく必要があるってことですねー。ではまず、前回の例にならってアクセストークンを手に入れてみます。こちらにHTTPリクエストに必要な項目が書かれています。それによると
Method and URI
POST https://developer.api.autodesk.com/authentication/v1/authenticateHeaders
Content-Type application/x-www-form-urlencodedBody Structure
client_id 前回同様、アプリケーションの登録画面にあります。client_secret アプリケーションの登録画面にあります
grant_type 必ず「client_credentials」に設定します。
scope 今回は「bucket:create」です。
必要な情報がわかったところで、DHCを起動して設定します。
DHCに必要事項を設定して[Send] |
説明を追加 |
Step1:Create a bucket
では、チュートリアルに戻ります。チュートリアルにはBefore uploading a file, create a bucket and set a retention policy using the POST buckets endpoint.
ファイルをアップロードする前にバケットを作成し、ファイルを保持する期間を決めてください。
と書いています。バケットにはアップロードされたファイルを保持する期間があります。マニュアルにはこちらに書いています。
Transient
24時間保持Temporary
30日間保持。Persistent
ずっと保持。この3種類です。チュートリアルではTransientを選択しています。
では作成してみましょう・・・・と言いたいところですが、マニュアルの例はcURLコマンドラインによる解説なので、こちらをみて必要な情報を確認しましょう。
これによると、
今回のData Format はJSON |
- JSON(ジェイソン、JavaScript Object Notation)は軽量なデータ記述言語の1つである。
となっていました。えー?JavaScript ぉー(´・ω・`)。そんなもん知らんぞ!
そして、その書式は
- {キー:値,キー:値・・・・・・}
です。なんだ、簡単じゃん。文字列の書式のことね。これならいけそう。
さらに、だんだんわかってきたのですが、HTTPリクエストには「ヘッダー」と「ボディ」があり、これはDHCの以下の部分に相当するようです。
DHCの画面もヘッダーとボディに分かれている |
では、DHCでリクエストの送信先などを設定しましょう。
リクエストの送信先(endpointというらしい)
https://developer.api.autodesk.com/oss/v2/bucketsメソッド
POSTそしてBODYの書式がJSONなので、BOSYの右端の▼をおしてtextを選択します。残念ながらJSONという選択肢はありません。ですが上記したように簡単な書式なのでtextで十分です。
BODYの書式をtextにする |
ヘッダーの設定
ヘッダーは次のように指定されています。ヘッダーに設定する情報 |
Authorization
Bearer アクセストークンContent-Type
必ず「application/json」x-ads-region
バケットの保存先。USとEMEAが選択できます。USはアメリカで、EMEAはヨーロッパ、中東、アフリカを示すようです。おそらく物理的なサーバーの位置を言ってるのだとは思いますが、詳細はよくわかりません。必須ではないので、今回は指定しません。DHCのヘッダーの設定は下の図のようになります。
Bearer(半角スペース)アクセストークン |
ボディ部分で必ず必要な項目は二つだけです。
bucketKey バケットの名前
A unique name you assign to a bucket. It must be globally unique across all applications andregions, otherwise the call will fail. Possible values: -_.a-z0-9 (between 3-128 characters in
length). Note that you cannot change a bucket key.
グローバルにユニーク、つまり世界でただ一つの名前である必要があります。文字は3以上128以下の文字数で、小文字のアルファベット、数字、-と_と.が使えるそうです。
policyKey
これが上で説明した、ファイルの保持期間で「transient, temporary, persistent」の三つをえらぶことができます。それではDHCのBODY部分を設定します。文字は""で囲むようにします。
BODYの記述 2行目の末尾に,が必要 |
バケットづくり成功!
反応が返ってきて[200 OK]と出れば成功です。200 OK バケット作成成功 |
{
"bucketKey": "blacksmithbucket1203",
"bucketOwner": "n3bCMAZLQ6bRw7t72nNeG4qEsvO7PGYR",
"createdDate": 1480727832782,
"permissions":[
{
"authId": "n3bCMAZLQ6bRw7t72nNeG4qEsvO7PGYR",
"access": "full"
}
],
"policyKey": "transient"
}
無事バケットを作成することができました。ここで、もう一度Sendボタンを押してみます。すると
エラーメッセージ |
つぎに、BODYの名前を「Blacksmithbucket1203」など、大文字のアルファベットを入れて、再度[Send]を押してみます。
エラーメッセージ |
なかなか、親切じゃないですか!
次回は、このバケットにデータをアップロードしてみます。
0 件のコメント:
コメントを投稿