This repository has been archived by the owner. It is now read-only.

Azure Storage support #36

Merged
merged 2 commits into from Jul 31, 2017

Conversation

Projects
None yet
7 participants
@dixpac
Contributor

dixpac commented Jul 10, 2017

Add support for 3th major storage player.
This is still work in progress. Basic upload, url generation and download are working. I have to figure out how to generate signed urls and test the whole thing.

@dhh should we support Azure, If yes I can continue to work on the PR ?

Todo:

  • Ability to upload files from controller
  • Signed URL using Microsoft Shared Access Signatures
  • Downloads in chunks
  • Make tests work with SharedServiceTest concern
  • Direct uploads, almost there! @dhh javascript snippet is working. Azure requires x-ms-blob-type in the header and currently it is not possible to generate it with their gem as query string (I'm trying to work with their gem maintainers to make this happen inside the gem)
@georgeclaghorn

I’m in favor of adding Azure support. DHH will have the final say. 😄

@dhh

This comment has been minimized.

Show comment
Hide comment
@dhh

dhh Jul 10, 2017

Member

Happy to see Azure as an option in the box ❤️. We may well want additional clouds beyond these big three to be additional gems, but S3, GCS, and Azure feel right to me to have by default.

Member

dhh commented Jul 10, 2017

Happy to see Azure as an option in the box ❤️. We may well want additional clouds beyond these big three to be additional gems, but S3, GCS, and Azure feel right to me to have by default.

@joeldrapper

This comment has been minimized.

Show comment
Hide comment
@joeldrapper

joeldrapper Jul 10, 2017

We may well want additional clouds beyond these big three to be additional gems, but S3, GCS, and Azure feel right to me to have by default.

@dhh Would you be open to a PR for Backblaze B2 support, or do you want to keep that separate?

joeldrapper commented Jul 10, 2017

We may well want additional clouds beyond these big three to be additional gems, but S3, GCS, and Azure feel right to me to have by default.

@dhh Would you be open to a PR for Backblaze B2 support, or do you want to keep that separate?

@dhh

This comment has been minimized.

Show comment
Hide comment
@dhh

dhh Jul 10, 2017

Member
Member

dhh commented Jul 10, 2017

@dixpac dixpac changed the title from WIP: Azure Storage support to Azure Storage support Jul 29, 2017

@dixpac

This comment has been minimized.

Show comment
Hide comment
@dixpac

dixpac Jul 29, 2017

Contributor

This is now fully working implementation. Biggest reason for waiting on this was ability to test with StringIO. I've submitted the patch to azure-storage they've approved it 8 days ago but didn't merge it yet. So I added my fork as a development gem until they merge it

cc @dhh @georgeclaghorn

Contributor

dixpac commented Jul 29, 2017

This is now fully working implementation. Biggest reason for waiting on this was ability to test with StringIO. I've submitted the patch to azure-storage they've approved it 8 days ago but didn't merge it yet. So I added my fork as a development gem until they merge it

cc @dhh @georgeclaghorn

Show outdated Hide outdated README.md
@javan

This comment has been minimized.

Show comment
Hide comment
@javan

javan Jul 30, 2017

Member

Now that #83 is in place, you can add a headers_for_direct_upload method to the service and drop README note.

Member

javan commented Jul 30, 2017

Now that #83 is in place, you can add a headers_for_direct_upload method to the service and drop README note.

@dixpac

This comment has been minimized.

Show comment
Hide comment
@dixpac

dixpac Jul 31, 2017

Contributor

@dhh changed to new headers implementation.
@javan works like a charm 👍

Contributor

dixpac commented Jul 31, 2017

@dhh changed to new headers implementation.
@javan works like a charm 👍

@javan

javan approved these changes Jul 31, 2017

@dhh dhh merged commit 3f4a721 into rails:master Jul 31, 2017

1 check passed

continuous-integration/travis-ci/pr The Travis CI build passed
Details
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.