1
Olaylar adlı bir tablo var, birincil anahtar olarak deviceID ve sortStamp sıralama anahtarı.boto - şema uyumsuzluğu nedeniyle silme başarısız oldu
dynamodb = boto3.resource('dynamodb')
events_table = dynamodb.Table('Events')
events_table.delete_item(
Key = {
'deviceID' : 'xyz123',
'timeStamp' : 12314156.54345
}
)
Neden bir şema uyumsuzluğu hatası alıyorum: Şimdi bu anahtarların her ikisi verilmiş bir öğeyi silmeye çalışıyorum?
File "C:\Python27\lib\site-packages\boto3\resources\factory.py", line 498, in do_action
response = action(self, *args, **kwargs)
File "C:\Python27\lib\site-packages\boto3\resources\action.py", line 83, in __call__
response = getattr(parent.meta.client, operation_name)(**params)
File "C:\Python27\lib\site-packages\botocore\client.py", line 236, in _api_call
return self._make_api_call(operation_name, kwargs)
File "C:\Python27\lib\site-packages\botocore\client.py", line 500, in _make_api_call
raise ClientError(parsed_response, operation_name)
botocore.exceptions.ClientError: An error occurred (ValidationException) when calling the DeleteItem operation:
The provided key element does not match the schema
Ama tablo kaynak kullanıyorum, değil müşteri kaynak: http://boto3.readthedocs.org/en/latest/reference/ services/dynamodb.html # DynamoDB.Table.delete_item –
neden istemci kullanmıyorsunuz? –
Sanırım bu mümkün, fakat aynı işi yapması gerekmiyordu, üstelik müşteri ile tablo adını belirttiniz ve 'S' önekini dizelere eklediniz? –