MCPcopy
hub / github.com/wal-g/wal-g / Upload

Method Upload

internal/uploader.go:194–210  ·  view source on GitHub ↗
(ctx context.Context, path string, content io.Reader)

Source from the content-addressed store, hash-verified

192}
193
194func (uploader *RegularUploader) Upload(ctx context.Context, path string, content io.Reader) error {
195 uploader.waitGroup.Add(1)
196 defer uploader.waitGroup.Done()
197
198 statistics.WalgMetrics.UploadedFilesTotal.Inc()
199 if uploader.tarSize != nil {
200 content = utility.NewWithSizeReader(content, uploader.tarSize)
201 }
202 err := uploader.UploadingFolder.PutObjectWithContext(ctx, path, content)
203 if err != nil {
204 statistics.WalgMetrics.UploadedFilesFailedTotal.Inc()
205 uploader.failed.Load()
206 tracelog.ErrorLogger.Printf(tracelog.GetErrorFormatter()+"\n", err)
207 return err
208 }
209 return nil
210}
211
212// UploadJSON uploads raw JSON to storage without allocating memory for whole JSON.
213func (uploader *RegularUploader) UploadJSON(ctx context.Context, path string, data any) error {

Callers 6

uploadFileMethod · 0.95
UploadJSONMethod · 0.95
UploadMultipleMethod · 0.95
TestUploadFunction · 0.95
TestUploadMockFunction · 0.95

Calls 4

NewWithSizeReaderFunction · 0.92
PutObjectWithContextMethod · 0.65
AddMethod · 0.45
LoadMethod · 0.45

Tested by 2

TestUploadFunction · 0.76
TestUploadMockFunction · 0.76