Eine Azure-Funktion in Business Central verwenden

Abgeschlossen

Da eine Azure-Funktion über eine HTTP-Anforderung implementiert wird, können Sie für die Verbindung zu einer Azure-Funktion denselben Code verwenden wie für die Verbindung zu einem REST-Dienst.

Die Variable ChangeToBlackAndWhitePicture sendet ein Bild an die Azure-Funktion. Die Azure-Funktion fügt einen Graustufenfilter hinzu und gibt das Bild dann als HTTP-Antwort zurück.

procedure ChangeToBlackAndWhitePicture(Item: Record Item)
var
    TenantMedia: Record "Tenant Media";
    Client: HttpClient;
    Content: HttpContent;
    ResponseMessage: HttpResponseMessage;
    Stream: InStream;
    Url: Text;
begin
    if not (Item.Picture.Count() > 0) then
        exit;

    if not TenantMedia.Get(Item.Picture.Item(1)) then
        exit;

    TenantMedia.CalcFields(Content);

    if not TenantMedia.Content.HasValue() then
        exit;

    TenantMedia.Content.CreateInStream(Stream);

    Content.WriteFrom(Stream);
    Url := 'https://mywebsite.com/ImageConverter';
    if not client.Post(Url, Content, ResponseMessage) then
        exit;

    if not ResponseMessage.IsSuccessStatusCode() then
        exit;

    ResponseMessage.Content().ReadAs(Stream);
    Clear(Item.Picture);
    Item.Picture.ImportStream(Stream, 'New Image');
    Item.Modify(true);
end;