MCPcopy Create free account
hub / github.com/featureform/featureform / CreateFilePath

Method CreateFilePath

provider/filestore.go:291–317  ·  view source on GitHub ↗
(key string)

Source from the content-addressed store, hash-verified

289}
290
291func (s3 *S3FileStore) CreateFilePath(key string) (filestore.Filepath, error) {
292 fp := filestore.S3Filepath{}
293 // **NOTE:** It's possible we'll need to change this default based on whether the
294 // user employs EMR as their Spark executor
295 // See here for details: https://stackoverflow.com/questions/69984233/spark-s3-write-s3-vs-s3a-connectors
296 if err := fp.SetScheme(filestore.S3Prefix); err != nil {
297 return nil, err
298 }
299 if err := fp.SetBucket(s3.Bucket); err != nil {
300 return nil, err
301 }
302 var err error
303
304 if s3.Path != "" && !strings.HasPrefix(key, s3.Path) {
305 err = fp.SetKey(fmt.Sprintf("%s/%s", s3.Path, strings.Trim(key, "/")))
306 } else {
307 err = fp.SetKey(strings.Trim(key, "/"))
308 }
309 if err != nil {
310 return nil, err
311 }
312 fp.SetIsDir(false)
313 if err := fp.Validate(); err != nil {
314 return nil, err
315 }
316 return &fp, nil
317}
318
319func (s3 *S3FileStore) CreateDirPath(key string) (filestore.Filepath, error) {
320 fp, err := s3.CreateFilePath(key)

Callers 1

CreateDirPathMethod · 0.95

Calls 5

ValidateMethod · 0.95
SetSchemeMethod · 0.65
SetBucketMethod · 0.65
SetKeyMethod · 0.65
SetIsDirMethod · 0.65

Tested by

no test coverage detected