写入 Azure 表存储 - 本地和云的不同行为



我有一个简单的Azure函数,可以定期将一些数据写入Azure表存储。

var storageAccount = new CloudStorageAccount(new Microsoft.WindowsAzure.Storage.Auth.StorageCredentials("mystorage","xxxxx"),true);
var tableClient = storageAccount.CreateCloudTableClient();
myTable = tableClient.GetTableReference("myData");
TableOperation insertOperation = TableOperation.Insert(data);
myTable.ExecuteAsync(insertOperation);

代码在Visual Studio本地运行良好,所有数据都正确写入位于Azure的表存储中。 但是,如果我将此代码 1:1 作为 Azure 函数部署到 Azure 中,则代码也运行良好,没有任何异常,日志记录显示,它贯穿每一行代码。

但是表存储中没有写入任何数据 - 相同的名称、相同的凭据、相同的代码。

与"Local AzureFunc> Azure Table Storage"相比,Azure 是否以某种方式阻止此连接(Azure> Azure Table Storage中的 AzureFunc(?

Azure

是否阻止此连接 (AzureFunc in Azure> Azure Table 存储(在某种程度上与"Local AzureFunc> Azure Table "形成对比 存储(?

不,不是 azure 阻止了连接或类似的东西。

您必须等待使用ExecuteAsync执行的表操作,因为程序中的控件正在移动而没有完成该方法。将最后一行代码更改为

await myTable.ExecuteAsync(insertOperation);

看看这里是如何进行的 因为不等待此调用,所以当前方法在调用完成之前继续运行。

问题是rowkey:

我使用 DateTime.Now 作为行键(因为表存储不提供自动增量值(。 我的本地格式是"1.1.2019 18:19:20",而服务器的格式是"1/1/2019 ...">

而"/"似乎不允许在行键字符串中出现。

现在,格式化日期时间字符串正确一切正常。

相关内容

  • 没有找到相关文章

最新更新