Google Cloud Storageのインテグレーション

1. サービス・アカウントからのGoogle Cloud資格情報の取得

サービス・アカウント認証を行うために、次のGoogleのガイドに従って秘密鍵を入手します。https://cloud.google.com/docs/authentication/getting-started

サービス・アカウントをStorage Adminロールで設定します。

必ずJSONとしてエクスポートしてください。

2. Retoolへの追加

Retoolで新規リソースを作成し、typeで「Google Cloud Storage」を選択します。このインテグレーションを参照するラベルを入力します。サービス・アカウント認証を使用している場合は、サービス・アカウントの秘密鍵を、用意されたボックスに入力します。完了したら「Save」を押します。
Resources > Add > Google Cloud Storage

3. バケットの設定

GCSバケットにファイルをアップロードできるようにするには、GCSにCORS機能を設定する必要があります。詳細については、 https://cloud.google.com/storage/docs/configuring-cors を参照してください。

以下に、JSONのcorsファイルの例を示します。これを使用するとRetoolがGoogle Cloud Storageバケットにアクセスできるようになります。注意: Retoolのインスタンスがretool.comでホストされていない場合は「origin」を合わせる必要があります。

[
    {
      "origin": ["https://*.retool.com"],
      "responseHeader": ["Content-Type", "x-goog-acl"],
      "method": ["GET", "HEAD","POST", "PUT", "DELETE"],
      "maxAgeSeconds": 3600
    }
]

すると、以下のコマンドを実行してCORSの設定をバケットに設定することができます。

gsutil cors set cors-file.json gs://your-bucket-name

📘

gsutilのダウンロードと認証

まず、https://cloud.google.com/storage/docs/quickstart-gsutil からgsutilをインストールします。

次に、gcloud initを実行してGoogle Cloudアカウントにログインします。

4. クエリーの作成

これで、Retoolアプリケーション内でクエリーを作成するときに、新規作成したGCSのリソースをResourceドロップダウンから選択できるようになりました。

操作の多くがS3のインテグレーションから直接転送されますが、FilepickerからGCSへファイルをアップロードする場合は、以下のようになります。