• sago

AirtableでファイルをAPI経由でアップロードする

何回か当社ブログで紹介しているクラウド型のローコードデータベース『Airtable』のAPIの話です。


手動でAirtableに画像やファイルをアップロードするのは簡単かつ多彩なオプションが用意されています。

AirtableのファイルアップロードUI
AirtableのファイルアップロードUI

例えば、複数のFileMaker Goから写真を撮ってAirtableにアップロードし、FileMaker Proで集約するシステムを低ライセンスコストで構築することが出来ます。

Airtableを利用したシステム
Airtableを利用したシステム

しかし、FileMaker からAPI経由でAirtableにファイルを追加するには少し回り道する必要があります。

何故ならば、API経由でファイルをアップロードするには画像のURLを指定する必要があるからです。ですので、ファイルを予めクラウドにアップロードしておく必要があります。


公式コミュニティの議論はこちら

https://community.airtable.com/t/is-it-possible-to-upload-attachments/188/16

Base64変換されたものをアップロードする仕組みなら良かったのですが・・・。

真っ当な手段を取るなら「imgur」の様な画像アップロードサービスやDropboxを使うのが良いと思います。

しかし、最終的にAirtableからFileMaker Pro/Goにダウンロードすれば良いので、

  1. 画像やファイルをBase64変換してAirtableの複数の「Long text」フィールドに保存

  2. ダウンロード時にテキストを結合して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.

https://support.airtable.com/hc/en-us/articles/360042311934-Long-text-field


閲覧数:188回0件のコメント

最新記事

すべて表示