我试图在名为的DynamoDB表中插入新记录Users.我从表中获取数据.但每当我尝试插入新记录时,我都会收到以下错误 -
AWSiOSSDKv2 [Verbose] AWSURLResponseSerialization.m line:86 | -[AWSJSONResponseSerializer responseObjectForResponse:originalRequest:currentRequest:data:error:] | Response body: [{"__type":"com.amazon.coral.validate#ValidationException","message":"Supplied AttributeValue is empty, must contain exactly one of the supported datatypes"}]
Run Code Online (Sandbox Code Playgroud)
我的问题是导致此异常的原因以及我得到它的原因是什么?我确信我没有任何空变量(你可以在附件中看到)
有关该问题的信息:
这是我想要做的完整日志 -
AWSiOSSDKv2 [Verbose] AWSURLRequestSerialization.m line:111 | -[AWSJSONRequestSerializer serializeRequest:headers:parameters:] | Request body: [{"Key":{"phone_no":{"S":"Empty"}},"TableName":"Users","AttributeUpdates":{"signed_in_counts":{"Action":"DELETE"},"account_owner":{"Value":{"S":"Empty"},"Action":"PUT"},"email_id":{"Value":{"S":"Empty"},"Action":"PUT"},"catalog_ids":{"Value":{},"Action":"PUT"},"account_creation_date":{"Value":{"S":"Empty"},"Action":"PUT"},"title":{"Value":{"S":"Empty"},"Action":"PUT"},"date_of_birth":{"Value":{"S":"Empty"},"Action":"PUT"},"defaultOnlineStatus":{"Action":"DELETE"},"chat_enabled":{"Value":{"S":"YES"},"Action":"PUT"},"username":{"Value":{"S":"Empty"},"Action":"PUT"},"address_line1":{"Value":{"S":"Empty"},"Action":"PUT"},"last_name":{"Value":{"S":"Empty"},"Action":"PUT"},"last_date_of_sign_out":{"Value":{"S":"Empty"},"Action":"PUT"},"total_referrals":{"Action":"DELETE"},"last_date_signed_in":{"Value":{"S":"Empty"},"Action":"PUT"},"first_name":{"Value":{"S":"Empty"},"Action":"PUT"},"activated":{"Value":{"S":"YES"},"Action":"PUT"}}}]
2015-04-20 15:44:53.434 Barnc[534:65423] AWSiOSSDKv2 [Debug] AWSSignature.m line:305 | -[AWSSignatureV4Signer signRequestV4:] | AWS4 Canonical Request: [POST
/
accept-encoding:
content-type:application/x-amz-json-1.0
host:dynamodb.us-east-1.amazonaws.com
user-agent:aws-sdk-iOS/2.1.0 iPhone-OS/8.3 en_IN
x-amz-date:20150420T101453Z
x-amz-security-token:XXX
x-amz-target:DynamoDB_20120810.UpdateItem
accept-encoding;content-type;host;user-agent;x-amz-date;x-amz-security-token;x-amz-target
93a6af5de49c12a33621c58cbc3ea7c9bbd8cd59660531bef10ea81c36acb06f]
2015-04-20 15:44:53.436 Barnc[534:65423] AWSiOSSDKv2 [Debug] AWSSignature.m line:306 | -[AWSSignatureV4Signer signRequestV4:] | payload …Run Code Online (Sandbox Code Playgroud) 我在 Amazon EC2 上运行了 ac# asp.net 应用程序,但是出现验证错误:
异常类型: HttpRequestValidationException
异常信息: A potentially dangerous Request.RawUrl value was detected from the client (="...h&content=<php>die(@md5(HelloT...").
日志显示请求 url 是:
http://blah.com/?a=fetch&content=<php>die(@md5(HelloThinkCMF))</php>
Run Code Online (Sandbox Code Playgroud)
那个 PHP die 脚本来自哪里?这是某种安全漏洞吗,我不知道如何调试。
我有一张表并设置了一个 GSI 来进行查询。我为其设置条件的属性是类型号。我为比较设置属性值,如下所示:AttributeValue value = new AttributeValue(); value.setN(String.valueOf(3));
我成功地进行了一个将比较运算符设置为 EQ 的查询。给出了正确的结果,但其他选项( NE | LE | LT | GE | GT | 等)都不起作用。他们都抛出一个 ValidationException - 不支持查询关键条件(服务:AmazonDynamoDB;状态代码:400;...
我究竟做错了什么?
非常感激
我正在尝试更新 DynamoDB 表中的项目。我编写的代码正在更新该项目,但是当我添加标题为“源/目标”的列时,它给出了“ValidationException”异常。
用于更新的代码 -
dynamodb = boto3.resource('dynamodb')
table = dynamodb.Table("test")
response = table.update_item(
Key={
'id': "test_id
},
UpdateExpression="set source/target= :st, user_name= :usr",
ExpressionAttributeValues={
':st' : event['source/target'],
':usr' : event['user_name']
},
ReturnValues="UPDATED_NEW"
)
Run Code Online (Sandbox Code Playgroud)
我得到的错误是 -
调用UpdateItem操作时发生错误(ValidationException):Invalid UpdateExpression:语法错误;标记:\"/\",附近:\"源/目标\""
怎么解决这个问题呢?