はじめに
以前に投稿した記事「IBM Cloud Functionsのシーケンスを使ってアプリを実行する」で作成したシーケンスをHttpプロトコルによりイベント起動できるようにしました。
前提
- 「IBM Cloud Functionsのシーケンスを使ってアプリを実行する」で作成したシーケンスが利用可能であること。
Webアクションの有効化
IBM Cloud FunctionsのActionページに遷移します。
readEntitySequenceのWebアクション項目である"無効"をクリックする。
"Webアクションとして有効化"をチェックし"保存"ボタンを押下する。
readEntitySequenceのWebアクション項目が"有効"に変わっている。
動作確認
readEntitySequenceのWebアクション項目である"有効"をクリックする。
Web アクション(認証なしで利用できるURL)とREST API(認証が必要かつPOSTメソッドのみのURL)の2つのURLが表示されます。
両方のURLに対して稼働確認を行います。
今回は、稼働確認用ツールとしてChromeの拡張機能"Talend API Tester"を利用します。
Web アクション(認証なしで利用できるURL)での動作確認
上述のURLを"Talend API Tester"の"SCHEME"に転記します。
添付画像ではURLの最後に拡張子"json"を追加しています。これは稼働確認時に"204 No Content"が発生したため、その対策として拡張子を追加しました。
METHODはこの例ではGETを設定しています。(他のMETHOD(例 POST、PUT、DELETE、PATCH)でも動作可)
"Send"ボタンを押下します。
JSONフォーマットでレスポンスが取得できていることを確認します。
REST API(認証が必要かつPOSTメソッドのみのURL)での動作確認
続いて、認証が必要かつPOSTメソッドのみのURLを使った動作確認です。
この鍵情報を使ってBASIC認証を行うため、表示された値をBASE64でエンコードします。
Windows端末の場合はcertutilコマンドを使ってエンコードすることが可能です。
表示された値をテキストファイルに転記します。そのファイルをBASE64でエンコードし、別ファイルに出力します。
certutil -f -encode API_Key_before_encode.txt API_Key_after_encode.txt
入力長 = 101
出力長 = 198
CertUtil: -encode コマンドは正常に完了しました。
上述のURLにクエリパラメータ"blocking=true"を追加したものを"Talend API Tester"の"SCHEME"に転記します。
HEADERSに以下の2つを追加します。