标签: amazon-dynamodb-local

从DynamoDB导出数据

是否可以以某种格式从DynamoDB表导出数据?

具体的用例是我想从我的生产dynamodb数据库导出数据并将该数据导入我的本地dynamodb实例,这样我的应用程序就可以使用本地数据副本而不是生产数据.

我使用link作为DynamoDB的本地实例.

amazon-web-services amazon-dynamodb amazon-dynamodb-local

22
推荐指数
5
解决办法
4万
查看次数

M1 Apple Silicon Mac 上的 Dynamodb 本地设置

我使用https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DynamoDBLocal.DownloadingAndRunning.html进行了 dynamodb 的本地设置

我可以使用以下命令启动实例java -Djava.library.path=./DynamoDBLocal_lib -jar DynamoDBLocal.jar -sharedDb,但是当我尝试执行其他操作时,它会出现以下错误。

2021 年 3 月 15 日下午 2:10:28 com.almworks.sqlite4java.Internal 日志警告:[sqlite] 无法打开 DB[15]:com.almworks.sqlite4java.SQLiteException:[-91] 无法加载库:java.lang。 UnsatisfiedLinkError:/Users/ahsanejaz/Downloads/dynamodb_local_latest/DynamoDBLocal_lib/libsqlite4java-osx.dylib:dlopen(/Users/ahsanejaz/Downloads/dynamodb_local_latest/DynamoDBLocal_lib/libsqlite4java-osx.dylib,1):找不到合适的图像。确实找到:/Users/ahsanejaz/Downloads/dynamodb_local_latest/DynamoDBLocal_lib/libsqlite4java-osx.dylib:通用包装器中没有匹配的架构/Users/ahsanejaz/Downloads/dynamodb_local_latest/DynamoDBLocal_lib/libsqlite4java-osx.dylib:通用包装器中没有匹配的架构2021 年 15 月 2:10:28 PM com.almworks.sqlite4java.Internal 日志严重:[sqlite] SQLiteQueue[shared-local-instance.db]:运行作业队列时出错 com.almworks.sqlite4java.SQLiteException:[-91] 不能加载库:java.lang.UnsatisfiedLinkError:/Users/ahsanejaz/Downloads/dynamodb_local_latest/DynamoDBLocal_lib/libsqlite4java-osx.dylib:dlopen(/Users/ahsanejaz/Downloads/dynamodb_local_latest/DynamoDBLocal_lib/libsqlite4java-osx.dylib,1):没有合适的找到图像。确实找到:/Users/ahsanejaz/Downloads/dynamodb_local_latest/DynamoDBLocal_lib/libsqlite4java-osx.dylib:通用包装器中没有匹配的架构 /Users/ahsanejaz/Downloads/dynamodb_local_latest/DynamoDBLocal_lib/libsqlite4java-osx.dylib:通用包装器中没有匹配的架构com.almworks.sqlite4java.SQLite.loadLibrary(SQLite.java:97) 在 com.almworks.sqlite4java.SQLiteConnection.open0(SQLiteConnection.java:1441) 在 com.almworks.sqlite4java.SQLiteConnection.open(SQLiteConnection.java:282)在 com.almworks.sqlite4java.SQLiteConnection.open(SQLiteConnection.java:293) 在 com.almworks.sqlite4java.SQLiteQueue.openConnection(SQLiteQueue.java:464) 在 com.almworks.sqlite4java.SQLiteQueue.queueFunction(SQLiteQueue.java:641) )在 com.almworks.sqlite4java.SQLiteQueue.runQueue(SQLiteQueue.java:623) 在 com.almworks.sqlite4java.SQLiteQueue.access$000(SQLiteQueue.java:77) 在 com.almworks.sqlite4java.SQLiteQueue$1.run(SQLiteQueue. java:205) 在 java.base/java.lang.Thread.run(未知来源) 引起: java.lang.UnsatisfiedLinkError: /Users/ahsanejaz/Downloads/dynamodb_local_latest/DynamoDBLocal_lib/libsqlite4java-osx.dylib: dlopen(/Users /ahsanejaz/Downloads/dynamodb_local_latest/DynamoDBLocal_lib/libsqlite4java-osx.dylib, 1):找不到合适的图像。确实找到:/Users/ahsanejaz/Downloads/dynamodb_local_latest/DynamoDBLocal_lib/libsqlite4java-osx.dylib:通用包装器中没有匹配的架构 /Users/ahsanejaz/Downloads/dynamodb_local_latest/DynamoDBLocal_lib/libsqlite4java-osx.dylib:通用包装器中没有匹配的架构java.base/java.lang.ClassLoader$NativeLibrary.load0(本机方法) 在 java.base/java.lang.ClassLoader$NativeLibrary.load(未知来源) 在 java.base/java.lang.ClassLoader$NativeLibrary.loadLibrary(来源未知)位于 java.base/java.lang.ClassLoader。

此问题与新的 M1 Apple Silicon 架构有关吗?有什么解决方法吗?

java macos amazon-dynamodb-local apple-m1

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

dynamodb 本地:错误 StatusLogger Log4j2 找不到日志记录实现

这是我第一次遇到这个问题,我在 Linux 和 Mac 上使用本地 DynamoDB 并且大部分时间它都运行良好,现在我在另一台 Mac 机器上,它只是抛出一个错误。

我得到的错误信息是:

ERROR StatusLogger Log4j2 could not find a logging implementation. 
Please add log4j-core to the classpath. Using SimpleLogger to log to the console...
Run Code Online (Sandbox Code Playgroud)

我尝试通过自制软件安装它,但它抛出了同样的错误。我可能在我的机器上搞砸了一些东西,或者可能错过了一些配置。

下面是我尝试运行它时的屏幕截图:

在此处输入图片说明

参考:
Dynamo DB 本地:https : //docs.aws.amazon.com/amazondynamodb/latest/developerguide/DynamoDBLocal.html

log4j2 amazon-dynamodb-local

16
推荐指数
1
解决办法
2545
查看次数

无法连接到本地 DynamoDB

我无法连接到使用 cli 本地运行的 DynamoDB。

aws dynamodb list-tables --endpoint-url http://localhost:8000

无法连接到端点 URL:“http://localhost:8000/”

这也不起作用: aws dynamodb list-tables --region local 无法连接到端点 URL:“http://localhost:8000/”

我尝试使用不同的端口,但没有帮助。我也禁用了所有代理。我可以使用这样的应用程序连接到 DynamoDB,所以我知道这不是 dynamodb 问题: aws dynamodb list-tables --endpoint-url http://dynamodb.us-west-2.amazonaws.com --region us-west-2

{“表名”:[“音乐”]}

java endpoint amazon-web-services amazon-dynamodb amazon-dynamodb-local

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

DynamoDB Java v2 sdk 的 QueryEnhancedRequest 中的 Limit 方法未按预期进行限制

我正在使用 v2 aws DynamoDV Java sdk,并且我想限制通过分区键查询时返回的结果数量(下面的代码片段),但下面的代码返回完整的项目集。

java 文档说“注意:限制不是指要返回的项目数,而是指数据库在执行查询时应评估的项目数。在后续查询调用中将 limit 与 Page.lastEvaluatedKey() 和 ExclusiveStartKey 一起使用来评估限制每次调用的项目。” 这似乎支持我所看到的行为。

但是,如何使用 Java 设置 DynamoDB 返回的匹配项的限制?在早期版本的 sdk 中有使用 .withMaxResultSize 方法的解决方案。

java dynamodb v2 skd 是否有类似的东西,或者我必须手动限制结果集?代码如下:

QueryConditional conditional = QueryConditional.keyEqualTo(
                Key.builder()
                        .partitionValue(jobId)
                        .build()
        );
QueryEnhancedRequest request = QueryEnhancedRequest.builder()
                .queryConditional(conditional)
                .limit(1)
                .scanIndexForward(false)
                .build();

Run Code Online (Sandbox Code Playgroud)

java amazon-dynamodb dynamo-local dynamodb-queries amazon-dynamodb-local

6
推荐指数
1
解决办法
6749
查看次数

DynamoDB NoSQL Workbench 测试表不可见

我是 DynamoDB 的新手,正在使用 NoSQL Workbench 进行学习。“数据建模器”部分中有一个新的“示例”表。我在“操作生成器”部分下创建了一个新的本地连接,以处理/测试“示例”表。连接创建成功,没有错误。但我在连接部分下看不到任何表格。它说“找不到桌子”。我不明白这个问题。我想,我应该看到“数据建模器”部分下可见的“示例”表。如何查看连接部分中的表?

amazon-dynamodb-local

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

如何将 Dynamodb Local 集成到 AWS 云开发套件中

使用 aws-cdk 时如何将 DynamoDB Local 集成到开发流程中?例如,以下应用程序(使用“示例应用程序”模板)可以运行,但如何运行sam local invoke <id of the backendHandler lambda>并指向在您的计算机上运行的 DynamoDB Local 实例(而不是必须运行cdk deploy)才能查看实际情况?

// lib/minimal-app-stack.ts

import * as apiGateway from "@aws-cdk/aws-apigateway";
import * as cdk from "@aws-cdk/core";
import {MinimalBackend} from "./minimal-backend";

export class MinimalAppStack extends cdk.Stack {
    constructor(scope: cdk.App, id: string, props?: cdk.StackProps) {
        super(scope, id, props);

        const minimalBackend = new MinimalBackend(this, "MinimalBackend");

        new apiGateway.LambdaRestApi(this, "Endpoint", {
            handler: minimalBackend.handler
        });
    }
}

// lib/minimal-backend.ts

import * as cdk from "@aws-cdk/core";
import * …
Run Code Online (Sandbox Code Playgroud)

amazon-dynamodb aws-cdk amazon-dynamodb-local

5
推荐指数
0
解决办法
570
查看次数

如何静默运行 aws cli 命令来创建 dynamodb 表

我正在创建一个 shell 脚本,它将在本地创建几个 dynamodb 表等。这是我正在使用的创建表 AWS CLI 命令:

aws dynamodb create-table --cli-input-json file://table-user.json --endpoint-url http://localhost:8000
Run Code Online (Sandbox Code Playgroud)

table-user.json 包含用于创建的所有表相关信息。

此命令的问题是我需要单击“q”键才能继续执行下一行,因为它提供表详细信息作为输出。前任:

{
    "TableDescription": {
        "AttributeDefinitions": [
            {
                "AttributeName": "id",
                "AttributeType": "S"
            },
            {
                "AttributeName": "externalId",
                "AttributeType": "S"
            },
.
.
.
Run Code Online (Sandbox Code Playgroud)

如何静默运行创建表命令?

amazon-dynamodb aws-cli amazon-dynamodb-local

4
推荐指数
1
解决办法
1465
查看次数

从本地 dynamodb 的 NoSQL Workbench 删除表

我向本地 dynamodb 连接添加了两个表,但似乎找不到删除它们的方法。我想删除“CoreTable”和“CoreTable-local”,如下图所示。谢谢!

在此输入图像描述

amazon-web-services nosql amazon-dynamodb amazon-dynamodb-local

4
推荐指数
1
解决办法
4160
查看次数

使用 Java 中的 DynamoDBMapper 更新特定属性

我只想使用 DynamoDBMapper 更新项目的特定属性。例如,我有一个带有属性的用户表,即 id、名称、地址。

@Data
@DynamoDBTable(tableName = "Users")
public class User {

    @DynamoDBHashKey
    @DynamoDBGeneratedUuid(DynamoDBAutoGenerateStrategy.CREATE)
    private String id;

    @DynamoDBAttribute
    private String name;

    @DynamoDBAttribute
    private Address address;

}
Run Code Online (Sandbox Code Playgroud)

我只想更新地址属性而不是其他字段(选择性更新)。

我可以通过使用 UpdateItemSpec 找到一个示例示例,但无法为 DynamoDBMapper 找到它。使用 UpdateItemSpec,我可以使用 withUpdateExpression() 来定义更新表达式。可以在此处找到更多详细信息。

有什么办法可以用DynamoDBMapper实现相同的目标吗?

amazon-dynamodb aws-sdk amazon-dynamodb-local

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