আমি এডাব্লুএস ল্যাম্বদা দিয়ে শুরু করছি এবং আমি আমার হ্যান্ডলার ফাংশন থেকে একটি বাহ্যিক পরিষেবার জন্য অনুরোধ করার চেষ্টা করছি। এই উত্তর অনুসারে , এইচটিটিপি অনুরোধগুলির ঠিকঠাক কাজ করা উচিত, এবং অন্যথায় বলে এমন কোনও ডকুমেন্টেশন আমি পাইনি। (আসলে, লোকেরা এমন কোড পোস্ট করেছে যা এসএমএস প্রেরণে টোভিলিও এপিআই ব্যবহার করে ))
আমার হ্যান্ডলারের কোডটি হ'ল:
var http = require('http');
exports.handler = function(event, context) {
console.log('start request to ' + event.url)
http.get(event.url, function(res) {
console.log("Got response: " + res.statusCode);
}).on('error', function(e) {
console.log("Got error: " + e.message);
});
console.log('end request to ' + event.url)
context.done(null);
}
এবং আমি আমার ক্লাউডওয়াচ লগগুলিতে নিম্নলিখিত 4 টি লাইন দেখতে পেয়েছি:
2015-02-11 07:38:06 UTC START RequestId: eb19c89d-b1c0-11e4-bceb-d310b88d37e2
2015-02-11 07:38:06 UTC eb19c89d-b1c0-11e4-bceb-d310b88d37e2 start request to http://www.google.com
2015-02-11 07:38:06 UTC eb19c89d-b1c0-11e4-bceb-d310b88d37e2 end request to http://www.google.com
2015-02-11 07:38:06 UTC END RequestId: eb19c89d-b1c0-11e4-bceb-d310b88d37e2
আমি সেখানে অন্য লাইন আশা করব:
2015-02-11 07:38:06 UTC eb19c89d-b1c0-11e4-bceb-d310b88d37e2 Got response: 302
তবে তা অনুপস্থিত যদি আমি আমার স্থানীয় মেশিনে নোডে হ্যান্ডলার মোড়ক ছাড়াই প্রয়োজনীয় অংশটি ব্যবহার করি তবে কোডটি প্রত্যাশার মতো কাজ করে।
inputfile.txt
আমি ব্যবহার করছি জন্য invoke-async
কল, তা হল:
{
"url":"http://www.google.com"
}
দেখে মনে হচ্ছে হ্যান্ডলার কোডটির সেই অংশটি যা অনুরোধটি পুরোপুরি বাদ দেয়। আমি অনুরোধটি lib দিয়ে শুরু করেছি এবং http
একটি ন্যূনতম উদাহরণ তৈরি করতে প্লেইন ব্যবহার করে ফিরে এসেছি । আমি লগগুলি পরীক্ষা করতে আমার নিয়ন্ত্রণ করে এমন একটি পরিষেবার URL এর অনুরোধ করার চেষ্টা করেছি এবং কোনও অনুরোধ আসেনি।
আমি পুরো স্টম্পড। নোড এবং / বা এডাব্লুএস ল্যাম্বদা এইচটিটিপি অনুরোধটি কার্যকর না করার কোনও কারণ আছে?