如何将存储在亚马逊 s3 云存储中的文本文件中的单词与搜索栏中的用户输入进行匹配,然后下载特定文件?
问问题
160 次
2 回答
0
结帐cloudbash.sh - 不只是 grep,任何用于 S3 数据的 linux 工具。
于 2014-02-27T08:48:52.513 回答
0
您在 Amazon 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中记录的 Amazon AWS SDK for Java ://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/index.html。如果您在该路线上需要帮助,请在此处回复。
于 2013-09-03T19:44:31.933 回答