Azure Mobile Appsのテーブルコントローラーを使用してテーブルを表示したいと考えていますが、私は何もデータを返すことができません。internal 500 server error
です。私はいくつかの文書に従った:https://shellmonger.com/2016/04/15/30-days-of-zumo-v2-azure-mobile-apps-day-8-table-controller-basics/しかし、それは私の見解に到達することができないかのようです。ここで Azure Mobile Appsのテーブルコントローラを使用してビューにアクセスするにはどうすればよいですか?
mytable.jsから
私の理解私たちがここで言っていることは 'テーブル名がmytable
と呼ばれているということですが、私はそれが呼ばれるテーブルを探したいですmy_awesome_view 'は実際にはテーブルではなくモバイルアプリが考えられる限り、それはうまくいくはずです。次に、ページあたり1000個の商品を返すような追加情報があります。
var table = require('azure-mobile-apps').table();
table.name = 'mytable';
table.schema = 'dbo';
table.dynamicSchema = true;
table.databaseTableName = 'my_awesome_view';
table.maxTop = 1000;
module.exports = table;
このコードはmy_awesome_view
と呼ばれる私のビューは、単一の下に戻って列の唯一のカップルを引っ張るwwwroot/tables/mytable.js
てMyDatabase /ビュー/ dbo.my_awesome_view
で私の紺碧のサーバーに保存されています調子。私はある私の見解で簡単にテーブルで作成された追加の列を含めるように言われてきたdeleted
、createdAt
、updatedAt
私はテストのAPIとのためのポストマンと呼ばれるアプリケーションを使用
SELECT mytable.id,
name,
deleted,
createdAt,
updatedAt
FROM mytable
WHERE name = 'Bob'
私は、このエンドポイントを照会するときhttps://mybackend.azurewebsites.net/tables/mytable
私はこの内部500サーバーのエラーを除いて何も戻っていません。エラーメッセージには、何が間違っているかについての詳細はありません。
誰でもこの問題を解決できますか?テーブルエンドポイントが正常に動作するコードを削除すると、そこにある私のビューに到達していないと感じます。
更新
@AdrianHallによって与えられたいくつかのアドバイスの後、私は、アプリケーションのログファイルを見ても、動的なスキームオプションをオフにしています。
Error occurred during table initialization RequestError: Cannot alter 'dbo.my_awesome_view' because it is not a table.
それはしかし、私が持っているコードを追加すると、システムが私の見解を読み取ることができるようにすべきであるというのが私の理解したビューですので、理にかなって:アプリケーションログには、次のエラーメッセージが表示されます。
1)dynamicSchemaをオフにします。ビューのみのテーブルでは機能しません。 2)App Serviceの診断ログを有効にし、ログビューアを使用して、サーバーがクラッシュする理由を確認します。私は、動的スキーマはビューに失敗しているスキーマビューのSQLコマンドを生成していると思います。 –
追加情報ありがとう@AdrianHall私は 'table.dynamicSchema'をオフにしましたが、助けにはなりません。エラーログ、特にアプリケーションログを確認しました。エラーは次のとおりです。 'テーブルの初期化中にエラーが発生しました。RequestError: 'dbo.my_awesome_view'はテーブルではないため変更できません。 – Yanayaya