无法将 AWS 库导入 Processing
Can’t import AWS library to Processing
几天来我一直在努力解决这个问题,但我开始放弃了...
如何在 Processing 中导入和使用 Amazon AWS 2.0 SDK?
我想使用 Amazon DynamoDB 为我在云端的游戏设置一些变量(高分、游戏次数等)。我原本打算使用一个 Raspberry Pi 我有,但后来我发现亚马逊免费提供一些 DynamoDB 使用,并决定使用它。
我尝试只下载 jar 并将其放入 Processing window(以便将其添加到 "code" 文件夹),使用 Maven 构建 2.0 SDK 的一部分使用 CMD 中的 DynamoDB,然后将生成的文件夹放入 Processing 的库文件夹中(虽然我不确定到底放什么,但我尝试了所有东西的一些组合,只是 jar,一个 src 文件夹......)。但是当我进入处理步骤时,写 import com.amazonaws.*;
它只是告诉我我要导入的库不存在......
这是我最新的文件夹结构尝试:
Folder structure attempt。
非常感谢任何帮助,我对此很陌生,在 Processing 中找不到任何专门关于执行此操作的教程!我很乐意提供任何需要的细节。
谢谢!
向 Processing 添加新库可能需要大量工作,具体取决于它需要多少依赖项。幸运的是,可以将对 AWS DynamoDB 的支持添加到 Processing(使用 AWS SDK for Java 2.0)。这是一个显示简单示例的处理草图:
import com.amazonaws.regions.Regions;
import com.amazonaws.services.dynamodbv2.AmazonDynamoDBClientBuilder;
import com.amazonaws.services.dynamodbv2.document.DynamoDB;
import com.amazonaws.services.dynamodbv2.document.GetItemOutcome;
import com.amazonaws.services.dynamodbv2.document.PrimaryKey;
//import com.amazonaws.services.dynamodbv2.document.Table;
com.amazonaws.services.dynamodbv2.document.Table highScoreTable;
void settings() {
size(640, 480);
}
void setup() {
DynamoDB dynamoDB = new DynamoDB(
AmazonDynamoDBClientBuilder
.standard()
.withRegion(Regions.EU_NORTH_1)
.build()
);
highScoreTable = dynamoDB.getTable("Whosebug-q60122736");
noLoop();
}
void draw() {
PrimaryKey primaryKey = new PrimaryKey("id", "player-007");
GetItemOutcome outcome = highScoreTable.getItemOutcome(primaryKey);
String highScore = outcome.getItem().getString("high-score");
fill(0);
text("Hi AWS DynamoDB! The high score is " + highScore + ".", 10, 20);
}
这是手动安装处理库的官方指南:
https://github.com/processing/processing/wiki/How-to-Install-a-Contributed-Library
为了让Processing找到与DynamoDB相关的jar文件,你需要在Processing libraries目录中新建一个目录(我在我的系统上创建了这个目录:~/sketchbook/libraries/awsdynamodb111717)。在这个新目录中,您创建一个 "library" 目录,用于放置下面提到的 jar 文件。注意:主要 AWS DynamoDB jar 文件的名称应与顶级新目录的名称相同(在我的例子中:awsdynamodb111717)。
我下载了这九个 jar 文件来让 AWS DynamoDB 工作(处理似乎对名称中的破折号和点不满意,所以我删除了它们):
- awscore111717.jar
- awsdynamodb111717.jar
- commonslogging12.jar
- httpclient4511.jar
- httpcore4413.jar
- jacksonannotations2102.jar
- jacksoncore2102.jar
- jacksondatabind2102.jar
- jodatime2105.jar
前两个 jar 文件来自 AWS SDK。其他七个是依赖项。
在我的系统上,目录结构如下所示:
~/sketchbook/libraries/awsdynamodb111717
└── library
├── awscore111717.jar
├── awsdynamodb111717.jar
├── commonslogging12.jar
├── httpclient4511.jar
├── httpcore4413.jar
├── jacksonannotations2102.jar
├── jacksoncore2102.jar
├── jacksondatabind2102.jar
└── jodatime2105.jar
最后,您需要将 AWS 凭证存储在某个地方(例如在 ~/.aws/credentials 文件中;有关详细信息,请参阅 Java Code Examples)。
出于测试目的,我创建了一个 "Whosebug-q60122736" table,其中包含一个供处理草图检索的项目。 Processing 3.5.3 用于测试。
几天来我一直在努力解决这个问题,但我开始放弃了... 如何在 Processing 中导入和使用 Amazon AWS 2.0 SDK?
我想使用 Amazon DynamoDB 为我在云端的游戏设置一些变量(高分、游戏次数等)。我原本打算使用一个 Raspberry Pi 我有,但后来我发现亚马逊免费提供一些 DynamoDB 使用,并决定使用它。
我尝试只下载 jar 并将其放入 Processing window(以便将其添加到 "code" 文件夹),使用 Maven 构建 2.0 SDK 的一部分使用 CMD 中的 DynamoDB,然后将生成的文件夹放入 Processing 的库文件夹中(虽然我不确定到底放什么,但我尝试了所有东西的一些组合,只是 jar,一个 src 文件夹......)。但是当我进入处理步骤时,写 import com.amazonaws.*;
它只是告诉我我要导入的库不存在......
这是我最新的文件夹结构尝试:
Folder structure attempt。
非常感谢任何帮助,我对此很陌生,在 Processing 中找不到任何专门关于执行此操作的教程!我很乐意提供任何需要的细节。 谢谢!
向 Processing 添加新库可能需要大量工作,具体取决于它需要多少依赖项。幸运的是,可以将对 AWS DynamoDB 的支持添加到 Processing(使用 AWS SDK for Java 2.0)。这是一个显示简单示例的处理草图:
import com.amazonaws.regions.Regions;
import com.amazonaws.services.dynamodbv2.AmazonDynamoDBClientBuilder;
import com.amazonaws.services.dynamodbv2.document.DynamoDB;
import com.amazonaws.services.dynamodbv2.document.GetItemOutcome;
import com.amazonaws.services.dynamodbv2.document.PrimaryKey;
//import com.amazonaws.services.dynamodbv2.document.Table;
com.amazonaws.services.dynamodbv2.document.Table highScoreTable;
void settings() {
size(640, 480);
}
void setup() {
DynamoDB dynamoDB = new DynamoDB(
AmazonDynamoDBClientBuilder
.standard()
.withRegion(Regions.EU_NORTH_1)
.build()
);
highScoreTable = dynamoDB.getTable("Whosebug-q60122736");
noLoop();
}
void draw() {
PrimaryKey primaryKey = new PrimaryKey("id", "player-007");
GetItemOutcome outcome = highScoreTable.getItemOutcome(primaryKey);
String highScore = outcome.getItem().getString("high-score");
fill(0);
text("Hi AWS DynamoDB! The high score is " + highScore + ".", 10, 20);
}
这是手动安装处理库的官方指南:
https://github.com/processing/processing/wiki/How-to-Install-a-Contributed-Library
为了让Processing找到与DynamoDB相关的jar文件,你需要在Processing libraries目录中新建一个目录(我在我的系统上创建了这个目录:~/sketchbook/libraries/awsdynamodb111717)。在这个新目录中,您创建一个 "library" 目录,用于放置下面提到的 jar 文件。注意:主要 AWS DynamoDB jar 文件的名称应与顶级新目录的名称相同(在我的例子中:awsdynamodb111717)。
我下载了这九个 jar 文件来让 AWS DynamoDB 工作(处理似乎对名称中的破折号和点不满意,所以我删除了它们):
- awscore111717.jar
- awsdynamodb111717.jar
- commonslogging12.jar
- httpclient4511.jar
- httpcore4413.jar
- jacksonannotations2102.jar
- jacksoncore2102.jar
- jacksondatabind2102.jar
- jodatime2105.jar
前两个 jar 文件来自 AWS SDK。其他七个是依赖项。
在我的系统上,目录结构如下所示:
~/sketchbook/libraries/awsdynamodb111717
└── library
├── awscore111717.jar
├── awsdynamodb111717.jar
├── commonslogging12.jar
├── httpclient4511.jar
├── httpcore4413.jar
├── jacksonannotations2102.jar
├── jacksoncore2102.jar
├── jacksondatabind2102.jar
└── jodatime2105.jar
最后,您需要将 AWS 凭证存储在某个地方(例如在 ~/.aws/credentials 文件中;有关详细信息,请参阅 Java Code Examples)。
出于测试目的,我创建了一个 "Whosebug-q60122736" table,其中包含一个供处理草图检索的项目。 Processing 3.5.3 用于测试。