MCPcopy Index your code
hub / github.com/Azure/blobporter

github.com/Azure/blobporter @v0.6.20

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.6.20 ↗ · + Follow
375 symbols 959 edges 34 files 174 documented · 46%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

BlobPorter

Build Status Go Report Card

Introduction

BlobPorter is a data transfer tool for Azure Blob Storage that maximizes throughput through concurrent reads and writes that can scale up and down independently.

Sources and targets are decoupled, this design enables the composition of various transfer scenarios.

From/To Azure Block Blob Azure Page Blob File (Download)
File (Upload) Yes Yes NA
HTTP/HTTPS* Yes Yes Yes
Azure Block Blob Yes Yes Yes
Azure Page Blob Yes Yes Yes
S3 Endpoint Yes Yes No

* The HTTP/HTTPS source must support HTTP byte ranges and return the file size as a response to a HTTP HEAD request.

What's new (0.6.20) ?

  • Blob to Block Blobs transfers use the Put Block from URL API.
  • Proxy support.
  • Minor fixes and performance improvements.
  • Upgrade to Go 1.11

Documentation

Issues and Feedback

If you have a question or find a bug, open a new issue in this repository. BlobPorter is an OSS project maintained by the contributors.

Contribute

If you would like to become an active contributor to this project please follow the instructions provided in Microsoft Azure Projects Contribution Guidelines.


This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.

Extension points exported contracts — how you extend this code

TargetPipeline (Interface)
TargetPipeline operations that abstract how parts a written and processed to a given target [4 implementers]
pipeline/pipeline.go
SourceFilter (Interface)
SourceFilter TODO [2 implementers]
internal/tracker.go
BlobCallback (FuncType)
BlobCallback TODO
internal/azutil.go
EventDelegate (FuncType)
EventDelegate represents a delegate that handles the event
internal/eventsink.go
SourcePipeline (Interface)
SourcePipeline operations that abstract the creation of the empty and read parts channels. [3 implementers]
pipeline/pipeline.go

Core symbols most depended-on inside this repo

PrintUsageDefaults
called by 21
util/util.go
parseAndValidate
called by 17
args.go
NewTransfer
called by 17
transfer/transfer.go
StartTransfer
called by 17
transfer/transfer.go
WaitForCompletion
called by 17
transfer/transfer.go
NewFileSystemSourcePipelineFactory
called by 12
sources/sourcefactory.go
newParamParserValidator
called by 11
args.go
NewAzureBlockTargetPipeline
called by 10
targets/azureblock.go

Shape

Method 165
Function 115
Struct 77
TypeAlias 11
Interface 4
FuncType 3

Languages

Go100%

Modules by API surface

args.go38 symbols
internal/azutil.go36 symbols
pipeline/pipeline.go30 symbols
internal/tracker.go26 symbols
transfer/transfer.go20 symbols
internal/eventsink.go20 symbols
internal/handleman.go19 symbols
transfer/transfer_test.go18 symbols
util/util.go14 symbols
sources/sourcefactory.go13 symbols
sources/perfsource.go12 symbols
progstate.go10 symbols

For agents

$ claude mcp add blobporter \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact