Giter Club home page Giter Club logo

sap-archive / sap-iot-hyperscaler-azure-integration-ref Goto Github PK

View Code? Open in Web Editor NEW
5.0 3.0 3.0 2.69 MB

Reference template for enabling ingestion and persistence of time series data in Azure, with integration to SAP IoT Model Agnostic Services (for a digital supply chain customer) conforming to SAP-defined schema for persistence and streaming data.

License: Apache License 2.0

Java 100.00%
sample sample-code sap-iot iot azure hyperscalers

sap-iot-hyperscaler-azure-integration-ref's Introduction

Important Notice

This public repository is read-only and no longer maintained. For the latest sample code repositories, visit the SAP Samples organization.

SAP IoT with Customer-managed Azure Ingestion and Persistence

Description

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.

SAP IoT Abstraction Solution Overview

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

Prerequisites

Download and Installation

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:

  1. Run maven build (install) on this project and locate the zip files from the maven build output for the required modules:
    1. sap-iot-hyperscaler-azure-integration-ref/ingestion-functions/target folder will contain the ingestion-functions.zip file
    2. sap-iot-hyperscaler-azure-integration-ref/notification-processor/target folder will contain the notification-processor.zip file
    3. sap-iot-hyperscaler-azure-integration-ref/device-management-functions/target folder will contain the device-management-functions.zip file
    4. sap-iot-hyperscaler-azure-integration-ref/timeseries-delete/target folder will contain the timeseries-delete.zip file
  2. Upload the zip files to a blob storage container
    1. ingestion-functions.zip
    2. notification-processor.zip
    3. device-management-functions.zip
    4. timeseries-delete.zip
  3. 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

Limitations

  • Cloud to Device Command flow is not supported

Documentation

We provided the complete documentation inside docs folder.

Support

The content is provided "as-is". There is no guarantee that raised issues will be answered or addressed in future releases.

License

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.

REUSE status

sap-iot-hyperscaler-azure-integration-ref's People

Contributors

ajinkyapatil8190 avatar btbernard avatar i822255 avatar jamal-j avatar mirko-teschke avatar pjdillon avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

sap-iot-hyperscaler-azure-integration-ref's Issues

Documented build targed azure-ref not existing

In the README you write:

Run Maven build locally (mvn clean install) and get the zip file from azure-iot-integration-ref/azure-ref/target folder

I assume that the base folder should rather be sap-iot-hyperscaler-azure-integration-ref, not azure-iot-integration-ref.
However, the target azure-ref does not exist, after running a mvn clean install. The individual zip files have to be taken separately from the 3 sub-modules.

Test failed IoTSPayloadMapperTest

To reproduce:

git clone
mvn clean
mvn install

// Expected: A successfull build with all tests passed
// Act: Test fails

java -v
openjdk version "11.0.6" 2020-01-14
OpenJDK Runtime Environment (build 11.0.6+10-post-Ubuntu-1ubuntu118.04.1)
OpenJDK 64-Bit Server VM (build 11.0.6+10-post-Ubuntu-1ubuntu118.04.1, mixed mode, sharing)

[ERROR] Tests run: 8, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 0.671 s <<< FAILURE! - in com.sap.iot.azure.ref.ingestion.device.mapping.IoTSPayloadMapperTest
[ERROR] testAbstractRawMessagesWithLongTimeFormat(com.sap.iot.azure.ref.ingestion.device.mapping.IoTSPayloadMapperTest) Time elapsed: 0.477 s <<< FAILURE!
java.lang.AssertionError: expected:<2021-01-20T15:19:45.434119Z> but was:<2021-01-20T15:19:45.434Z>
at com.sap.iot.azure.ref.ingestion.device.mapping.IoTSPayloadMapperTest.assertIoTSDeviceMeasure(IoTSPayloadMapperTest.java:126)
at com.sap.iot.azure.ref.ingestion.device.mapping.IoTSPayloadMapperTest.testAbstractRawMessagesWithLongTimeFormat(IoTSPayloadMapperTest.java:66)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.