Binding di tabelle esterne in Funzioni di Azure (Anteprima)

Questo articolo illustra come gestire i dati tabulari sul provider SaaS (ad esempio, Sharepoint, Dynamics) all'interno della funzione con binding incorporati. Funzioni di Azure supporta i binding di input e output per le tabelle esterne.

Informazioni di riferimento per gli sviluppatori delle Funzioni di Azure. Se non si ha familiarità con le Funzioni di Azure, iniziare con le seguenti risorse:

Connessioni API

I binding di tabella usano connessioni API esterne per l'autenticazione con i provider SaaS di terzi.

Quando si assegna un binding è possibile creare una nuova connessione API o usare una connessione API esistente nello stesso gruppo di risorse

Connessioni API supportate (Tabella)

Connettore Trigger Input Output
DB2 x x
Dynamics 365 for Operations x x
Dynamics 365 x x
Dynamics NAV x x
Fogli Google x x
Informix x x
Dynamics 365 for Financials x x
MySQL x x
Oracle Database x x
Common Data Service x x
Salesforce x x
SharePoint x x
SQL Server x x
Teradata x x
UserVoice x x
Zendesk x x

Nota

È possibile usare le connessioni alle tabelle esterne anche nelle App per la logica di Azure

Creazione di una connessione API: procedura dettagliata

  1. Creare una funzione > funzione personalizzata Creare una funzione personalizzata
  2. Modello scenario Experimental > ExternalTable-CSharp > Creare un nuovo External Table connection Scegliere il modello di input tabella
  3. Scegliere il provider SaaS > scegliere o creare una connessione Configurare una connessione SaaS
  4. Selezionare la connessione API > creare la funzione funzione Crea tabella
  5. Selezionare Integrate > External Table
    1. Configurare la connessione per usare la tabella di destinazione. Queste impostazioni variano tra i provider SaaS. Sono indicate qui di seguito in impostazioni dell'origine dati Configura tabella

Utilizzo

Questo esempio si connette a una tabella denominata "Contatto" con le colonne Id, LastName e FirstName. Il codice elenca le entità Contatto nella tabella e registra i nomi e i cognomi.

Associazioni

{
  "bindings": [
    {
      "type": "manualTrigger",
      "direction": "in",
      "name": "input"
    },
    {
      "type": "apiHubTable",
      "direction": "in",
      "name": "table",
      "connection": "ConnectionAppSettingsKey",
      "dataSetName": "default",
      "tableName": "Contact",
      "entityId": "",
    }
  ],
  "disabled": false
}

entityId deve essere vuoto per i binding di tabella.

ConnectionAppSettingsKey identifica l'impostazione dell'app che memorizza la stringa di connessione dell'API. L'impostazione dell'app viene creata automaticamente quando si aggiunge una connessione API nell'interfaccia utente integrata.

Un connettore tabulare fornisce set di dati e ogni set di dati contiene tabelle. Il nome del set di dati predefinito è "default". I titoli di un set di dati e di una tabella in diversi provider SaaS sono elencati di seguito:

Connettore Set di dati Tabella
SharePoint Sito Elenco SharePoint
SQL Database Tabella
Fogli Google Foglio di calcolo Foglio di lavoro
Excel File di Excel Foglio

Utilizzo in C#

#r "Microsoft.Azure.ApiHub.Sdk"
#r "Newtonsoft.Json"

using System;
using Microsoft.Azure.ApiHub;

//Variable name must match column type
//Variable type is dynamically bound to the incoming data
public class Contact
{
    public string Id { get; set; }
    public string LastName { get; set; }
    public string FirstName { get; set; }
}

public static async Task Run(string input, ITable<Contact> table, TraceWriter log)
{
    //Iterate over every value in the source table
    ContinuationToken continuationToken = null;
    do
    {   
        //retreive table values
        var contactsSegment = await table.ListEntitiesAsync(
            continuationToken: continuationToken);

        foreach (var contact in contactsSegment.Items)
        {   
            log.Info(string.Format("{0} {1}", contact.FirstName, contact.LastName));
        }

        continuationToken = contactsSegment.ContinuationToken;
    }
    while (continuationToken != null);
}

Impostazioni dell'origine dati

SQL Server

Lo script per creare e popolare la tabella Contact è qui di seguito. dataSetName è "default".

CREATE TABLE Contact
(
    Id int NOT NULL,
    LastName varchar(20) NOT NULL,
    FirstName varchar(20) NOT NULL,
    CONSTRAINT PK_Contact_Id PRIMARY KEY (Id)
)
GO
INSERT INTO Contact(Id, LastName, FirstName)
     VALUES (1, 'Bitt', 'Prad') 
GO
INSERT INTO Contact(Id, LastName, FirstName)
     VALUES (2, 'Glooney', 'Ceorge') 
GO

Fogli Google

In Documenti Google, creare un foglio di calcolo con un foglio di lavoro denominato Contact. Il connettore non può usare il nome visualizzato del foglio di calcolo. Il nome interno (in grassetto) deve essere usato come dataSetName, ad esempio: docs.google.com/spreadsheets/d/1UIz545JF_cx6Chm_5HpSPVOenU4DZh4bDxbFgJOSMz0 Aggiungere i nomi di colonna Id, LastName, FirstName alla prima riga, quindi inserire dati nelle righe successive.

Salesforce

dataSetName è "default".

Passaggi successivi

Per informazioni su altre associazioni e altri trigger per Funzioni di Azure, vedere Guida di riferimento per gli sviluppatori di trigger e associazioni di Funzioni di Azure.