小编mon*_*key的帖子

AWS CDK 使用现有 DynamoDB 和流

我正在将我的云解决方案迁移到 cdk。我可以看到如何通过 TableProps 在构造函数中将流添加到新的 DynamoDB:

const newTable = new dynamodb.Table(this, 'new Table', {
  tableName: 'streaming',
  partitionKey: { name : 'id', type: dynamodb.AttributeType.NUMBER },
  stream: StreamViewType.NEW_AND_OLD_IMAGES,
})
Run Code Online (Sandbox Code Playgroud)

但没有明显的方法可以在现有 DynamoDB 上启用流。我似乎无法访问现有项目上的 TableProps。

const sandpitTable = dynamodb.Table.fromTableArn(this, 'sandpitTable', 'arn:aws:dynamodb:ap-southeast-2:xxxxxxxxxxxxxx:table/Sandpit');
sandpitTable.grantStreamRead(streamLambda);
// sandpitTable.  ??? what to do?
Run Code Online (Sandbox Code Playgroud)

如何才能实现这一目标?该解决方案如何考虑灾难恢复并防止使用控制台时不可能发生的 Dynamo DB 意外删除。

amazon-web-services amazon-dynamodb aws-cdk

8
推荐指数
1
解决办法
1万
查看次数

将现有的带有流的 dynamodb 表添加到 CDK

我目前有一个 dynamodb 表,已经使用了几年,最初是在控制台中创建的。它包含大量有价值的数据。它使用流通过表的 lambda 触发器定期将快照发送到 s3 进行分析。最终用户大量使用该表本身来访问其数据。

我想将我的解决方案迁移到 CDK 中。我想探索的选项:

  1. 当您使用 Table.fromTableArn 构造时,您无法访问表流 arn,因此无法附加 lambda 触发器。有没有解决的办法?
  2. 有没有办法克隆我的 CDK 堆栈中的 dynamoDB 表内容,以便我的副本将以与原始状态完全相同的状态开始?然后我可以在 CDK 中添加和管理流等,没有问题。
  3. 值得检查一下我的假设:这是唯一的两个选择。

amazon-web-services aws-cdk

7
推荐指数
1
解决办法
4365
查看次数

PutItem 和 DynamoDB 使用列表/数组

我正在努力实现我认为非常标准的东西,但我已经碰壁了。我有一堆数据要存储在 DynamoDB 中

    const putDataParams = {
        TableName: "sensorNodeData2",
        Item: {
            "deviceId":   {"S": event.deviceId}, 
            "timeStamp":   {"N": event.time},
            "rssi": {"S": event.rssi},
            "seq":  {"S": event.seqNum},
            "payload": {"L": payloadArrayInt16.map(x => x.N)}
        }
    };
    console.log('Data PutItem Params = ' + JSON.stringify(putDataParams));

    dynamodb.putItem(putDataParams, function(err, data) {
        if (err) {
            console.log(err);
            context.fail('ERROR: Dynamo failed: ' + err);
        }
        else {
            console.log(data);
            context.succeed('SUCCESS');
        }
    });
Run Code Online (Sandbox Code Playgroud)

问题是我一生都无法弄清楚如何让列表部分起作用。我首先将其定义为:

var payloadArrayInt16=  new Uint16Array(dataArrayMaxIndex); 
Run Code Online (Sandbox Code Playgroud)

错误是:

"errorMessage": "ERROR: Dynamo failed: InvalidParameterType: Expected params.Item[payload].L to be an Array"
Run Code Online (Sandbox Code Playgroud)

然后我试过:

var payloadArrayInt16= [dataArrayMaxIndex];
Run Code Online (Sandbox Code Playgroud)

它通过了,但显然没有做我想要的......当我打印出参数时,它没有取出数组的内容。它看到: …

amazon-web-services amazon-dynamodb aws-sdk-nodejs

5
推荐指数
1
解决办法
5564
查看次数

R 库问题 - 无法删除先前安装的包“rlang”

当我尝试运行特定函数时:出现以下错误:

\n
> wrangled_devices <- wrangle_devices(params$filtered_devices)\nError in loadNamespace(i, c(lib.loc, .libPaths()), versionCheck = vI[[i]]) : \n  namespace \xe2\x80\x98rlang\xe2\x80\x99 0.4.12 is already loaded, but >= 1.0.1 is required\n
Run Code Online (Sandbox Code Playgroud)\n

所以我想我会按照指示更新软件包。但这不起作用:

\n
install.packages("rlang")\nInstalling package into \xe2\x80\x98C:/Users/thebi/Documents/R/win-library/4.1\xe2\x80\x99\n(as \xe2\x80\x98lib\xe2\x80\x99 is unspecified)\ntrying URL \'https://cran.rstudio.com/bin/windows/contrib/4.1/rlang_1.0.2.zip\'\nContent type \'application/zip\' length 1721024 bytes (1.6 MB)\ndownloaded 1.6 MB\n\npackage \xe2\x80\x98rlang\xe2\x80\x99 successfully unpacked and MD5 sums checked\nWarning in install.packages :\n  cannot remove prior installation of package \xe2\x80\x98rlang\xe2\x80\x99\nWarning in install.packages :\n  problem copying C:\\Users\\thebi\\Documents\\R\\win-library\\4.1\\00LOCK\\rlang\\libs\\x64\\rlang.dll to C:\\Users\\thebi\\Documents\\R\\win-library\\4.1\\rlang\\libs\\x64\\rlang.dll: Permission denied\nWarning in install.packages :\n  restored \xe2\x80\x98rlang\xe2\x80\x99\n\nThe downloaded …
Run Code Online (Sandbox Code Playgroud)

r

5
推荐指数
1
解决办法
5045
查看次数

同时运行多个版本的 ESP-IDF

刚刚尝试在我的计算机上运行最新版本的 ESP-IDF。都好。

当前版本 = 4.3.2 最新版本 = 5.0.1

我在 Visual Studio 中工作,但直接使用 ESP cmd 终端来构建等。尚未设法正确找出 Visual Studio 插件。

但是当我尝试返回旧版本时,遇到了错误。该错误已在 github 中发现: https: //github.com/espressif/esp-idf/issues/9837。因此,我可以通过删除~/.espressif/idf-env.json文件并重新运行来修复我的工作版本$IDF_PATH/install.sh

我的问题是 - 是否可以在同一台机器上同时运行 2 个版本的 ESP-IDF?需要什么设置才能实现此目的?

干杯。

esp32 esp-idf espressif-idf

5
推荐指数
1
解决办法
1470
查看次数

加密/解密二进制数据crypto-js

我无法使用 Crypto-JS 成功加密二进制消息。我的数据在数组缓冲区中。我正在 Angular 中工作,我进行了一个简短的测试,效果很好。我正在与 WiFi 设备通信。下面的测试工作正常,使用简单的字符串,这证明加密和传输都有效。

var iv_hexString = this.buf2hex([146, 66, 191, 151, 23, 3, 113, 119, 231, 131, 133, 112, 79, 32, 114, 136]);
var key_hexString = this.buf2hex([123, 217, 20, 11, 24, 26, 85, 45, 114, 184, 27, 162, 37, 115, 222, 209, 241, 24, 175, 144, 175, 53, 196, 29, 24, 23, 17, 218, 131, 226, 53, 209]);
var key = CryptoJS.enc.Hex.parse(key_hexString);
var iv = CryptoJS.enc.Hex.parse(iv_hexString);

console.log('iv  = ' + iv);
console.log('key = ' + key);

let …
Run Code Online (Sandbox Code Playgroud)

javascript cryptojs

3
推荐指数
1
解决办法
1319
查看次数