AWS LambdaでJavaを使用して、サイトのURLソースコードを取得しています。私は次のコードを持っています:AWS Lambda - バッファ付きリーダー
URL yahoo = new URL(url);
URLConnection yc = yahoo.openConnection();
yc.addRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)");
BufferedReader in = new BufferedReader(newInputStreamReader(yc.getInputStream(), "UTF-8"));
String inputLine;
StringBuilder a = new StringBuilder();
while ((inputLine = in.readLine()) != null)a.append(inputLine);
in.close();
System.out.println(a.toString());
いくつかのサイトでは、コードは絶対にうまく動作します。私のローカルマシンで毎回うまく動作します。 AWSラムダ上で実行している場合しかし、それは以下の部分に貼り付けます:
BufferedReader in = new BufferedReader(new InputStreamReader(yc.getInputStream(), "UTF-8"));
は、次に私が取得:タスクは20.00秒後にタイムアウトになりました。ラムダログで
、私は次のエラーを取得する:
ペイロード:java.nio.HeapByteBuffer [POS = 0 LIM = 115キャップ= 115]
私の推測では、それが何かを持っているんですエンコーディングを行う?なぜいくつかのサイトは絶対にうまく処理され、そのコードの行にはまってしまうものがありますか?
すべてのお返事ありがとうございます。
AWSが動作しているVPCに関連する問題があります。 VPC設定をチェックし、微調整する設定があるかどうかを確認してください。 – kosa