Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Put blob support, azureite local testing support #28

Merged
merged 1 commit into from
Oct 30, 2023

Conversation

robinbryce
Copy link
Collaborator

@robinbryce robinbryce commented Oct 30, 2023

The new Put interface on the storer uses the azure PUT interface (via the sdk Upload method). This has 'create or replace' semantics and allows the metadata and tags to be set in the same operation.

These semantics are require for forestrie. For blobs that are small enough to be uploaded in one shot (less than 10's of megabytes) this is also significantly more performant.

Additionaly, adds support for testing localy using the azurite opensource blob, queue & tablel emulator. To take advantage of this:

  • Use the taskfile support to launch the emulator in a docker container
  • In go-lang unit tests, use NewDev to create your storer instance. Once created it behaves mostly as the cloud service. Though there are some restrictions on tag and meta data sizes that are smaller than the production versions.

 Mention [stepsize] in a comment if you'd like to report some technical debt. See examples here.

@robinbryce robinbryce force-pushed the dev/robin/8656-put-blob-for-forestrie branch from c4a1fc9 to fd5029a Compare October 30, 2023 09:50
The new Put interface on the storer uses the azure PUT interface (via
the sdk Upload method). This has 'create or replace' semantics and
allows the metadata and tags to be set in the same operation.

These semantics are require for forestrie. For blobs that are small
enough to be uploaded in one shot (less than 10's of megabytes) this is
also significantly more performant.

Additionaly, adds support for testing localy using the azurite
opensource blob, queue & tablel emulator. To take advantage of this:
* Use the taskfile support to launch the emulator in a docker container
* In go-lang unit tests, use NewDev to create your storer instance. Once
  created it behaves mostly as the cloud service. Though there are some
  restrictions on tag and meta data sizes that are smaller than the
  production versions.

AB#8656
@robinbryce robinbryce force-pushed the dev/robin/8656-put-blob-for-forestrie branch from fd5029a to 28f4641 Compare October 30, 2023 09:51
@robinbryce robinbryce merged commit c190382 into main Oct 30, 2023
1 check passed
@robinbryce robinbryce deleted the dev/robin/8656-put-blob-for-forestrie branch October 30, 2023 10:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants