The samples in this scope revolve around the topic of transferring data between two connectors. Here you will learn about the steps required for a transfer on provider as well as consumer side. The samples start with the simple example of a local file transfer and then show different ways to tweak that transfer, before a transfer is performed between different cloud providers.
Before starting with these samples, be sure to check out the basic samples!
Transfer sample 01: Perform a local file transfer
In this sample you will perform your first data transfer. To keep it simple, a file is transferred on your local machine from one directory to another. You will see which extensions and configurations are required for a transfer and learn how to create a data offer as a provider as well as which steps to perform as a consumer.
Transfer sample 02: Implement a transfer listener
As you'll learn in the first transfer sample, the process of a data transfer is executed in a state machine and runs asynchronously in the background after being initiated. This sample is an enhancement of the previous sample and shows how a listener can be used to immediately react to state changes in this asynchronous process.
Transfer sample 03: Modify a TransferProcess
This sample is another enhancement of the first transfer sample. After you've learned how to react to state changes during a data transfer, here you will see how to actively modify a process in the state machine in a thread-safe manner.
Transfer sample 04: Open Telemetry
Now that you've gotten familiar with the process of transferring data, this sample will show
how OpenTelemetry
,Jaeger
, Prometheus
and Micrometer
can be used to collect and visualize
traces and metrics during this process.
Transfer sample 05: Perform a file transfer between cloud providers
While performing a local file transfer is a simple and thereby good first transfer example, you will
likely never encounter this in a real-world scenario. So now we'll move on to a more complex
transfer scenario, where a file is transferred not in the local file system, but between two
different cloud providers. In this sample you will set up
a provider that offers a file located in an Azure Blob Storage
, and a consumer that requests to
transfer this file to an AWS S3 bucket
. Terraform is used for creating all required cloud
resources.
Transfer sample 06: Perform a consumer pull exchange between a consumer and a provider
In this sample, we will describe a step-by-step guide to demonstrate a consumer pull exchange between two connections. One connecter is a consumer and the other is a provider. The consumer will initiate a transfer, and the provider will send an EndpointDataReference to the consumer. Finally, the consumer will be able to access the data by requesting the endpoint that received through the EndpointDataReference.
Transfer sample 07: Perform a provider push exchange between a consumer and a provider
In this sample, we will describe a step-by-step guide to demonstrate a provider push exchange between two connections. One connecter is a consumer and the other is a provider. The consumer will initiate the transfer by sending a DataRequest with any destination type other than HttpProxy, and the provider will fetch the date from the actual DataSource and push it to the consumer.