2017-08-17 9 views
1

私はScript Explorerからこれを実行しようとした - >Stored Procedureビューが、私は保存&がを実行]ボタンを使用する場合、それだけで、次のエラーメッセージで結果が得られます。紺碧のポータルからcosmos dbのストアドプロシージャを保存して実行する方法は?

は、スクリプトの保存に失敗しました

データベース・アカウント:myaccountname、脚本:HelloWorldの、メッセージ:{ "コード":500、 "身体": "{\" のメッセージが\ ":\" エラーが が発生しました\ "}"。}

Resultsのテキストボックスは変更されていません。以下は

それは紺碧のポータルにどのように見えるのスクリーンショットです: Azure portal does not Save and Execute Stored Procedure

+0

これはパーティション化されたコレクションですか? –

+0

そのコレクションは分割されていません。 –

答えて

0

あなたはAzureのポータル上でこの機能をテストしたい場合は、パラメータ「接頭辞」を削除して、変数名「接頭辞」を追加することができますストアドプロシージャ。

このエラーの理由は、この関数は外部(パラメータ経由)からのデータを必要とし、Azureポータルではこの関数を提供しないためです。

function upsertFans() { 
    var prefix = ""; 
    var collection = getContext().getCollection(); 

    // Query documents and take 1st item. 
    var isAccepted = collection.queryDocuments(
     collection.getSelfLink(), 
     'SELECT * FROM root r', 
     function (err, feed, options) { 
      if (err) throw err; 

      // Check the feed and if empty, set the body to 'no docs found', 
      // else take 1st element from feed 
      if (!feed || !feed.length) 
       getContext().getResponse().setBody('no docs found'); 
      else 
       getContext().getResponse().setBody(prefix + JSON.stringify(feed[0])); 
     }); 

    if (!isAccepted) throw new Error('The query was not accepted by the server.'); 
} 
+0

このアプローチはうまくいかないようです。パラメータを削除した後に 'Save&Execute'しようとしましたが、「スクリプトの保存に失敗しました」というエラーメッセージが表示されます –

+0

@MichaelRätzel:うーん...スクリプトを"保存 "できますか?上記のスクリプトを更新したばかりです(コード内のマークダウンの文字を削除します)。コードをコピーして「保存して実行」を試すことができます。それでも実行できない場合は、教えてください。 –

+0

私はあなたのコードでこれをもう一度テストしましたが、これは結果です。「ストアドプロシージャの保存に失敗しました」というエラーメッセージが表示されたまま、スクリプトは実際に保存されました。保存されたストアドプロシージャーは、手動でビューを更新した後に表示されました。だから貯蓄が働いた。私がまだ分かっていないのは、紺碧のポータルからストアドプロシージャを実行する方法です。 'Results'の下のテキストボックスはまだ空です。しかし、私は、ストアドプロシージャが与えられたコードで何かを出力すると期待します。 –

0

@MichaelRätzel:非常に単純なCosmosDBスクリプトを作成し、Azure Portalで実行しました。

function TestSample() { 
    getContext().getResponse().setBody("Hello World"); 
} 

そして、ここに私の結果である:

Azure Portal screenshot of succesful save

私はFailed to save the stored procedureについてのあなたと同じ問題を抱えて。私はその問題を解決するためにやったことです:

  1. Saveストアドプロシージャの最初の
  2. 左クリックし、左の列
  3. Save & Execute上の現在のSPへ
  4. SP

私はこれがあると思いますAzure Portalの技術的な問題。これを試して結果を教えてください。

+0

あなたの提案通りに試しました。ここに私が見たものがあります:エラーメッセージにもかかわらず、保存しました。それから、私は 'Save&Execute'ボタンを使いました:新しいエラーメッセージが表示されました('スクリプトの保存に失敗しました ')。' Results'の下のテキストボックスは空のままです。したがって、このアプローチでは、ストアドプロシージャの実行の問題は解決されませんでした。 –

+0

Save&Executeは無効になっています。理由はわかりますか? –

関連する問題