Amazon Textractを使ってみたい方のために、なんとなく実行できるコードを紹介します。
あまり世の中にAmazon Textractを利用したRubyのサンプルコードがなかったので書いてみました。
有用なコードではありませんが、RubyでAmazon Textractをとりあえず利用してみたい方には参考にしていただけるのではないかと思います。
諸注意
- Amazon Textractは有料のサービスです。ちょっと触ってみるだけなら無料枠でおさまるとは思いますが、実行しすぎにはご注意ください。
- 2021年1月2日現在、Amazon Textractでは日本語を読み取ることはできません。
必要なgemをインストールする
- aws-sdk
Amazon TextractのClientクラスインスタンスを生成する
リージョンにバージニア北部を指定しているのは、まだ東京リージョン(ap-northeast-1)では提供されていないためです。
これを省略すると、デフォルトのリージョンが適用されてしまい、デフォルトをap-northeast-1にしている場合は、エラーになってしまい使用できません。
client = Aws::Textract::Client.new(region: 'us-east-1')
AWSの認証情報についてはこちらをご覧ください。
ローカルファイルを読み取る
Amazon Textract ClientクラスのAPIリファレンスを参考にして、テキストを読み取りましょう。
APIリファレンスではS3バケット上のファイルの扱い方も書いてありますが、bytes
に関しての情報が薄かったので、本記事では、bytes
について書かせていただきました。
detected = client.detect_document_text(document: { bytes: URI.open('sample.png').read })