[FunctionName("SendMessageToServiceBusQueue")]
    public static async Task<string>
    SendMessageToAzureServiceBusQueueAsync([ActivityTrigger]
            CloudBlobItem uploadedBlob, ILogger log,
            ExecutionContext executionContext)
    {
        log.LogInformation($"Otrzymano dane {uploadedBlob.Name},
            format {uploadedBlob.FileType}.");

        // Ustawienia konfiguracji dla Azure Service Bus
        var azureServiceBusConfig = new ConfigurationBuilder()
           .SetBasePath(executionContext.FunctionAppDirectory)
           .AddJsonFile("local.settings.json", optional: true, reloadOnChange: true)
           .AddEnvironmentVariables()
           .Build();

        var serviceBusConnection =
        azureServiceBusConfig["AzureServiceBusConnectionString"];
        var serviceBusQueue = azureServiceBusConfig["ServiceBusQueueName"];
        string composedMessage = "";

        try
        {
            if (uploadedcloudBlob != null)
            {
                log.LogInformation($"Tworzenie wiadomości, która zostanie wysłana do kolejki");
                composedMessage = $"Obraz blob {uploadedBlob.Name} został dodany do kolejki
                                  + $"Blob Type: {uploadedBlob.FileType} </br>"
                                  + $"Blob URL: {uploadedBlob.BlobUrl} </br>"
                                  + $"Wiadomość wysłana";
                await using (ServiceBusClient client =
                new ServiceBusClient(serviceBusConnection))
                {
                    // Tworzenie nadawcy
                    ServiceBusSender sender = client.CreateSender(serviceBusQueue);

                    // Tworzenie wiadomości
                    ServiceBusMessage msg = new ServiceBusMessage(composedMessage);

                    // Wysyłanie wiadomości do kolejki ServiceBus 
                    await sender.SendMessageAsync(msg);
                    log.LogInformation($"Wysłano wiadomość: {serviceBusQueue}");
                    return composedMessage;
                }
            }
            else
            {
                return composedMessage;
            }
        }
        catch (Exception ex)
        {
            log.Error($"Coś poszło źle");
            log.Error($"Wyjątek {ex.InnerException}");
            throw;
        }
    }
