何回か当社ブログで紹介しているクラウド型のローコードデータベース『Airtable』のAPIの話です。
手動でAirtableに画像やファイルをアップロードするのは簡単かつ多彩なオプションが用意されています。
![AirtableのファイルアップロードUI](https://static.wixstatic.com/media/03f5f7_1130bfbb2f484c97b5db436d72d54734~mv2.png/v1/fill/w_980,h_714,al_c,q_90,usm_0.66_1.00_0.01,enc_auto/03f5f7_1130bfbb2f484c97b5db436d72d54734~mv2.png)
例えば、複数のFileMaker Goから写真を撮ってAirtableにアップロードし、FileMaker Proで集約するシステムを低ライセンスコストで構築することが出来ます。
![Airtableを利用したシステム](https://static.wixstatic.com/media/03f5f7_9f2ac05569f54243a9c697c4c5a93788~mv2.png/v1/fill/w_980,h_892,al_c,q_90,usm_0.66_1.00_0.01,enc_auto/03f5f7_9f2ac05569f54243a9c697c4c5a93788~mv2.png)
しかし、FileMaker からAPI経由でAirtableにファイルを追加するには少し回り道する必要があります。
何故ならば、API経由でファイルをアップロードするには画像のURLを指定する必要があるからです。ですので、ファイルを予めクラウドにアップロードしておく必要があります。
公式コミュニティの議論はこちら
Base64変換されたものをアップロードする仕組みなら良かったのですが・・・。
しかし、最終的にAirtableからFileMaker Pro/Goにダウンロードすれば良いので、
画像やファイルをBase64変換してAirtableの複数の「Long text」フィールドに保存
ダウンロード時にテキストを結合してBase64テキストをデコード
とすれば、AirtableとFileMakerだけで完結します。
まとめ
要はFileMakerのライセンスを節約するためにAirtableのAPIを活用。しかし、画像/ファイルのアップロードをするには別のサービスを使う必要がある。
別のサービスを使わない為にBase64変換してテキストとして複数のAirtableのフィールドへアップロードした。
というわけです。
さて、これを利用することで施設の整備点検やアンケート等、入力が比較的単純なクライアントが必要なシステムをFileMakerのライセンスを節約して構築することが出来ます。
ライセンスの節約とは、19.3.1以降のData APIのライセンスの変更に対応できます。(下記灰色部分)
直接FileMaker Server Data APIを使うと接触してしまう可能性がありますが、Airtableを経由することで回避出来ます。
Data API をクライアントライセンスの代替手段として使用することはできません。例として、10ユーザにサービスを提供する場合は10ユーザライセンスまたは同時接続ライセンスを購入する必要があります。
注意点
Airtableの「Long text」フィールドに格納できる文字数は10万文字となっています。
Base64エンコードしたテキストを分割保存する場合は超えないように分割する必要があります。
Note that the long text field currently has a limit of 100k characters.
Comments