Documentation
¶
Index ¶
- Constants
- Variables
- type CancelUploadRequest
- type CompleteUploadRequest
- type DeleteDatarangeRequest
- type UploadDatarangeRequest
- type UploadDatarangeResponse
- type UploadDatarangeServer
- func (s *UploadDatarangeServer) CancelDatarangeUpload(ctx context.Context, log *slog.Logger, req *CancelUploadRequest) (err error)
- func (s *UploadDatarangeServer) CompleteDatarangeUpload(ctx context.Context, log *slog.Logger, req *CompleteUploadRequest) (err error)
- func (s *UploadDatarangeServer) DeleteDatarange(ctx context.Context, log *slog.Logger, req *DeleteDatarangeRequest) (err error)
- func (s *UploadDatarangeServer) StartDatarangeUpload(ctx context.Context, log *slog.Logger, req *UploadDatarangeRequest) (_ *UploadDatarangeResponse, err error)
- type ValidationError
Constants ¶
View Source
const ( // 5MB minimum part size for S3 multipart upload MinPartSize = 5 * 1024 * 1024 // 100MB maximum part size to keep reasonable number of parts MaxPartSize = 100 * 1024 * 1024 // Maximum number of parts allowed by S3 MaxParts = 10000 )
Variables ¶
View Source
var ErrDatarangeOverlap = fmt.Errorf("datarange overlaps with existing dataranges")
Functions ¶
This section is empty.
Types ¶
type CancelUploadRequest ¶
type CancelUploadRequest struct {
DatarangeUploadID int64 `json:"datarange_upload_id"`
}
type CompleteUploadRequest ¶
type DeleteDatarangeRequest ¶
type UploadDatarangeRequest ¶
type UploadDatarangeResponse ¶
type UploadDatarangeResponse struct {
DatarangeID int64 `json:"datarange_id"` // Upload record ID (for completion) - actual datarange created on success
ObjectKey string `json:"object_key"`
FirstDatapointIndex uint64 `json:"first_datapoint_index"`
// Upload type indicator
UseDirectPut bool `json:"use_direct_put"`
// For multipart upload (DataSize >= 5MB)
PresignedMultipartUploadPutURLs []string `json:"presigned_multipart_upload_urls,omitempty"`
// For direct PUT (DataSize < 5MB)
PresignedDataPutURL string `json:"presigned_data_put_url,omitempty"`
// Common fields
PresignedIndexPutURL string `json:"presigned_index_put_url"`
}
type UploadDatarangeServer ¶
type UploadDatarangeServer struct {
// contains filtered or unexported fields
}
func NewServer ¶
func NewServer(db *pgxpool.Pool, encryptionKey string) (*UploadDatarangeServer, error)
func (*UploadDatarangeServer) CancelDatarangeUpload ¶
func (s *UploadDatarangeServer) CancelDatarangeUpload( ctx context.Context, log *slog.Logger, req *CancelUploadRequest, ) (err error)
func (*UploadDatarangeServer) CompleteDatarangeUpload ¶
func (s *UploadDatarangeServer) CompleteDatarangeUpload(ctx context.Context, log *slog.Logger, req *CompleteUploadRequest) (err error)
func (*UploadDatarangeServer) DeleteDatarange ¶
func (s *UploadDatarangeServer) DeleteDatarange(ctx context.Context, log *slog.Logger, req *DeleteDatarangeRequest) (err error)
func (*UploadDatarangeServer) StartDatarangeUpload ¶
func (s *UploadDatarangeServer) StartDatarangeUpload(ctx context.Context, log *slog.Logger, req *UploadDatarangeRequest) (_ *UploadDatarangeResponse, err error)
type ValidationError ¶
type ValidationError error
Click to show internal directories.
Click to hide internal directories.