Не удается загрузить содержимое нескольких BLOB-объектов Azure (текст и изображение) в таблицу SQL Azure - PullRequest
0 голосов
/ 28 июня 2018

На данный момент я могу загрузить только один тип BLOB-объекта (текст) с помощью триггера ниже

#r "System.Configuration"
#r "System.Data"
using System.Configuration;
using System.Data.SqlClient;
using System.Threading.Tasks;
using System;

public static void Run(Stream myBlob, string name, TraceWriter log)
{
    log.Info($"C# Blob trigger function Processed blob\n Name:{name} \n Size: {myBlob.Length} Bytes");
    string detail = ($"{name}");


    var str = ConfigurationManager.ConnectionStrings["sqldb_connection"].ConnectionString;
    using (SqlConnection conn = new SqlConnection(str))
    {
        conn.Open();
  var text = "INSERT INTO PhotoTable(CreatedAt,UpdatedAt,IsDeleted, Url, Title) " +
           "VALUES (SYSDATETIMEOFFSET(),SYSDATETIMEOFFSET(), 'true', 'yrhrh', @Name)";
        using (SqlCommand cmd = new SqlCommand(text, conn))
        {
            cmd.Parameters.AddWithValue("@Name", name);
            // Execute the command and log the # rows affected.
            var rows = cmd.ExecuteNonQueryAsync();
            log.Info($"{rows} rows were updated");
        }
    }
}

Есть 2 вопроса 01) Есть ли способ, которым я могу загрузить два типа одновременно в Azure SQLstorage ?? (например, текстовый блоб и блоб изображений)

02) с помощью этого триггера я получаю только идентификатор хранилища BLOB-объектов, а не его содержимое, что также является проблемой, так как я могу также получить содержимое хранилища BLOB-объектов ?? ,

помощь будет высоко оценена, спасибо

1 Ответ

0 голосов
/ 26 июля 2018

1) В Azure SQL можно загружать различные типы файлов с помощью служб SSIS. В следующем видео учебное пособие показано пошаговое руководство по как это сделать

2) номер два, вы можете использовать OPENROWSET , анализирует файл, хранящийся в хранилище BLOB-объектов, и возвращает содержимое файла в виде набора строк В следующем примере показана команда BULK INSERT, которая загружает содержимое файла в базу данных SQL:

BULK INSERT Product
FROM 'data/product.dat'
WITH ( DATA_SOURCE = 'MyAzureBlobStorageAccount');

Более подробную информацию можно найти здесь

...