Microsoft.Azure.WebJobs.Extensions.Sql 1.0.44-preview

The ID prefix of this package has been reserved for one of the owners of this package by NuGet.org. Prefix Reserved
This is a prerelease version of Microsoft.Azure.WebJobs.Extensions.Sql.
There is a newer version of this package available.
See the version list below for details.
dotnet add package Microsoft.Azure.WebJobs.Extensions.Sql --version 1.0.44-preview
NuGet\Install-Package Microsoft.Azure.WebJobs.Extensions.Sql -Version 1.0.44-preview
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Microsoft.Azure.WebJobs.Extensions.Sql" Version="1.0.44-preview" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Microsoft.Azure.WebJobs.Extensions.Sql --version 1.0.44-preview
#r "nuget: Microsoft.Azure.WebJobs.Extensions.Sql, 1.0.44-preview"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Microsoft.Azure.WebJobs.Extensions.Sql as a Cake Addin
#addin nuget:?package=Microsoft.Azure.WebJobs.Extensions.Sql&version=1.0.44-preview&prerelease

// Install Microsoft.Azure.WebJobs.Extensions.Sql as a Cake Tool
#tool nuget:?package=Microsoft.Azure.WebJobs.Extensions.Sql&version=1.0.44-preview&prerelease

Azure SQL bindings for Azure Functions - Preview

Build Status

Table of Contents

Introduction

This repository contains the Azure SQL bindings for Azure Functions extension code as well as a quick start tutorial and samples illustrating how to use the binding in different ways. The types of bindings supported are:

  • Input Binding: takes a SQL query to run and returns the output of the query in the function.
  • Output Binding: takes a list of rows and upserts them into the user table (i.e. If a row doesn't already exist, it is added. If it does, it is updated).
  • Trigger Binding: monitors the user table for changes (i.e., row inserts, updates, and deletes) and invokes the function with updated rows.

For a more detailed overview of the different types of bindings see the Bindings Overview.

For further details on setup, usage and samples of the bindings see the language-specific guides below:

Further information on the Azure SQL binding for Azure Functions is also available in the docs.

Supported SQL Server Versions

This extension uses the OPENJSON statement which requires a database compatibility level of 130 or higher (2016 or higher). To view or change the compatibility level of your database, see this documentation article for more information.

Databases on SQL Server, Azure SQL Database, or Azure SQL Managed Instance which meet the compatibility level requirement above are supported.

Known Issues

Output Bindings

  • Output bindings against tables with columns of data types NTEXT, TEXT, or IMAGE are not supported and data upserts will fail. These types will be removed in a future version of SQL Server and are not compatible with the OPENJSON function used by this Azure Functions binding.

  • Output bindings execution order is not deterministic (azure-webjobs-sdk#1025) and so the order that data is upserted is not guaranteed. This can be problematic if, for example, you upsert rows to two separate tables with one having a foreign key reference to another. The upsert will fail if the dependent table does its upsert first.

    Some options for working around this :

    • Have multiple functions, with dependent functions being triggered by the initial functions (through a trigger binding or other such method)
    • Use dynamic (imperative) bindings (.NET only)
    • Use IAsyncCollector and call FlushAsync in the order desired (.NET only)

Input Bindings

  • Input bindings against tables with columns of data types 'DATETIME', 'DATETIME2', or 'SMALLDATETIME' will assume that the values are in UTC format.
  • For Java Functions using Output bindings against a table with columns of data types 'DATETIME', 'DATETIME2', or 'SMALLDATETIME', use java.util.Date type to ensure the datetime is formatted correctly.

Trigger Bindings

  • Trigger bindings will exhibit undefined behavior if the SQL table schema gets modified while the user application is running, for example, if a column is added, renamed or deleted or if the primary key is modified or deleted. In such cases, restarting the application should help resolve any errors.

Telemetry

This extension collect usage data in order to help us improve your experience. The data is anonymous and doesn't include any personal information. You can opt-out of telemetry by setting the AZUREFUNCTIONS_SQLBINDINGS_TELEMETRY_OPTOUT environment variable or the AzureFunctionsSqlBindingsTelemetryOptOut app setting (in your *.settings.json file) to '1', 'true' or 'yes';

Trademarks

This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow Microsoft’s Trademark & Brand Guidelines. Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party’s policies.

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on Microsoft.Azure.WebJobs.Extensions.Sql:

Package Downloads
Microsoft.Azure.Workflows.WebJobs.Extension The ID prefix of this package has been reserved for one of the owners of this package by NuGet.org.

Extensions for running workflows in Azure Functions

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
3.0.534 38,002 2/2/2024
3.0.461 37,162 11/1/2023
3.0.444-preview 559 10/10/2023
3.0.443 9,342 10/10/2023
3.0.341-preview 9,118 7/31/2023
3.0.323-preview 1,397 7/19/2023
3.0.253-preview 10,668 5/30/2023
3.0.181-preview 9,723 4/13/2023
3.0.143-preview 9,066 3/16/2023
2.0.144 35,120 3/16/2023
1.0.122-preview 17,386 2/23/2023
1.0.114-preview 2,888 2/16/2023
1.0.112-preview 351 2/14/2023
1.0.84-preview 12,610 1/12/2023
1.0.44-preview 18,305 12/7/2022
1.0.21-preview 13,401 11/14/2022
1.0.15-preview 367 11/10/2022
0.1.483-preview 6,046 10/13/2022
0.1.457-preview 16,696 9/20/2022
0.1.346-preview 60,306 6/8/2022
0.1.319-preview 9,705 5/13/2022
0.1.311-preview 1,077 5/6/2022
0.1.304-preview 1,189 4/29/2022
0.1.286-preview 5,631 4/12/2022
0.1.223-preview 8,833 2/10/2022
0.1.207-preview 2,078 1/26/2022
0.1.131-preview 2,141 11/13/2021
0.1.129-preview 250 11/11/2021