vir*_*ade 5 amazon-web-services cassandra amazon-keyspaces
我正在使用 AWS keyspaces 并尝试从 C# 插入数据,但收到此错误。“此操作不支持一致性级别 LOCAL_ONE。支持的一致性级别为:LOCAL_QUORUM”。有人可以帮忙吗?
AWS密钥空间
CREATE KEYSPACE IF NOT EXISTS "DevOps"
WITH REPLICATION={'class': 'SingleRegionStrategy'} ;
Run Code Online (Sandbox Code Playgroud)
桌子
CREATE TABLE IF NOT EXISTS "DevOps"."projectdetails" (
"id" UUID PRIMARY KEY,
"name" text,
"lastupdatedtime" timestamp,
"baname" text,
"customerid" UUID)
Run Code Online (Sandbox Code Playgroud)
C# 代码
public async Task AddRecord(List<projectdetails> projectDetails)
{
try
{
if (projectDetails.Count > 0)
{
foreach (var item in projectDetails)
{
projectdetails projectData = new projectdetails();
projectData.id = item.id;
projectData.name = item.name;
projectData.baname = "Vishal";
projectData.lastupdatedtime = item.lastupdatedtime;
projectData.customerid = 1;
await mapper.InsertAsync<projectdetails>(projectData);
}
}
}
catch (Exception e)
{
}
}
Run Code Online (Sandbox Code Playgroud)
该错误清楚地表明您需要使用正确的一致性级别LOCAL_QUORUM而不是LOCAL_ONE默认使用的一致性级别。 AWS文档称,对于写入操作,仅支持一致性级别。您可以使用接受CqlQueryOptions的版本InsertAsync来设置一致性级别,如下所示(也许在应用程序初始化期间仅创建查询选项的实例一次):
mapper.InsertAsync<projectdetails>(projectData,
new CqlQueryOptions().SetConsistencyLevel(ConsistencyLevel.LocalQuorum))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2962 次 |
| 最近记录: |