Aravind,

Streaming is supported in GCS java client. Have a look at here [8]

[8]
https://github.com/GoogleCloudPlatform/java-docs-samples/blob/master/storage/json-api/src/main/java/StorageSample.java#L104

Thanks
Dimuthu

On Thu, Apr 16, 2020 at 9:56 PM Aravind Ramalingam <poke...@gmail.com>
wrote:

> Hello Dimuthu,
>
> As a followup, we explored GCS in detail. We are faced with a small
> dilemma. We found that though GCS has a Java support, but the functionality
> does not seem to extend to a stream based upload and download.
> The documentation says it is currently done with a gsutil command line
> library [7], hence we are confused if we would be able to proceed the GCS
> integration.
>
> Could you please give us any suggestions? Also we were wondering if we
> could maybe take up Box integration or some other provider if GCS proves
> not possible currently.
>
> [7] https://cloud.google.com/storage/docs/streaming
>
> Thank you
> Aravind Ramalingam
>
> On Thu, Apr 16, 2020 at 12:45 AM Aravind Ramalingam <poke...@gmail.com>
> wrote:
>
>> Hello Dimuthu,
>>
>> We had just started looking into Azure and GCS. Since Azure is done we
>> will take up and explore GCS.
>>
>> Thank you for the update.
>>
>> Thank you
>> Aravind Ramalingam
>>
>> On Apr 16, 2020, at 00:30, DImuthu Upeksha <dimuthu.upeks...@gmail.com>
>> wrote:
>>
>> 
>> Aravind,
>>
>> I'm not sure whether you have made any progress on Azure transport yet. I
>> got a chance to look into that [6]. Let me know if you are working on GCS
>> or any other so that I can plan ahead. Next I will be focusing on Box
>> transport.
>>
>> [6]
>> https://github.com/apache/airavata-mft/commit/013ed494eb958990d0a6f90186a53103e1237bcd
>>
>> Thanks
>> Dimuthu
>>
>> On Mon, Apr 6, 2020 at 5:19 PM Aravind Ramalingam <poke...@gmail.com>
>> wrote:
>>
>>> Hi  Dimuthu,
>>>
>>> Thank you for the update. We look into it and get an idea about how the
>>> system works.
>>> We were hoping to try an implementation for GCS, we will also look into
>>> Azure.
>>>
>>> Thank you
>>> Aravind Ramalingam
>>>
>>> On Mon, Apr 6, 2020 at 4:44 PM DImuthu Upeksha <
>>> dimuthu.upeks...@gmail.com> wrote:
>>>
>>>> Aravind,
>>>>
>>>> Here [2] is the complete commit for S3 transport implementation but
>>>> don't get confused by the amount of changes as this includes both transport
>>>> implementation and the service backend implementations. If you need to
>>>> implement a new transport, you need to implement a Receiver, Sender and a
>>>> MetadataCollector like this [3]. Then you need to add that resource support
>>>> to Resource service and Secret service [4] [5]. You can similarly do that
>>>> for Azure. A sample SCP -> S3 transfer request is like below. Hope that
>>>> helps.
>>>>
>>>> String sourceId = "remote-ssh-resource";
>>>> String sourceToken = "local-ssh-cred";
>>>> String sourceType = "SCP";
>>>> String destId = "s3-file";
>>>> String destToken = "s3-cred";
>>>> String destType = "S3";
>>>>
>>>> TransferApiRequest request = TransferApiRequest.newBuilder()
>>>>         .setSourceId(sourceId)
>>>>         .setSourceToken(sourceToken)
>>>>         .setSourceType(sourceType)
>>>>         .setDestinationId(destId)
>>>>         .setDestinationToken(destToken)
>>>>         .setDestinationType(destType)
>>>>         .setAffinityTransfer(false).build();
>>>>
>>>>
>>>> [2]
>>>> https://github.com/apache/airavata-mft/commit/62fae3d0ab2921fa8bf0bea7970e233f842e6948
>>>> [3]
>>>> https://github.com/apache/airavata-mft/tree/master/transport/s3-transport/src/main/java/org/apache/airavata/mft/transport/s3
>>>> [4]
>>>> https://github.com/apache/airavata-mft/blob/master/services/resource-service/stub/src/main/proto/ResourceService.proto#L90
>>>> [5]
>>>> https://github.com/apache/airavata-mft/blob/master/services/secret-service/stub/src/main/proto/SecretService.proto#L45
>>>>
>>>> Thanks
>>>> Dimuthu
>>>>
>>>>
>>>> On Sun, Apr 5, 2020 at 12:10 AM DImuthu Upeksha <
>>>> dimuthu.upeks...@gmail.com> wrote:
>>>>
>>>>> There is a working on S3 transport in my local copy. Will commit it
>>>>> once I test it out properly. You can follow the same pattern for any cloud
>>>>> provider which has clients with streaming IO. Streaming among different
>>>>> transfer protocols inside an Agent has been discussed in the last part of
>>>>> this [1] document. Try to get the conceptual idea from that and reverse
>>>>> engineer SCP transport.
>>>>>
>>>>> [1]
>>>>> https://docs.google.com/document/d/1zrO4Z1dn7ENhm1RBdVCw-dDpWiebaZEWy66ceTWoOlo
>>>>>
>>>>> Dimuthu
>>>>>
>>>>> On Sat, Apr 4, 2020 at 9:22 PM Aravind Ramalingam <poke...@gmail.com>
>>>>> wrote:
>>>>>
>>>>>> Hello,
>>>>>>
>>>>>> We were looking at the existing code in the project. We could find
>>>>>> implementations only for local copy and SCP.
>>>>>> We were confused on how to go about with an external provider like S3
>>>>>> or Azure? Since it would require integrating with their respective 
>>>>>> clients.
>>>>>>
>>>>>> Thank you
>>>>>> Aravind Ramalingam
>>>>>>
>>>>>> > On Apr 4, 2020, at 21:15, Suresh Marru <sma...@apache.org> wrote:
>>>>>> >
>>>>>> > Hi Aravind,
>>>>>> >
>>>>>> > I have to catch up with the code, but you may want to look at the
>>>>>> S3 implementation and extend it to Azure, GCP or other cloud services 
>>>>>> like
>>>>>> Box, Dropbox and so on.
>>>>>> >
>>>>>> > There could be many use cases, here is an idea:
>>>>>> >
>>>>>> > * Compute a job on a supercomputer with SCP access and push the
>>>>>> outputs to a Cloud storage.
>>>>>> >
>>>>>> > Suresh
>>>>>> >
>>>>>> >> On Apr 4, 2020, at 8:09 PM, Aravind Ramalingam <poke...@gmail.com>
>>>>>> wrote:
>>>>>> >>
>>>>>> >> Hello,
>>>>>> >>
>>>>>> >> We set up the MFT project on local system and tested out SCP
>>>>>> transfer between JetStream VMs, we were wondering how the support can be
>>>>>> extended for AWS/GCS.
>>>>>> >>
>>>>>> >> As per our understanding, the current implementation has support
>>>>>> for two protocols i.e. local-transport and scp-transport. Would we have 
>>>>>> to
>>>>>> modify/add to the code base to extend support for AWS/GCS clients?
>>>>>> >>
>>>>>> >> Could you please provide suggestions for this use case.
>>>>>> >>
>>>>>> >> Thank you
>>>>>> >> Aravind Ramalingam
>>>>>> >
>>>>>>
>>>>>

Reply via email to