Giter VIP home page Giter VIP logo

supplychain-azure-function-dataset-download's Introduction

supplychain-azure-function-dataset-download Function App

The supplychain-azure-function-dataset-download is a specialization for the Cosmo Tech Supply Chain solution of the the generic azure function app azure-function-scenario-download

This Supply Chain specific version is based on the Cosmotech Azure function Scenario Download

This azure function app aims to be integrated in the Cosmo Tech Supply Chain Web-app : azure-supplychain-webapp for Cosmo Tech internal use or azure-supplychain-webapp-shared for external use

Build

How to build a deployable file

Running the following commands in a terminal will create a file Artifact.zip which can then be used for deployment

pip install --target .python_packages/lib/site-packages/ -r requirements.txt
zip -r artifact.zip . -x ".git/*" ".github/*" ".gitignore"

Deploy

Pre-Requisites

  • Dedicated App registration created (see details below)

Dedicated app registration :

  1. Create a new app registration
  2. Add a API permission to the Cosmo Tech Platform API, choose the permission type Application (not Delegated) and select the permission Organization.user
  3. Create a client secret
  4. In the related Azure Digital Twins resources, assign the role Azure Digital Twin Data Reader to app registration

Deploy to Azure


Installation options

Parameter Note
Subscription Choose same as the related platform and webapp
Resource group Choose same as the related platform and webapp
Region Choose same as related platform and webapp
Site Name Choose a name for the function app or leave the default value for auto-generated name
Storage Account Name Choose a name for the storage account required for the function app or leave the default value for auto-generated name
Location Location for the resources to be created (Function App, App Service plan and Storage Account)
Csm Api Host Cosmo Tech Platform API host
Csm Api Scope Scope for accessing the Cosmo Tech Platform API (must end with /.default)
Az Cli ID Client ID of the dedicated app registration (see pre-requisites)
Az Cli Secret Client Secret create of the dedicated app registration (see pre-requisites)
Package Address URL of the Azure function package to be deployed - IMPORTANT : pick the URL from the latest release, ex release 2.1.10

Configure CORS

Request Credentials

Check option Enable Access-Control-Allow-Credentials

Allowed Origins :


Secure the Azure Function

The azure function includes a first level of securizartion with the host key.
This keys being included in the web application, we need a second layer of securization by limiting the azure function calls to the users being authorized to the Cosmo Tech API

Add identity provider

  • Go to Authentication
  • Add identity provider
  • Select "Microsoft"
  • In "App registration type", select "Pick an existing app registration in this directory"
  • Name or app ID : enter the web application name.
    Note : You may need to enter the app registration ID created for the webapp instead of its name. And in this case, you will have to create a secret for the app registration of the web app and provide it here.

  • Restrict access : "Require authentication"
  • Unauthenticated requests : HTTP 401
  • Token store : leave checked

Configure audience

  • In the created identity provider, click on "Edit"
  • Allowed token audiences : Enter the appplication ID URL of the platform app registration (of type "https://cosmo platform url" or "api://platform app registrion application id uri" )

Integrate in the Cosmo Tech Supply Chain web-app

Configure for the flowchart

in file "src/config/AppInstance.js"

export const AZURE_FUNCTION_FLOWCHART_URL =
  'https://<azure function deployment url>/api/ScenarioDownload';
export const AZURE_FUNCTION_FLOWCHART_HEADERS = {
  'x-functions-key': '<default host keys>',
};

Configure for the lever tables

in file "src/config/ScenarioParameters.js", for each lever table

Example with the demand plan table

  demand_plan: {
    connectorId: 'c-ll43p5nll5xqx',
    defaultFileTypeFilter: '.csv',
    subType: 'AZURETABLE',
    azureFunction: 'https://<azure function deployment url>/api/DemandsPlan',
    azureFunctionHeaders: { 'x-functions-key': '<default host keys>' },
  }

supplychain-azure-function-dataset-download's People

Contributors

neomatamune avatar dsoitel avatar vcarluer avatar

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.