質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Visual Studio Code

Visual Studio Codeとは、Microsoft社が開発したマルチプラットフォーム対応のテキストエディタです。Visual Studioファミリーの一員でもあります。拡張性とカスタマイズ性が高く、テキストエディタでありながら、IDEと遜色ない機能を備えることができます。

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Azure

Azureは、マイクロソフトのクラウド プラットフォームで、旧称は Windows Azureです。PaaSとIaaSを組み合わせることで、 コンピューティング・ストレージ・データ・ネットワーキング・アプリケーションなど多くの機能を持ちます。

Q&A

解決済

1回答

526閲覧

Azure API Management とAzure Functionsを使用したApp serviceの実装

mt_engineeeeer

総合スコア3

Visual Studio Code

Visual Studio Codeとは、Microsoft社が開発したマルチプラットフォーム対応のテキストエディタです。Visual Studioファミリーの一員でもあります。拡張性とカスタマイズ性が高く、テキストエディタでありながら、IDEと遜色ない機能を備えることができます。

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Azure

Azureは、マイクロソフトのクラウド プラットフォームで、旧称は Windows Azureです。PaaSとIaaSを組み合わせることで、 コンピューティング・ストレージ・データ・ネットワーキング・アプリケーションなど多くの機能を持ちます。

0グッド

1クリップ

投稿2022/03/09 02:19

App serviceからAzure API Managementを介してAzure Functionsを呼び出して、結果をアプリの画面に表示したいです。
言語はjavascriptです。

現状:App serviceからAzure API Managementを介してAzure Functionsは呼び出せています。
結果がアプリまで帰ってこないで、ずっとくるくる更新ボタンが回って、タイムアウトするという状態です。
たぶん、Functionsの結果返却先が分からないのだと思いますが、記載の仕方が分からないです。

以下、Functionsに記載のfunctions.json,index.jsです。
functions.json

{ "bindings": [ { "authLevel": "function", "type": "httpTrigger", "direction": "in", "name": "req", "methods": [ "get", "post" ] }, { "type": "http", "direction": "out", "name": "res", "methods": [ "get", "post" ] }, { "type": "cosmosDB", "name": "inputDocument", "databaseName": "ToDoList", "collectionName": "Items", "createIfNotExists": "false", "sqlQuery": "SELECT * FROM c WHERE c.id = {id}", "connectionStringSetting": "CosmosDbConnectionString", "direction": "in" } ] }

index.js

module.exports = async function (context, req) { var documents = context.bindings.inputDocument; context.res = { body: documents }; context.done(); };

以下 アプリの記載
Sarch.js

const router = require("express").Router(); router.get("/", async (req, res, next) => { var idparam = req.query.id; var request = require('request'); var options ={ url: "XXXXXXXXXXX(伏字にします)", headers: { "content-type": "application/json" }, body: JSON.stringify({id: `${idparam}`}) }; request.post(options, function(error, response, body) { console.log(body); }); }); module.exports = router;

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

こんにちは。

Functionsは問題なさそうに見えます。
App Service側(Node.js)のトラブルシューティングをしてみてください。

  • ローカル環境で実行した際に、Sarch.jsは動作しているか
  • res.send()やres.render()でテストレスポンスを送信してみる
  • ローカルで動作しているのであれば、App Serviceの問題の診断と解決ブレードからアプリケーションログなどを確認してみる

私もローカルで動作していたのですがApp Serviceにデプロイするとrequestモジュールを使っている部分でエラーが出ていて、クライアント(ブラウザ)側ではタイムアウトが起きていました。以下、よければ参考にしてください。

https://dev.classmethod.jp/articles/visual-studio-code-azure-app-service-ext-remote-error/

投稿2022/03/18 21:38

Tak1wa

総合スコア4791

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問