BigQuery を Looker に接続しようとしています。サンプル データを Google スプレッドシート ドキュメントから BigQuery データセットにプルしています。内部の BigQuery クエリがこのデータセットに対して問題なく実行されているため、この部分は正常に機能しています。Looker フォーラムのこのドキュメントを使用して、BigQuery データセットを Looker に接続するためのサービス アカウント キーを作成しようとしました。残念ながら、ドキュメントは少し古くなっています。Google は現在、キーをアタッチするサービス アカウント (コンピューティング エンジンの既定のサービス アカウント、アプリ エンジンの既定のサービス アカウント、または複数の役割のいずれかを持つことができる新しいサービス アカウント) を尋ねています。
これまでのところ、コンピューティング エンジンのデフォルト サービス アカウント、アプリ エンジンのデフォルト サービス アカウント、および新しいプロジェクト オーナー サービス アカウント用に作成された P12 キーを使用してみました。Looker で接続を作成すると、管理ページで接続が「接続可能、クエリをキャンセル可能、単純な選択クエリを実行可能」であることが確認されます (より複雑なことを行うには接続が必要ですが、今は接続しようとしているところです)。 . SQL Runner を使用して単純な select 10 クエリをテストしたところ、hacker_news や usa_names などの公開データセットをクエリできました。ただし、個人のサンプル データセットに対して同じクエリを実行しようとすると、次のエラーが発生しました。
データの取得に失敗しました - ジョブの実行中に内部エラーが発生し、正常に完了できませんでした。
BigQuery プロジェクトがプルしているベースの Google スプレッドシートの権限は、リンクを知っている同僚が表示できるように設定されています。また、テストする各サービス アカウントを編集者として追加しています (最高の権限があると想定しています)。この時点で、役割の観点から権限の問題であるかどうかを確認するために、考えられるさまざまな役割ごとに新しいサービス アカウントを作成しています。これまでのところ何も機能していないので、どんな洞察も役に立ちます!
更新: 同じ BigQuery データセット内に新しいテーブルを作成しました。新しい表は、以前の表を Google スプレッドシートにダウンロードしただけの CSV ファイルを使用して作成されました。Looker への接続を更新しました。新しいテーブルからプルする select 10 クエリを作成したところ、問題なく動作し、非常に迅速に実行されました。これは、問題が Google スプレッドシートと Google BigQuery の間の権限に関するものであることを暗示しているようです。