6
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

インフォマティカ・ジャパン株式会社Advent Calendar 2024

Day 23

[CAIレシピ] ファイルアップロードとSecure Agent環境への保存(multipart/form-data)

Last updated at Posted at 2024-12-19

はじめに

この記事では、CAIプロセスの実行を通じて、Secure Agent環境にファイルをアップロード(保存)する実装を確認します。

なお、この記事は次の記事の内容を理解していることを前提としています。

ファイルアップロードとSecure Agent環境への保存(multipart/form-data)

CAI プロセスの作成

次の手順では、テキストファイルを multipart/form-data としてアップロードしてテキストファイルの作成で定義したアプリケーション接続 recipe-appConn-FileWrite のイベント File Writer を使ってSecure Agent環境に保存するCAIプロセスを作成しています

  1. CAIプロセスを次の設定で作成します。

    • 名前を recipe-pca-fileUploadMultipart とする
    • 匿名アクセス を許可する
    • クラウドサーバー にデプロイする
  2. 入力フィールド inputAttachタイプ=添付(Attachment) として定義します。

  3. 一時フィールドとして tmpFile を定義します。定義された接続タイプ にはアプリケーション接続 recipe-appConn-FileWrite を指定、タイプ として File Write Task を指定します。
    image.png

  4. 出力フィールドとして output を定義します。定義された接続タイプ にはアプリケーション接続 recipe-appConn-FileWrite を指定、タイプ として Delimited Content Serialization Result を指定します。
    image.png

  5. CAIプロセスが次の順に実行されるように各種ステップを追加します。
    image.png

  6. 割り当てステップを選択して、次のように設定します。
    image.png
    計算式 sff:getAttachmentName($input.inputAttach) はアップロードしたファイル名を取得しています。

  7. サービスステップの サービス タブを選択して サービスタイプ=接続接続=recipe-appConn-FileWriteアクション=FileWriter を指定します。

  8. サービスステップの 入力フィールド タブを選択して、次のように設定します(Attachmentフィールドは、フィールドの追加ボタンをクリックして追加します)。
    image.png

CAIプロセスの実行

curlコマンドを例とした動作確認結果です。ファイルのアップロードが行えている動作を確認できます。なお、curlの-Fオプションを使用しているため、HTTPリクエスト時のContent-Typeはmultipart/form-dataによりファイルのアップロード処理が実行されています。

curlコマンドと実行結果
//アップロード用のテキストファイル作成
echo "HelloWorld" > /opt/infaUSW5/ff/recipe-fileUploadMultipart.txt

//curlによるCAIプロセスの実行
curl https://<---ご利用のIICS/CAIサーバー--->recipe-psa-fileUploadMultipart \
> -F "inputAttach=@/opt/infaUSW5/ff/recipe-fileUploadMultipart.txt"

//実行結果の確認
$ cat /opt/infaUSW5/ff/tgt/recipe-fileUploadMultipart.txt
HelloWorld

興味深いポイントは、今回は、CAIプロセスのデプロイ先を クラウドサーバー としていましたが、実際にファイルが保存されている場所はSecure Agent実行環境という点です。これはアプリケーション接続がSecure Agentで動いていることに起因した動作です。

Secure Agentにファイルを保存したい場合であっても、必ずしもCAIプロセスをSecure Agentにデプロイする必要はありません。

参照

6
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?