Pythonでfilestack-pythonを用いてファイルをアップロードする

Pythonでfilestack-pythonを用いてファイルをアップロードしてみます。

今回はfilestack-pythonを用います。このライブラリ・モジュールは、Pythonの標準ライブラリではありませんので、事前にインストールする必要があります。さらに、Filestackに事前にアカウント登録しておく必要があります。日本から作成可能で、アカウントは無料で作成することが可能です。無料で作成すると、Filestack Storage 1GBがもれなく付いてきます。Filestack Storageは、アップロードされたファイルを内部で管理されているS3バケットに保存します。

なお、Filestackは、開発者向けの唯一の安全なファイル処理サービスです。

■Python

今回のPythonのバージョンは、「3.8.5」を使用しています。(Windows10)(pythonランチャーでの確認)

■アップロードするファイルを用意する

filestack-pythonを用いてファイルをアップロードしますが、その前にアップロードするファイルを用意します。

今回は「C:\Users\user_\test(フォルダパス)」内にtxt形式のテキストファイル「test.txt」を用意しました。

■APIキーの取得

ファイルが用意できましたので、次にAPIキーを取得します。取得の際は、作成したアカウント情報(メールアドレス,パスワード)でログインページ(https://dev.filestack.com/login/)からログインを行います。

アカウント情報(メールアドレス,パスワード)を入力後、ログインページ下の「Next」ボタンをクリックします。クリックすると「Login Verification(ログイン認証)」ページが表示され、登録したメールアドレスに「Verification Code」が届くので、ページ上の入力欄に入力し、「Verify Code」ボタンをクリックします。

クリックすると、「Filestack Dev Portal」ページが表示されます。このページ内の右側に「APIKEY」が表示されていますので、このAPIキーを取得します。取得の際は、「COPY APIKEY」ボタンをクリックすると、APIキーをコピーできます。

■filestack-pythonを用いてファイルをアップロードする

APIキーが取得できましたので、filestack-pythonを用いてファイルをアップロードするスクリプトを書いていきます。

■コード

from filestack import Client
client = Client('APIキー')

new_filelink = client.upload(filepath=r'C:\Users\user_\test\test.txt')
print(new_filelink.url)

「from import」でfilestackのClientを呼び出します。その後、「client = Client()」でクライアントインスタンスを作成します。作成する際に括弧内に引数,パラメータとしてFilestackAPIキーを渡します。これでこのクラスはファイルのアップロードやURLスクリーンショットの取得などを担当します。

作成後、new_filelink変数を定義し、client.upload()を用います。括弧内には引数,パラメータとして、今回は、ローカルファイルのパス(filepath=r’C:\Users\user_\test\test.txt’)を渡して、アップロードを行います。

最後に、new_filelink.urlでオブジェクトのURLを返すようにします。返されたURLをprint()を用いて出力します。

■実行・検証

このスクリプトを「file_s.py」という名前で、Pythonが実行されている作業ディレクトリ(カレントディレクトリ)に保存し、コマンドプロンプトから実行してみます。

実行してみると、「https://cdn.filestackcontent.com/********」というURLが出力されました。これで独自のS3バケットにファイルを保存され、FilestackURLが発行されたことになります。

このFilestackURLをコピーし、Webブラウザを起動し、アドレスバーに貼り付けて、アクセスしてみます。アクセスすると、アップロードしたファイルの中身が確認できました。

コメント

タイトルとURLをコピーしました