-
Notifications
You must be signed in to change notification settings - Fork 87
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
Definition of submodelDescriptor to support parquet files #942
Comments
This might work similarly to the PCF use-case where the
I'm interested in contributing here. |
@BirgitBoss : Thanks for your input.
|
Is there an explicit requirement
I'm inclined to reuse as much of the |
Hi @arnoweiss ,
I added a md file in the description (Possible solutions) which includes two solutions on how to define the SubModelDescriptors. |
See also md file in description Possible solutions: definition_submodeldescriptors_parquet.md Definition of Submodel Descriptors for Parquet DataSolution 1: File transfer via S3 bucket with EDC AWS extensionIntroduction to File Transfer process in EDC
SubmodelDescriptor for Parquet Data (via File Transfer)For the file transfer via S3 bucket the submodelDescriptor can be defined like: {
...
"submodelDescriptors": [
{
"idShort": "quality-data",
"id": "<uuid>",
"endpoints": [
{
// TODO: Check which interface can be used here. See :https://github.com/admin-shell-io/questions-and-answers?tab=readme-ov-file#id47
"interface": "SUBMODEL-3.0",
"protocolInformation": {
//TODO: href is required. Check if insert NONE is possible.
"href": "not used for transfer via s3 bucket",
"endpointProtocol": "HTTP",
"endpointProtocolVersion": [
"1.1"
],
"subprotocol": "",
"subprotocolBody": "id=<edc-asset-id>;dspEndpoint=<controlplane-url>",
"subprotocolBodyEncoding": "application/octet-stream;type=parquet-snappy",
"securityAttributes": [
{
"type": "NONE",
"key": "NONE",
"value": "NONE"
}
]
}
}
],
"semanticId": {
"type": "ExternalReference",
"keys": [
{
"type": "Submodel",
"value": "urn:samm:io.catenax.vehicle.product_description:3.0.0#ProductDescription"
},
{
"type": "Submodel",
//TBD: New Model which map flatten hirarchy to model (like with "_" or "."). Outcome of the issue: https://github.com/eclipse-tractusx/sldt-semantic-models/issues/762
"value": "urn:samm:io.catenax.vehicle.product_description:3.0.0#FlattenedProductDescription"
}
]
},
"description": [
{
"language": "en",
"text": "submodel-descriptor for quality data which will be transferred via S3 bucket."
}
]
}
]
}
Solution 2: File transfer via S3 bucket without EDC AWS extensionIntroduction to File Transfer process in EDC
SubmodelDescriptor for Parquet Data (via File Transfer)For the file transfer via S3 bucket the submodelDescriptor can be defined like: {
...
"submodelDescriptors": [
{
"idShort": "quality-data",
"id": "<uuid>",
"endpoints": [
{
// TODO: Check which interface can be used here. See :https://github.com/admin-shell-io/questions-and-answers?tab=readme-ov-file#id47
"interface": "SUBMODEL-3.0",
"protocolInformation": {
//Link to Provider AWS S3 Bucket (S3 URI)
"href": "https://example-bucket.s3.us-east-2.amazonaws.com/productDescription. parquet",
"endpointProtocol": "HTTP",
"endpointProtocolVersion": [
"1.1"
],
"subprotocol": "",
"subprotocolBody": "id=<edc-asset-id>;dspEndpoint=<controlplane-url>",
"subprotocolBodyEncoding": "application/octet-stream;type=parquet-snappy",
// TODO: Check credentials for S3 bucket can be used here
"securityAttributes": [
{
// TODO: Clarify which enum can be used
"type": "NONE",
// S3 securityKey
"key": "SecurityKey",
// S3 accessKey
"value": "AccessKey"
}
]
}
}
],
"semanticId": {
"type": "ExternalReference",
"keys": [
{
"type": "Submodel",
"value": "urn:samm:io.catenax.vehicle.product_description:3.0.0#ProductDescription"
},
{
"type": "Submodel",
//TBD: New Model which map flatten hirarchy to model (like with "_" or "."). Outcome of the issue: https://github.com/eclipse-tractusx/sldt-semantic-models/issues/762
"value": "urn:samm:io.catenax.vehicle.product_description:3.0.0#FlattenedProductDescription"
}
]
},
"description": [
{
"language": "en",
"text": "submodel-descriptor for quality data which will be transferred via S3 bucket."
}
]
}
]
} Solution 3: File transfer via HTTPSIf the file size is not too large, the file can be transferred via HTTPS in the usual way. The submodelDescriptor for this case can be defined like: {
...
"submodelDescriptors": [
{
"idShort": "quality-data",
"id": "<uuid>",
"endpoints": [
{
"interface": "productDescription",
"protocolInformation": {
"href": "<provider-edc-dataplane-url>/<path-to-download-file>",
"endpointProtocol": "HTTP",
"endpointProtocolVersion": [
"1.1"
],
"subprotocol": "",
"subprotocolBody": "id=<edc-asset-id>;dspEndpoint=<controlplane-url>",
"subprotocolBodyEncoding": "application/octet-stream;type=parquet-snappy",
"securityAttributes": [
{
"type": "NONE",
"key": "NONE",
"value": "NONE"
}
]
}
}
],
"semanticId": {
"type": "ExternalReference",
"keys": [
{
"type": "Submodel",
//TBD: New Model which map flatten hirarchy to model (like with "_" or ".")
"value": "urn:samm:io.catenax.vehicle.product_description:3.0.0#FlattenedProductDescription"
}
]
},
"description": [
{
"language": "en",
"text": "submodel-descriptor for quality data which will be transferred via HTTPS."
}
]
}
]
} |
As discussed with Birgit, the submodel interface value 'productDescription' is not according to IDTA standards. We need to use interface value as 'SUBMODEL-3.0'. Need to check the mechanism that is used currently through EDC to exchange the consumer Bucket credentials. Through this new defined submodel, consumer won't be able to provide the bucket credentials. So need to find out a way to make async call to provider and get the response for Parquet file location. Example of submodel is attached.ProductDesriptionAsParquetFile.txt |
Hi @thomas-henn : Could you please review the solutions? |
Description
The description of a submodel descriptior in an Asset Administration Shell should be given, with respect to
"interface" (https://admin-shell-io.github.io/aas-specs-antora/IDTA-01002/v3.1/specification/interfaces-payload.html#_endpoint),
"semanticId"
for the use of parquet files.
Acceptance Criteria
Additional Information
Child of Feature: eclipse-tractusx/sig-release#721
linked to: eclipse-tractusx/sldt-semantic-models#762
Possible solutions:definition_submodeldescriptors_parquet.md
The text was updated successfully, but these errors were encountered: