Azure Data Lake extension for Azure Functions
Перейти к файлу
microsoft-github-policy-service[bot] 19d1ef9abc
Auto merge mandatory file pr
This pr is auto merged as it contains a mandatory file and is opened for more than 10 days.
2023-03-28 16:45:36 +00:00
samples/DataLakeExtensionSamples Packages Updates 2019-10-08 15:31:36 -04:00
src/WebJobs.Extensions.DataLake Packages Updates 2019-10-08 15:31:36 -04:00
test/WebJobs.Extensions.DataLake.Tests Packages Updates 2019-10-08 15:31:36 -04:00
.gitattributes initial commit 2018-07-05 14:25:32 -04:00
.gitignore Initial commit 2018-05-11 10:59:51 -07:00
LICENSE Fixing license 2018-07-05 11:32:26 -07:00
README.md Updated documentation to specify ADSL Gen1 2019-10-08 15:31:36 -04:00
SECURITY.md Microsoft mandatory file 2023-01-24 16:37:59 +00:00
WebJobs.Extensions.DataLake.sln updated sample settings, instructions and formatting 2018-07-05 14:26:15 -04:00

README.md

Azure Data Lake Storage Gen1 Binding for Azure Functions

The following binding can be used with Azure Functions v2 C# Class Library to connect to Azure Data Lake Storage Gen1.

Instructions

Clone repo and add a reference to the WebJobs.Extensions.DataLake project.

using Microsoft.Azure.WebJobs.Extensions.DataLake;

Output Binding

Add the following attributes that include the account FQDN, ApplicationId, Client Secret and Tenant Id.

[DataLakeStore(
  AccountFQDN = @"fqdn", 
  ApplicationId = @"applicationid", 
  ClientSecret = @"clientsecret", 
  TenantID = @"tentantid")]out DataLakeStoreOutput dataLakeStoreOutput

View a sample function using output binding.

Input Binding

Add FileName property to retrieve a specific file from your Datalake Store.

[DataLakeStore(
  AccountFQDN = @"fqdn", 
  ApplicationId = @"applicationid",
  ClientSecret = @"clientsecret",
  TenantID = @"tentantid",
  FileName = "/mydata/testfile.txt")]Stream myfile

View a sample function using input binding.

Binding Requirements

  1. Azure Data Lake Store Gen1
  2. Setup Service to Service Auth using Azure AD
  3. Azure Functions and Webjobs tools extension
  4. Add the application settings noted below.

local.settings.json expected content

{
  "IsEncrypted": false,
  "Values": {
    "AzureWebJobsStorage": "UseDevelopmentStorage=true",
    "AzureWebJobsDashboard": "UseDevelopmentStorage=true",
    "fqdn": "<FQDN for your Azure Lake Data Store>",
    "tentantid": "<Azure Active Directory Tentant for Authentication>",
    "clientsecret": "<Azure Active Directory Client Secret>",
    "applicationid": "<Azure Active Directory Application ID>",
    "blobconn": "<Azure Blobg Storage Connection String for testing Blob Trigger>"
  }
}

End to End Testing

If you wish to run and or make modifications to the E2E testing you will need to create an appsettings.json with all the required settings. Use the standard format for values instead of the functions formatting.

E2E appsettings.json expected content

{
  "AzureWebJobsStorage": "UseDevelopmentStorage=true",
  "AzureWebJobsDashboard": "UseDevelopmentStorage=true",
  "fqdn": "<FQDN>",
  "tentantid": "<Tentant ID>",
  "clientsecret": "<Client Secret>",
  "applicationid": "<Application ID>",
  "blobconn": "<Blob Storage Connection string for Trigger>"
}

License

This project is under the benevolent umbrella of the .NET Foundation and is licensed under the MIT License

Contributing

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.