0

如何将存储在亚马逊 s3 云存储中的文本文件中的单词与搜索栏中的用户输入进行匹配,然后下载特定文件?

4

2 回答 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 回答