我正在尝试使用 SDK php 2 从 DynamoDB 写入和读取二进制数据。
我可以将数据写入表,但是当我读取它时,它以不同的格式出现,如何将其转换回其原始二进制格式。
$put_response = $dynamodb->putItem(array(
'TableName' => 'TableName',
'Item' => array(
'Id' => array( 'S' => 'werwer' ), // Primary Key
'IV' => array( 'B' => openssl_random_pseudo_bytes(50)),
'Password' => array( 'B' => $encrypt->EncryptER("asdasd") )
)
));
当我读取 IV 属性或密码时,我得到了一个不同的值,我应该做什么,或者是否有函数将字符串转换回二进制。
如果我在将值存储在 Dynamo LX x ʝ t] 中之前进行回显,这就是我得到的>0
这是从 Dynamo GdNMWLt4nZrKnc50XdE+MA== 读取变量后的回声
谢谢
最主要的是,二进制数据存储在 DynamoDB 的 base64 中,即使您以原始格式提供。 所以要取回原始二进制文件,我必须使用
base64_decode($response->getPath('Item/IV/B'))