Medial Code Documentation
Loading...
Searching...
No Matches
s3_filesys.h
Go to the documentation of this file.
1
7#ifndef DMLC_IO_S3_FILESYS_H_
8#define DMLC_IO_S3_FILESYS_H_
9
10#include <dmlc/filesystem.h>
11#include <vector>
12#include <string>
13
14namespace dmlc {
15namespace io {
17class S3FileSystem : public FileSystem {
18 public:
20 virtual ~S3FileSystem() {}
21
28 void SetCredentials(const std::string& s3_access_id,
29 const std::string& s3_secret_key);
30
36 virtual FileInfo GetPathInfo(const URI &path);
42 virtual void ListDirectory(const URI &path, std::vector<FileInfo> *out_list);
52 virtual Stream *Open(const URI &path, const char* const flag, bool allow_null);
59 virtual SeekStream *OpenForRead(const URI &path, bool allow_null);
64 inline static S3FileSystem *GetInstance(void) {
65 static S3FileSystem instance;
66 return &instance;
67 }
68
69 private:
73 std::string s3_access_id_;
75 std::string s3_secret_key_;
77 std::string s3_session_token_;
79 std::string s3_region_;
81 std::string s3_endpoint_;
83 bool s3_verify_ssl_;
84 bool s3_is_aws_;
85
92 bool TryGetPathInfo(const URI &path, FileInfo *info);
93
99 void ListObjects(const URI &path, std::vector<FileInfo> *out_list);
100};
101} // namespace io
102} // namespace dmlc
103#endif // DMLC_IO_S3_FILESYS_H_
interface of i/o stream that support seek
Definition io.h:109
interface of stream I/O for serialization
Definition io.h:30
S3 filesystem.
Definition s3_filesys.h:17
virtual SeekStream * OpenForRead(const URI &path, bool allow_null)
open a seekable stream for read
Definition s3_filesys.cc:1293
virtual FileInfo GetPathInfo(const URI &path)
get information about a path
Definition s3_filesys.cc:1241
virtual Stream * Open(const URI &path, const char *const flag, bool allow_null)
open a stream, will report error and exit if bad thing happens NOTE: the Stream can continue to work ...
Definition s3_filesys.cc:1279
virtual void ListDirectory(const URI &path, std::vector< FileInfo > *out_list)
list files in a directory
Definition s3_filesys.cc:1249
virtual ~S3FileSystem()
destructor
Definition s3_filesys.h:20
void SetCredentials(const std::string &s3_access_id, const std::string &s3_secret_key)
Sets S3 access credentials.
Definition s3_filesys.cc:1215
static S3FileSystem * GetInstance(void)
get a singleton of S3FileSystem when needed
Definition s3_filesys.h:64
Utilities to manipulate files.
namespace for dmlc
Definition array_view.h:12