はじめに
こんにちは。すぎもんです。
今回は、HULFT10 for Container ServicesでWebAPI による配信要求をしてみました。HULFTがAPI連携するなんて…どう設定していくのか操作感を見てみます。
HULFT10 for Container Servicesは、HULFT10製品ラインナップの1つであり、記事投稿時点ではAWSサービス上で動くコンテナサービスがリリースされています。
下記の過去記事や公式サイトもあわせてご覧ください。
■ HULFT10 製品紹介ページ
■ HULFT10 for Container Services (コンテナ版HULFT)の環境構築をしてみた
■ HULFT10 for Container Services で Amazon EFS内の実ファイルを確認してみる
今回やること
はじめに認証が必要なため、HULFT10 で転送コンテナ用のユーザーを新規作成し、作成したユーザーから発行したアクセストークンを Secrets Manager に登録します。
認証が完了したら、curl で配信要求の実行と結果の確認をしていきます。
実施手順
- <アクセストークンを使用した認証の設定>
- ・「転送コンテナ」ユーザーの作成
- ・アクセストークンの取得
- ・アクセストークンをSecrets Managerに登録
- ・転送コンテナの再起動
- <配信要求>
- ・配信要求の実行
- ・転送結果の確認
それでは早速やってみましょう!
アクセストークンを使用した認証の設定
アクセストークンを使用した認証の設定について説明します。
- アクセストークンを転送コンテナに設定する手順は以下のとおりです。
- ①「転送コンテナ」ユーザーの作成
- ② アクセストークンの取得
- ③ アクセストークンをSecrets Managerに登録
- ④ 転送コンテナの再起動
認証の流れについて記載している下記のマニュアルもご参照ください
https://dev.hulft.com/help/ja-jp/HULFT-V10/CONT-SUG/Content/HULFT_CONT_SUG/settings/authentication_access_token.htm
①「転送コンテナ」ユーザーの作成
[ホーム] > [Settings] > [ユーザー設定] > [ユーザー管理] を押下します。新規作成ボタンを押下します。
[ユーザー 新規作成] 画面で、
以下の値を設定します。
項目名 | 設定内容 |
---|---|
ユーザーID | (例)transfer_container_admin |
表示名 | (例)転送コンテナの管理者 |
メールアドレス | 所有しているメールアドレスを設定します |
初期パスワード | 初期パスワードを設定します |
ユーザーの権限 | 転送コンテナ |
② アクセストークンの取得
ユーザー管理画面の一覧から、転送コンテナの権限を持ったユーザーIDを選択し [アクセストークンを発行] ボタンを押下します。
アクセストークンの発行ダイアログボックスで、「アクセストークンを発行ボタン」 を押下します。
[Secrets Manager] の値に、取得したアクセストークンを登録する必要があるため、アクセストークンの発行ダイアログで表示されたアクセストークンを確認してメモしておきます。
③ アクセストークンをSecrets Managerに登録
[Secrets Manager] の値に、取得したアクセストークンを登録する必要があるため、CloudFormation Template2 の出力タブの 「TransferControlToken」 に記載されている内容を確認してメモしておきます。
今回は、CLIで登録を行います。
CLIでアクセストークンを登録するコマンドの例
aws secretsmanager put-secret-value --secret-id ${TransferControlToken} --secret-string ${AccessToken}
“secret-id” にはTransferControlTokenに出力されていた値を指定します。
“secret-string” にはAccessTokenに出力されていた値を指定します。
④ 転送コンテナの再起動
登録したアクセストークンを転送コンテナで使用するためには、転送コンテナの再起動が必要です。
転送コンテナを再起動する詳細な手順については下記のリンクをご参照ください。
・[アクセストークンを使用した認証の設定] > [転送コンテナの再起動]
続いて、サービスの更新もCLIで行っていきます。
転送コンテナを再起動するコマンドの例
aws ecs update-service --cluster ${EcsCluster} --service ${EcsService2} --force-new-deployment
“cluster” にはEcsClusterに出力されていた値を指定します。
“service” にはEcsService2に出力されていた値を指定します。
転送コンテナを再起動すると、アクセストークンを使用した認証に変更されます。
配信要求
それでは実際に配信要求を実行して、結果をみてみましょう。
配信要求の実行
今回はコマンドプロンプトを起動し、curlコマンドで配信要求を行います。
コマンドプロンプトで実行する際のコマンドの例
curl -k -i -X POST -c /tmp/cookie.txt -H "Authorization: Bearer AccessToken" -d "{\"file_id\":\"LOOPBACK_ID\"}" https://ControlURL/api/v1/requests/sendings
“ControlURL” にはCloudFormation Template2に出力されていた値を指定します。
“AccessToken” にはHULFT10で発行したアクセストークンの値を指定します。
“file_id” にはHULFT10の配信管理情報で作成したファイルIDを指定します。
ご利用の環境によってオプション等のコマンドは変わります。
転送結果の確認
「202 Accepted」 ステータスから非同期転送が成功したことが確認できます。
202ステータス の詳細については下記のリンクをご参照ください。
・[WebAPI仕様] > [要求発行] > [配信要求] > [202 Accepted 非同期転送]
最後に
今回は、HULFT10 for Container Servicesの配信要求をcurlコマンドで実行してみましたが、いかがだったでしょうか。
API連携可能となり、外部サービスとの連携が簡単になりますしより一層シームレスなデータ連携や自動化ができそうです。今回はcurl実行でしたが、別サービスからの実行なども別記事で試してみようと思います。
このブログでは、今後も様々なTopics記事や接続検証等、皆さんの参考になるような記事を投稿していきたいと思います!
ここまで読んでいただきありがとうございました。それでは、また!