2017-07-21 20 views
0

私はAWSを学習しており、その一部としてnode.jsを使用してLambdaを作成しようとしています。 次のコードを使用してWebページを呼び出そうとしています。私を修正してください。私は何が欠けているのですか?node.jsでLambdaを使用してWebページを呼び出す

const opn = require('opn'); 
opn('http://google.com', {app: 'firefox'}); 
+0

こんにちは、スタックオーバーフローへようこそ。あなたの way arroundを知るために[welcome tour](https://stackoverflow.com/tour)に行ってください。また、最小限で完全で検証可能なサンプルを作成する方法を具体的に説明する(https://stackoverflow.com/help/asking)方法を確認することをお勧めします。 これらのガイドラインは、今後より良い回答を得るのに役立ちます。あなたのコーディングに幸運を祈る! – DarkCygnus

答えて

0

私はあなたが唯一のラムダとURLをヒットしたい場合は、これを設定する方法を詳述ポストを書きました。すでにCloudWatchの、私が使用したコードとIAMの権限およびスケジューリングはNode.jsの6.10ランタイムでこれを達成する方法のセットアップに知っていればあなたはそれをhere.

を見つけることができます。

exports.handler = (event, context, callback) => { 
var urls = event.urls; 
var http = require("http"); 
var https = require("https"); 
for (var i = 0; i < urls.length; i++) { 
    var protocol = urls[i].Protocol; 
    var domain = urls[i].Domain; 
    var queryString = urls[i].QueryString; 
    var url = protocol + "://" + domain + queryString; 
    if (protocol.toLowerCase() === "http") { 
     var j = i; 
     http.get(url, function(res) { 
      // Get around async. 
      var requestUrl = urls[j].Protocol + "://" + urls[j].Domain + urls[j].QueryString; 
      console.log("Response from " + requestUrl + ": "); 
      console.log(res.statusCode); 
      console.log(res.statusMessage); 
     }).on('error', function(e) { 
      console.log("Got error: " + e.message); 
     }); 
    } else if (protocol.toLowerCase() === "https") { 
     https.get(url, function(res) { 
      var j = i; 
      // Get around async. 
      var requestUrl = urls[j].Protocol + "://" + urls[j].Domain + urls[j].QueryString; 
      console.log("Response from " + requestUrl + ": "); 
      console.log(res.statusCode); 
      console.log(res.statusMessage); 
     }).on('error', function(e) { 
      console.log("Encountered error: " + e.message); 
     }); 
    } 
    // Force break due to async -> output. 
    if ((i+1) == urls.length) { 
     break; 
    } 
} 

};あなたがステップバイステップをしたい場合は、設定するためにシンプルなthis post.をチェックアウトし、

{"urls": [{ 
    "Protocol": "HTTP", 
    "Domain": "www.aaronmedacco.com", 
    "QueryString": ""}, { 
    "Protocol": "HTTPS", 
    "Domain": "www.google.com", 
    "QueryString": "?key=value"}]} 

再び:

次のようなイベントオブジェクトを渡すことで、あなたが起動したいURLを定義します。

+0

ありがとうaton、それは非常に詳細だった。私はそれを試して、あなたに戻ってきます – Mohan

関連する問題