【发布时间】:2020-03-08 20:02:50
【问题描述】:
我的流程是从 SQL Server 数据库中获取数据(我正在使用数据表),然后将其发布到 PubSub(每行的消息不同)。有人可以帮助并建议我这样做的方式吗?
我正在使用 Newtonsoft.Json 转换为 JSON。
这是我与数据库的连接:
public DataTable RequestDataDB()
{
SqlConnection database = new SqlConnection(DatabaseConn.DBConnectionString);
database.Open();
SqlCommand databaseCmd = new SqlCommand("Request_PubData", database);
SqlDataAdapter da = new SqlDataAdapter(databaseCmd);
da.Fill(dt);
database.Close();
return dt;
}
这就是我调用它并转换为 JSON 并发布它的方式。
Console.WriteLine("Data to be Published Total : " + totalRows);
string jsonOutput = JsonConvert.SerializeObject(RequestDataDB, Formatting.Indented);
string messageId = await publisher.PublishAsync(jsonOutput);
Console.WriteLine(jsonOutput);
await publisher.ShutdownAsync(TimeSpan.FromSeconds(15));
感谢您的帮助。
【问题讨论】:
-
您的代码正在将数据表转换为 json 并发布。您可以考虑循环遍历数据表行并单独发布它
-
另外一个问题:你为什么要逐行发布?没有更高效的事情可做?
-
鉴于您的
DataTable,您希望 JSON 输出是什么样的? Convert a data row to a JSON object 可能有效,也可能无效,如果不知道您所需的具体输出格式,我们将无法回答。
标签: c# json sql-server google-cloud-pubsub