バケットって?
バケットとは、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 件のコメント:
コメントを投稿