getExportMetadata retrieves export metadata from the backend
(ctx context.Context, backend modulecapabilities.BackupBackend, exportID, bucket, path string)
| 904 | |
| 905 | // getExportMetadata retrieves export metadata from the backend |
| 906 | func (s *Scheduler) getExportMetadata(ctx context.Context, backend modulecapabilities.BackupBackend, exportID, bucket, path string) (*ExportMetadata, error) { |
| 907 | data, err := backend.GetObject(ctx, exportID, exportMetadataFile, bucket, path) |
| 908 | if err != nil { |
| 909 | return nil, fmt.Errorf("get metadata: %w", err) |
| 910 | } |
| 911 | |
| 912 | var meta ExportMetadata |
| 913 | if err := json.Unmarshal(data, &meta); err != nil { |
| 914 | return nil, fmt.Errorf("unmarshal metadata: %w", err) |
| 915 | } |
| 916 | |
| 917 | return &meta, nil |
| 918 | } |
| 919 | |
| 920 | func validateExportID(id string) error { |
| 921 | if len(id) > exportIDMaxLength { |