はじめに
OpenWhisk をちまちま使ってみようとしているので忘れないようにメモ
Bluemix OpenWhisk
とりあえずBluemix版で感触をつかむ
マイ・アクション
Bluemix OpenWhisk のDevelop
タブを開くと作成済みのアクションやルールが表示されます。
※デフォルトで下記のHello World
用のアクションとシーケンスがあります。
右下に表示される「RESTエンドポイントの表示」を選択します。
エンドポイントURLへのPOST
をそのまま投げると401
が返ってきますのでAPI Keyを設定します。
API Keyの確認には画面左上の「資料」を選択します。
※ちゃんとした管理画面あるようでしたら誰か教えてください・・・
新しいタブが開くので「iOS SDK」を選択します。
WhiskAppKey
WhiskAppSecret
がAPI Keyになるのでこれを使います。
API Key設定しエンドポイントURLへのPOSTが成功するとactivationId
が返ってきます。
Bluemix OpenWhisk のMonitor
タブで先程返ってきたactivationId
と同じ値のアクティビティー・ログが出ているのが確認できます。
マイ・シーケンス
シーケンスもアクションと同様にRESTで実行してみたいと思います。
アクションと同様にRESTのエンドポイントを確認してみますが今度はありません。
APIをコールすると判るのですがシーケンスもアクションの扱いになっています。
annotations
のvalueでシーケンスなのか何らかの単一アクションなのか区別しているようです。
IBM Bluemix penWhisk API Docs
ということでシーケンスの場合も実行方法は単体のアクションと基本は同じで良くて
URLの後半/actions/Hello%20World
となっていた部分を/actions/My%20First%20Sequence
に変更して実行します。
先程返ってきたactivationId
と同じ値のMy First Sequence
のアクティビティー・ログが出ているのが確認できます。
続くHello World
とecho
はシーケンス定義の順に呼び出しがされていることも確認できます。
ちょっとした疑問
API KEYに関して資料の「CLI」のページに以下のような記述があります。
認証モデルでは、各名前空間に固有の認証キーが関連付けられるようになっています。
これってキーが最初に設定されたら、ずっと固定ってことなのかな?
外部から呼び出したいときはAPI Connect
とかのGatewayが必須かな?