繁体   English   中英

储存清单 <string> 到SQL数据库表?

[英]Store a list<string> to SQL database table?

我想在Microsoft Azure中查找一个存储帐户,在特定容器中(在存储帐户中)列出blob,然后将列出的blob名称存储到数据库表中。 任何人都建议使用ac#代码将Blob名称列表存储到数据库表中。

namespace ListStorageAccntFiles
{
    class Program
    {            
        static void Main(string[] args)
        {
            Console.Clear();

            //Code to list the blobnames in Console

            CloudStorageAccount StorageAccount = CloudStorageAccount.Parse(CloudConfigurationManager.GetSetting("StorageConnectionString"));
            var BlobClient = StorageAccount.CreateCloudBlobClient();
            var Container = BlobClient.GetContainerReference("samples-workitems");
            var list = Container.ListBlobs();

            List<string> blobNames = list.OfType<CloudBlockBlob>().Select(b => b.Name).ToList();
            blobNames.ForEach(Console.WriteLine);

            //Code to store blobnames under the column header "name" in a database table
         }
     }
}

与方案!!! 该程序可以查看存储帐户并处理所有新文件和修改过的文件,如果有新文件,则采取措施

我认为,建议使用WebJobs SDK的BlobTrigger达到您的目的。以下是我的代码示例,您可以更好地了解它:

WebJob类别

public class Functions
{
    //This function will get triggered/executed when a blob is created or updated on an Azure Blob container called trigger-blob-input.
    public static void TriggerAzureBlob([BlobTrigger("trigger-blob-input/{name}")] ICloudBlob blob)
    {
        Console.WriteLine("Blob name:" + blob.Name);
        //do something with the created/updated blob
    }
}

如下创建/更新Blob时:

1个

您可以通过BlobTrigger检测blob并获得以下输出:

2

有关更多详细信息,您可以参考以下教程:

如何创建WebJob并将其部署到Azure

创建或更新Blob时如何触发功能

此外,WebJobs SDK扫描日志文件以监视新的或更改的Blob。 此过程不是读取时间,因此在创建/更新Blob之后可能不会在短时间内或更长时间内触发功能。

如果Blob触发器的限制不满足您的应用程序的要求,则可以在创建/更新Blob时创建队列消息,然后在处理Blob的函数上使用QueueTrigger而不是BlobTrigger。

我认为您可以将值存储为逗号分隔的字符串。 在C#中取回值时,您可以split(“,”)以Array形式获取值。 [在Java中,字符串拆分方法返回数组。 不确定c#]

如果您认为您的值中包含逗号,请使用其他字符代替逗号。

继续编写您的代码。 添加此行以将其转换为定界字符串

string namesAsString = blobNames.Aggregate((i, j) => i + "UNIQUE_DELIMITER_CHARACTER_OF_YOUR_CHOICE" + j);

例如,您可以使用':'作为分隔符

现在,您可以轻松地将此字符串存储在表中。 为了在父数据发生更改的情况下更新此数据,可以按索引(原始集合中对象的索引)进行更新

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM