パテーションキー domain
ソートキー time
現在DynamoDBにて既にdomainに入っている値と新しく追加しようとしている値が一緒ならエラーを起こす
記述を下の方に書いているのですが、エラーにならず普通に保存ができてしまいます。。
解決策をご存知の方ご教授願います
C#
1public async Task AddShortUrl(string domain, string shortUrl, string linkName, int jpUnixTime) 2 { 3 try 4 { 5 using (var client = new AmazonDynamoDBClient(new BasicAWSCredentials(STANDARD_AWS_ACCESS_KEY_ID, STANDARD_AWS_SECRET_KEY_ID), RegionEndpoint.APNortheast1)) 6 { 7 var request = new PutItemRequest 8 { 9 TableName = "short_link", 10 Item = new Dictionary<string, AttributeValue> 11 { 12 { "domain", new AttributeValue { S = domain.ToString() } }, 13 { "time", new AttributeValue { N = jpUnixTime.ToString() } }, 14 { "short_url", new AttributeValue { S = shortUrl.ToString() } }, 15 { "link_name", new AttributeValue { S = linkName.ToString() } }, 16 }, 17 ExpressionAttributeNames = new Dictionary<string, string> 18 { 19 { "#domain", "domain" } 20 }, 21 ExpressionAttributeValues = new Dictionary<string, AttributeValue> 22 { 23 { ":v_domain", new AttributeValue { S = domain.ToString() } } 24 }, 25 //質問の内容はここ 26 ConditionExpression = "#domain <> :v_domain", 27 28 }; 29 await client.PutItemAsync(request); 30 } 31 } 32 catch(Exception ex) 33 { 34 35 } 36 37 }
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/04/26 01:49
2021/04/26 12:06