
目次
はじめに
{ "error": { "summary": "Bad Request", "detail": "There was a problem querying the data for view '3a912663-29ae-46f7-8634-f663d65b0929'.", "code": "400081" } }
どうやらAPIの戻り値云々ではなく、APIのリクエストの段階で問題が起きているようですね
判明している発現パターン
パターン
原因と解消方法
他のエンドポイントで判明するもの
以下の3つに関してはViewの詳細をする以前に別のエンドポイントを使用することで切り分けが可能です
- 1.APIのアクセスキーを発行したユーザーの権限が足りない
- 2.Viewがパブリッシュされていない
- 3.ワークブックブックがパブリッシュされた直後
APIの使用方法に関してはこちらで詳しく解説しているのでご参照ください
4.データソースのパスワードが埋め込まれていない
原因
データソースの接続設定をした際に、パスワードを埋め込んでいないことにより認証ができていない
解消方法
ワークブックからデータソース>アクション>接続設定の編集へと進み
「必要な場合はユーザーにパスワード用のメッセージを表示」から「接続に埋め込まれたパスワード」を設定すると解消されます
5.マルチデータソースでカスタムSQLを作成している
原因
Tableauではデータソースの設定し、設定したデータソースに対してカスタムSQLを投げることができます。
しかし、TableauのWEB上でカスタムSQLでデータを取得もでき、View上でもデータが確認できるのにREST APIではエラーとなることが判明しました。
※マルチデータソースだけでなく、Mysqlなど1つのデータソースに複数のDBが含まれている場合なども同様でした。
解消方法
Tableau Cloud上でマルチデータソース設定とカスタムSQL設定はあくまで疎通確認ぐらいとし、 運用ベースで設定する際はTableau DesktopまたはTableau Prepで設定を行う
6.データソースにRedshiftを設定している
原因
これが一番難解でした。複数のテーブルの結合などもなく、View自体は認識されているのに詳細は取れない。
どうやらTableau CloudでRedshiftをデータソースとしてパブリッシュしたワークブックのViewは取得できないことがあるようですね。
もし取得方法をご存知の方がいたら是非教えて欲しいです><
解消方法
こちらで実際に解消することはできました。ただ、設定がmysqlのドライバーのインストールする際などより 数倍は手間がかかったため「Tableau DesktopでRedshiftをデータソースに設定する方法 - CUEBiC TEC BLOG」 で詳細は解説したいと思います。
まとめ
エラーコード400081が出たらまずは以下を疑う。
ポイント
原因切り分け方法
- 1〜3は該当のワークブックまたはviewが取得できているかをまずは確認する
- それでも解決しない場合は4,5,6を疑う
確認された以外でも扱うデータソースによってはまだまだエラーになるパターンは存在しそうです。
発見し次第、更新したいとお思います。
現状は原因に対してエラーコード/メッセージの内容がかなり不親切なので、細分化されたり、公式で
トラブルシューティング方法が発表されることを願います。