如何将存储在亚马逊s3云存储中的文本文件中的单词与搜索栏中的用户输入进行匹配,然后下载特定文件?
发布于 2013-09-04 03:44:32
您在亚马逊S3中的文件可以公开,然后使用HttpURLConnection进行访问,如下所示:
import java.io.*;
import java.net.HttpURLConnection;
import java.net.URL;
class Download
{public static void main (String args[])
{String u = "http://s3.amazonaws.com/Bucket/path/file.data";
String d = download(u);
System.err.println("Download "+u+"=\n"+d);
}
public static String download(String u)
{final int B = 1024*1024;
try
{final URL url = new URL(u);
final HttpURLConnection c = (HttpURLConnection)url.openConnection();
c.connect();
final int r = c.getResponseCode();
if (r != 200)
{System.err.println("Got response code "+r+", expected 200, cannot download "+u);
return null;
}
System.err.println("Content length="+c.getContentLength());
final InputStream i = new BufferedInputStream(url.openStream(), B);
final byte data[] = new byte[B];
String o = "";
for(int n = i.read(data); n != -1; n = i.read(data))
{o += new String(data, 0, n);
}
i.close();
return o;
}
catch (Exception e)
{System.err.println("Cannot download "+u+" due to "+e);
}
return null;
}
}如果您无法公开这些文件,则必须使用Amazon IAM创建用户、分配用户权限、生成密钥/密钥组合,然后使用http://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/index.html上记录的Amazon AWS SDK for Java。如果你在这条路线上需要帮助,请在这里留言。
发布于 2014-02-27 16:48:53
检出cloudbash.sh -不仅仅是grep,还有任何在S3上存储数据的linux工具。
https://stackoverflow.com/questions/11920377
复制相似问题