This public repository is read-only and no longer maintained. For the latest sample code repositories, visit the SAP Samples organization.
This IoT sample application provides a reference for enabling ingestion and persistence of time series data in customer-managed Azure landscape with integration to SAP IoT. The data in persistence and streaming platform shall conform to SAP defined schema.
SAP IoT Customer-managed Data Persistence and Streaming Abstraction enables SAP Line of Business (LoB) Applications (e.g., Enterprise Product Development) to consume time series data both via REST and streaming from SAP and non-SAP i.e., customer-managed Hyperscaler Data Lake with SAP-defined schema.
You can refer to the SAP Help Documentation on Customer-managed Time Series Data Persistence and Streaming for additional details In this sample application, a reference for building customer-managed device management, ingestion and persistence is provided. You can extend or customize this application based on your requirement, with still conforming to the SAP defined schema as outlined in SAP Defined Schema reference
NOTE: This repository is for reference purpose only. SAP is not responsible for the implementation and/or configuration of Azure resources in your Azure landscape
- SAP Business Technology Platform account with Cloud Foundry enabled
- Subscription to SAP Business Application consuming SAP IoT Services
- Currently only supported in SAP Enterprise Product Development application
- SAP Internet of Things Service instance and service key
- Subscription to Microsoft Azure
- Supported only in Java SE 8 (1.8.0)
Click on the Clone or download
button to download as a zip, or clone the repository on your
desktop.
Follow these steps to create and upload the zip file:
- Run maven build (install) on this project and locate the zip files from the maven build output for the required modules:
- sap-iot-hyperscaler-azure-integration-ref/ingestion-functions/target folder will contain the ingestion-functions.zip file
- sap-iot-hyperscaler-azure-integration-ref/notification-processor/target folder will contain the notification-processor.zip file
- sap-iot-hyperscaler-azure-integration-ref/device-management-functions/target folder will contain the device-management-functions.zip file
- sap-iot-hyperscaler-azure-integration-ref/timeseries-delete/target folder will contain the timeseries-delete.zip file
- Upload the zip files to a blob storage container
- ingestion-functions.zip
- notification-processor.zip
- device-management-functions.zip
- timeseries-delete.zip
- Generate SAS token url as template input parameter
Note: The expiry of the SAS token will lead to inactivity of the function. You should therefore ensure to pick an appropriate expiration date.
Details for building and deploying the Azure Resource Manager template for creating Device Management, Ingestion and Persistence components are explained in this ARM documentation
- Cloud to Device Command flow is not supported
We provided the complete documentation inside docs folder.
- Deploy Ingestion and Persistence components using Azure Resource Manager Template
- Ingestion and Mapping Function
- Ingest Measures from SAP IoT Measurements Write API
- Delete Time Series
- Event Hub Configuration and Message details
- Device Lifecycle Management
- Notification Processing
- Error Handling & Alerting
- Security
The content is provided "as-is". There is no guarantee that raised issues will be answered or addressed in future releases.
Copyright (c) 2020 SAP SE or an SAP affiliate company. All rights reserved. This file is licensed under the Apache Software License, version 2.0 except as noted otherwise in the REUSE files.