Utilizzo di una funzione di Azure in Business Central

Completato

Poiché una funzione di Azure viene implementata tramite una richiesta HTTP, è possibile usare lo stesso codice per connettersi a una funzione di Azure come quando ci si connette a un servizio REST.

La variabile ChangeToBlackAndWhitePicture registrerà un'immagine nella funzione di Azure. La funzione di Azure aggiunge un filtro gradazione di grigi e restituisce poi l'immagine come risposta HTTP.

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;