LoginSignup
2
0
お題は不問!Qiita Engineer Festa 2023で記事投稿!

【FileMaker】cURLでファイルをダウンロードする

Last updated at Posted at 2023-07-04

前回の記事では、FileMakerのcurlを使ってファイル内容を取得しました。

今回は、ファイルサーバーなどからファイル自身をダウンロードする方法です。
前回の記事を読まなくても大丈夫!

ホスト側に他システムからcsvやExcelでテンポラリ的にデータを出力して、FileMakerにそのデータを取り込む、というような流れです。
図にすると、こんな感じですね。
スクリーンショット 2023-07-04 14.51.16.png

実行環境

前回同様、cURLの扱えるようになったFileMaker Pro ver.16以上でお試しください。
この記事用に作成したサンプルは、FileMaker Pro 19.6.3です。

curlがちょっと不安な方

こちらで、注意点をまとめています。
合わせてご覧ください。

本家curlオプション一覧

Claris FileMakerのヘルプにある、「サポートされている cURL オプション」は必ずチェックしましょう。
今回、この記事で使用しているオプションは、ほんの一例です。

前提

ファイルサーバーなどで、ポートを開けておく設定などはすでに済んでいるものとします。

基本的なダウンロードのcurl文

curl -u {user}:{pass} -O ftp://{host}/{file}

"-u"はFTP用に割り振られたユーザ名とパスワードを指定します。
"-O"はアウトプットの"O"です。
接続先のアドレスとダウンロードするファイルをcurl文に指定することで、目的のファイルをダウンロードできます。

ということで、今回必要な情報は、以下になります。

・FTPなどのユーザー名
・FTPなどのパスワード
・接続するサーバーのアドレス
・ダウンロードするファイル名

FileMakerのステップに割り当てる

この、curl文をFileMakerの「URL から挿入」に割り当てます。

図解してみました。
スクリーンショット 2023-07-04 15.09.21.png

基本的にcurlで使うオプションは同じように使えます。
FileMakerでサポートされているcurlオプションには限りがありますので、ヘルプのサポートされている cURL オプションは必ずチェックしましょう。
大事なことなので、記事中2回言いました。

実装はこれだけです。
この1行だけです。

実際に運用で使えるようにするには、エラー処理やファイル名の組み立てなどあるかと思いますが、実際にファイルをダウンロードする行はこの1行のみです。

TLS/SSLの場合のオプション

TLS/SSL通信を使う場合は、curlでいう"--ftp-ssl"は、FileMakerでは"--ssl"を指定します。
「URL から挿入」のcURLオプションの指定部分に、"--ssl"を追加するだけです。
スクリーンショット 2023-07-04 15.23.19.png

"--ssl"を"-o"の後ろにつづけて書くと、ファイル名と認識されてしまうので、前につけましょう。

SCP/SFTPの場合のオプション

基本的にオプションは変わらないです。
変わるのは、「URL を指定」の部分で指定する、"ftp"が"scp"や"sftp"に変わるだけです。
ファイル転送のプロトコルが変わるので、プロトコル名を変更する、という感じでしょうか。。。
追加するオプションがあるとすれば、"--pubkey"など、セキュリティ関連でパブリックキーファイルを指定して使用します。

FTPはユーザー名やパスワードなどの認証情報や転送するデータを暗号化しないで送ります。
このため、ファイルの盗聴などリスキーと言われています。
TLS/SSLやSFTPなどでより安全にデータの送受信を実装しましょう〜

ファイルをダウンロードできたら

あとは煮るなり焼くなりしましょう。
例えば、csvファイルでしたら、「ファイルに関連するスクリプトステップ」で中身をFileMakerのテーブルなどに展開するもよし、加工して再度ファイルをアップロードしてもよし。

そしたらアップロードもしたいよね

ということで、アップロードも備忘録として次回残しておきます。

2
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
2
0