Warning
This feature is only available for our sovity EDC Enterprise Edition.
The following documentation describes the various supported data transfer architectures. Data Transfer Methods
- An active contract agreement for a data offer you want to consume.
- A Use Case Application / Pull Backend that can be reached from the EDC, and that can reach the Data Planes of that EDC.
For the EDC send an EDR to your backend application, you need to initiate a transfer process.
This "transfer process" represents the lifetime of your EDR in which your backend application can initiate as many transfers as it wants, using the EDR it has received.
When initiating the transfer, select Custom Transfer Process Request (JSON)
, and provide:
{
"@type": "https://w3id.org/edc/v0.0.1/ns/TransferRequest",
"https://w3id.org/edc/v0.0.1/ns/dataDestination": {
"https://w3id.org/edc/v0.0.1/ns/type": "HttpProxy"
},
"https://w3id.org/edc/v0.0.1/ns/privateProperties": {
"https://w3id.org/edc/v0.0.1/ns/receiverHttpEndpoint": "{{TARGET_PULL_BACKEND_URL}}"
},
"https://w3id.org/edc/v0.0.1/ns/protocol": "dataspace-protocol-http",
"https://w3id.org/edc/v0.0.1/ns/managedResources": false
}
POST
to https://{{FQDN}}/api/management/v2/transferprocesses
{
"@type": "https://w3id.org/edc/v0.0.1/ns/TransferRequest",
"https://w3id.org/edc/v0.0.1/ns/assetId": "{{ASSET_ID}}",
"https://w3id.org/edc/v0.0.1/ns/contractId": "{{CONTRACT_ID}}",
"https://w3id.org/edc/v0.0.1/ns/connectorAddress": "https://{{PROVIDER_EDC_FQDN}}/api/dsp",
"https://w3id.org/edc/v0.0.1/ns/connectorId": "{{PROVIDER_EDC_PARTICIPANT_ID}}",
"https://w3id.org/edc/v0.0.1/ns/dataDestination": {
"https://w3id.org/edc/v0.0.1/ns/type": "HttpProxy",
"https://w3id.org/edc/v0.0.1/ns/baseUrl": "{{target-url}}"
},
"https://w3id.org/edc/v0.0.1/ns/privateProperties": {
"https://w3id.org/edc/v0.0.1/ns/receiverHttpEndpoint": "{{target-pull-backend-url}}"
},
"https://w3id.org/edc/v0.0.1/ns/protocol": "dataspace-protocol-http",
"https://w3id.org/edc/v0.0.1/ns/managedResources": false
}
Your backend receives the EDR from the EDC by the EDC calling the {{target-pull-backend-url}}
endpoint via POST
method:
{
"id": "2d5348ea-b1e0-4b69-a625-07e7b093944a",
"endpoint": "http://connector-a-dataplane-1:8185/public",
"authKey": "Authorization",
"authCode": "Token ..."
}
Using that EDR, requesting GET
on the EDR's {{endpoint}}
using the header {{authKey}}: {{authCode}}
will return the data.
The authCode
JWT Token can be decoded to find the Contract Agreement ID.
- When method proxying is enabled on the providing side, the request method can be adjusted and will be used by the providing EDC when fetching data from the data source.
- When path proxying is enabled on the providing side, any appended path to the
{{ endpoint }}
will be proxied through to the data source. - When query params proxying is enabled on the providing side, added query params will be passed through to the data source.
- When request body proxying is enabled on the providing side, the request body and content-type headers will be proxied to the provider side.