Lezen in het Engels

Delen via


Azure Tables-bindingen voor Azure Functions

Een programmeertaal kiezen

Azure Functions kan worden geïntegreerd met Azure Tables via triggers en bindingen. Door te integreren met Azure Tables kunt u functies bouwen die gegevens lezen en schrijven met behulp van Azure Cosmos DB voor Table en Azure Table Storage.

Actie Type
Tabelgegevens lezen in een functie Invoerbinding
Toestaan dat een functie tabelgegevens schrijft Uitvoerbinding

De extensie installeren

Het NuGet-extensiepakket dat u installeert, is afhankelijk van de C#-modus die u gebruikt in uw functie-app:

Functies worden uitgevoerd in hetzelfde proces als de Functions-host. Zie C#-klassebibliotheekfuncties ontwikkelen met behulp van Azure Functions voor meer informatie.

In een variatie van dit model kunnen functies worden uitgevoerd met behulp van C#-scripting. Dit wordt voornamelijk ondersteund voor het bewerken van de C#-portal. Zie Uw extensies bijwerken als u bestaande bindingsextensies wilt bijwerken voor C#-script-apps die worden uitgevoerd in de portal zonder dat u de functie-app opnieuw hoeft te publiceren.

Het proces voor het installeren van de extensie varieert afhankelijk van de extensieversie:

In deze sectie wordt beschreven hoe u een klassebibliotheek gebruikt. Voor C#-scripts moet u in plaats daarvan de extensiebundel, versie 4.x, installeren.

Deze versie introduceert de mogelijkheid om verbinding te maken met behulp van een identiteit in plaats van een geheim. Zie de zelfstudie over het maken van een functie-app met op identiteit gebaseerde verbindingen voor een zelfstudie over het configureren van uw functie-apps met beheerde identiteiten.

Met deze versie kunt u verbinding maken met typen van Azure.Data.Tables. Het introduceert ook de mogelijkheid om Azure Cosmos DB voor Table te gebruiken.

Deze extensie is beschikbaar door het NuGet-pakket Microsoft.Azure.WebJobs.Extensions.Tables NuGet te installeren in een project met versie 5.x of hoger van de extensies voor blobs en wachtrijen.

De .NET CLI gebruiken:

.NET CLI
# Install the Azure Tables extension
dotnet add package Microsoft.Azure.WebJobs.Extensions.Tables

# Update the combined Azure Storage extension (to a version which no longer includes Azure Tables)
dotnet add package Microsoft.Azure.WebJobs.Extensions.Storage

Notitie

Azure Blobs, Azure Queues en Azure Tables maken nu gebruik van afzonderlijke extensies en worden afzonderlijk verwezen. Als u bijvoorbeeld de triggers en bindingen voor alle drie de services in uw .NET-in-process-app wilt gebruiken, moet u de volgende pakketten toevoegen aan uw project:

Voorheen werden de extensies samen geleverd als Microsoft.Azure.WebJobs.Extensions.Storage, versie 4.x. Hetzelfde pakket heeft ook een 5.x-versie, die alleen verwijst naar de gesplitste pakketten voor blobs en wachtrijen. Wanneer u uw pakketverwijzingen van oudere versies bijwerkt, moet u mogelijk ook verwijzen naar het nieuwe Microsoft.Azure.WebJobs.Extensions.Tables NuGet-pakket. Wanneer u naar deze nieuwere gesplitste pakketten verwijst, moet u er ook voor zorgen dat u niet verwijst naar een oudere versie van het gecombineerde opslagpakket, omdat dit conflicten oplevert van twee definities van dezelfde bindingen.

Bundel installeren

De Azure Tables-bindingen maken deel uit van een extensiebundel, die is opgegeven in uw host.json projectbestand. Mogelijk moet u deze bundel wijzigen om de versie van de bindingen te wijzigen of als bundels nog niet zijn geïnstalleerd. Zie uitbreidingsbundel voor meer informatie.

Deze versie introduceert de mogelijkheid om verbinding te maken met behulp van een identiteit in plaats van een geheim. Zie de zelfstudie over het maken van een functie-app met op identiteit gebaseerde verbindingen voor een zelfstudie over het configureren van uw functie-apps met beheerde identiteiten.

U kunt deze versie van de extensie toevoegen vanuit de extensiebundel v3 door de volgende code toe te voegen of te vervangen in uw host.json bestand:

JSON
{
    "version": "2.0",
    "extensionBundle": {
        "id": "Microsoft.Azure.Functions.ExtensionBundle",
        "version": "[3.3.0, 4.0.0)"
    }
}

Bindingstypen

De bindingstypen die worden ondersteund voor .NET zijn afhankelijk van zowel de extensieversie als de C#-uitvoeringsmodus. Dit kan een van de volgende zijn:

Een in-process-klassebibliotheek is een gecompileerde C#-functie die wordt uitgevoerd in hetzelfde proces als de Functions-runtime.

Kies een versie om de details van het bindingstype voor de modus en versie weer te geven.

De Azure Tables-extensie ondersteunt parametertypen volgens de onderstaande tabel.

Bindingsscenario Parametertypen
Tabelinvoer (één entiteit) Een type dat is afgeleid van ITableEntity
Tabelinvoer (meerdere entiteiten uit query) IEnumerable<T> waar T is afgeleid van ITableEntity
TableClient
Tabeluitvoer (één entiteit) Een type dat is afgeleid van ITableEntity
Tabeluitvoer (meerdere entiteiten) TableClient
ICollector<T> of IAsyncCollector<T> waar T wordt geïmplementeerd ITableEntity

Volgende stappen