小编jto*_*ron的帖子

AWS RDS Data API executeStatement 不返回列名

我正在使用适用于 Amazon Aurora Serverless新数据 API

是否可以在响应中获取表列名称?

例如,如果我在包含列, , , ,的用户表中运行以下查询:idfirst_namelast_nameemailphone

const sqlStatement = `
    SELECT *
    FROM user
    WHERE id = :id 
`;
const params = {
    secretArn: <mySecretArn>,
    resourceArn: <myResourceArn>,
    database: <myDatabase>,
    sql: sqlStatement,
    parameters: [
        {
            name: "id",
            value: {
                "stringValue": 1
            }
        }
    ]
};
let res = await this.RDS.executeStatement(params)
console.log(res);
Run Code Online (Sandbox Code Playgroud)

我收到了这样的回复,所以我需要猜测哪个列对应于每个值:

{
    "numberOfRecordsUpdated": 0,
    "records": [
        [
            {
                "longValue": 1
            },
            {
                "stringValue": "Nicolas"
            },
            { …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services amazon-aurora aws-rds-data-service

16
推荐指数
2
解决办法
3739
查看次数

在MongoDB中,最大化写入日常日志文档的性能的策略

我们有一组日志数据,其中集合中的每个文档都由MAC地址和日历日标识.基本上:

{
  _id: <generated>,
  mac: <string>,
  day: <date>,
  data: [ "value1", "value2" ]
}
Run Code Online (Sandbox Code Playgroud)

每隔五分钟,我们会在当天的文档中向数据数组添加一个新的日志条目.当我们为每个MAC创建一个新文档时,该文档将在午夜UTC结束.

我们已经注意到,IO(按写入的字节数衡量)会整天增加,然后在UTC午夜降回.这不应该发生,因为日志消息的速率是不变的.我们认为意外行为是由于Mongo移动文档,而不是更新其日志数组.对于它的价值,stats()显示paddingFactor是1.0299999997858227.

几个问题:

  1. 有没有办法确认Mongo是否正在更新或移动?我们在慢查询日志中看到了一些动作,但这似乎是轶事证据.我知道我可以db.setProfilingLevel(2),然后db.system.profile.find(),最后寻找"moved:true",但我不确定是否可以在繁忙的生产系统上执行此操作.
  2. 每个文档的大小都是非常可预测和有规律的.假设mongo正在做很多动作,那么找出Mongo能够更准确地预测的原因的最佳方法是什么?或者让Mongo更准确地说明一下?假设上面对问题的描述是正确的,那么调整填充因子似乎不会成功.
  3. 我应该很容易对文档进行预先处理并从Mongo中删除任何猜测.(我知道填充因子文档说我不应该这样做,但我只需要把这个问题放在我身后.)什么是预设文档的最佳方法?编写带有垃圾字节数组字段的文档似乎很简单,然后立即从文档中删除该字段,但是我应该注意哪些问题?例如,我可以想象在删除垃圾字段之前必须在服务器上等待写操作(即执行安全写操作).
  4. 我担心大约在同一时间预先分配所有一天的文档,因为当时这似乎会使磁盘饱和.这是一个有效的问题吗?我应该尝试分摊前一天的预分配费用吗?

io mongodb nosql

13
推荐指数
1
解决办法
2770
查看次数

mongodb数据库与scala play 2.0教程

是否有一个教程如何使用scala play 2.0的mongodb数据库?

在官方网站(playframework.org)上似乎只有SQL示例.

scala mongodb playframework

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

AWS Lambda 中数据库代理的用途是什么?

我正在使用 AWS Lambda,并使用 node.js 集成了 SQL 服务器。是它的例子。现在,我的问题是,AWS lambda 中的数据库代理是什么以及我如何从中受益?

谢谢

aws-lambda amazon-rds-proxy

11
推荐指数
1
解决办法
8125
查看次数

RDS 代理是否会影响当前应用程序端池?

我在 AWS ECS 上有一个 Saas 应用程序,在 AWS RDS 上有一个数据库。我们计划实施 AWS RDS 代理来实现池化。从RDS代理文档中,我看到我们不需要对应用程序代码进行任何更改。目前,我们正在使用应用程序端连接池。当我们实现RDS代理进行池化时,当前的池化有什么影响吗?

我们是否需要删除应用程序端池才能有效地与 RDS 配合使用?

我主要担心的是,如果我在 RDS 代理和应用程序池配置中选择 100% 池化,如果我们将其限制为 100 个最大连接。这会成为瓶颈吗?

mysql proxy connection-pooling amazon-rds amazon-rds-proxy

9
推荐指数
1
解决办法
5073
查看次数

检索Spring Security的身份验证,即使在filter ="none"的公共页面上也是如此

假设我有一个名为faq.html的简单页面.我希望此页面可公开访问,因此我应用通常的Spring Security配置:

<sec:intercept-url pattern="/faq.html" filters="none" />
Run Code Online (Sandbox Code Playgroud)

我们还要说,如果用户在进行身份验证后到达此页面,我想在页面上打印"Hi Firstname Lastname".对于需要身份验证的页面,我只需将以下结果放入my中ModelMap,然后在我的视图中可以访问这些名称:

SecurityContextHolder.getContext().getAuthentication().getPrincipal()
Run Code Online (Sandbox Code Playgroud)

这不起作用faq.html,大概是因为当你指定时filters="none",那么调用getPrincipal()返回null.(这种行为是有道理的,因为配置导致不应用过滤器.)所以,似乎我必须手动执行一堆Spring Security的东西:

public static Authentication authenticate(HttpServletRequest request,
        HttpServletResponse response, SecurityContextRepository repo,
        RememberMeServices rememberMeServices) {
    Authentication auth = SecurityContextHolder.getContext().getAuthentication();

    // try to load a previous Authentication from the repository
    if (auth == null) {
        SecurityContext context = repo.loadContext(
                new HttpRequestResponseHolder(request, response));
        auth = context.getAuthentication();
    }

    // check for remember-me token
    if (auth == null) {
        auth = rememberMeServices.autoLogin(request, response);
    }

    return …
Run Code Online (Sandbox Code Playgroud)

java spring-security

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

使用 AWS RDS 代理时准备语句的替代方案

RDS proxy 的文档中指出,当应用程序使用准备好的语句时,连接会自动固定:

准备好的语句会导致代理固定会话。无论准备好的语句使用 SQL 文本还是二进制协议,此规则都适用。( https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/rds-proxy.html )

使用 RDS 代理时,我应该如何保护我的应用程序免受 SQL 注入?我使用此服务是为了在我的微服务中更快地与数据库连接,因此我希望重用该连接。

amazon-web-services amazon-rds aws-lambda amazon-rds-proxy

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

使用 TypeORM 使用 IAM 凭证连接到 Amazon RDS PostgresQL 代理

我试图弄清楚如何使用 TypeORM 在 lambda 函数中连接到 RDS PG 代理(因此建立连接没有问题)。我能够使用 Lambda 函数成功连接到 RDS 实例 - 但是,当我将信息指向代理(更改 Lambda 函数内的环境变量)时,我遇到了以下错误:

{
    "errorType": "Error",
    "errorMessage": "read ECONNRESET",
    "code": "ECONNRESET",
    "errno": "ECONNRESET",
    "syscall": "read",
    "stack": [
        "Error: read ECONNRESET",
        "    at TCP.onStreamRead (internal/stream_base_commons.js:205:27)"
    ]
}
Run Code Online (Sandbox Code Playgroud)

这是用于创建与 TypeORM 连接的代码:

const config = getDBConfig();
connection = await createConnection(config);

// Retrieve database connection options
const getDBConfig = (): ConnectionOptions => {
  // Use IAM-based authentication to connect
  const signer = new RDS.Signer({
    region: "us-east-1",
    username: process.env.USERNAME,
    hostname: process.env.HOSTNAME,
    port: …
Run Code Online (Sandbox Code Playgroud)

postgresql proxy amazon-rds typeorm amazon-rds-proxy

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

Android:在前面保持警惕,以便用户必须回复

我的应用程序显示用户必须在继续执行其他操作之前必须响应的警报.我正试图找出实现这个的最佳方法.使用活动进行警报并不是很有效.

在我当前的实现中,警报是活动(A).当启动来自同一个包的另一个活动并调用onStop时,它将使用FLAG_ACTIVITY_REORDER_TO_FRONT再次启动它,以便它始终位于堆栈的顶部.除非活动A使用Theme.Dialog或Theme.Translucent,否则此操作如上所述.

修改日志:

Activity A created
Activity A started
Activity A resumed
Activity A paused
Activity B created
Activity B started
Activity B resumed
Activity B gains window focus
Activity A stopped
Top activity in stack is Activity B, so Activity A relaunches itself
Activity B paused
Activity A started
Activity A resumed
Run Code Online (Sandbox Code Playgroud)

堆栈中的顶级活动应为活动A,但活动B仍保留在前台.

另一个实现细节:我的应用程序不适用于手机,所以我不关心后退按钮完成活动或与其他应用程序的交互.不过,我同意原则上我应该防止这样的问题,所以在我的代码中我检查前面的活动是来自同一个包(即来自我们的代码库).这应该解决干扰其他应用程序的理论问题.

有没有办法让活动A成为焦点?我知道这是不寻常的行为,但是活动A必须保持在前台,直到它被故意完成.

我也愿意接受有关完全不同的更好方法的建议!

FWIW,我正在运行2.2.

(在http://groups.google.com/group/android-developers/browse_thread/thread/d46fd7d59abe15a0上交叉发布,我们没有回复.)

java android

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

如何通过 cloudformation 在 lambda 中添加数据库代理?

我正在使用 cloudformation 在 AWS 上配置 lambda 和 RDS。但我不知道如何在 lambda 上添加数据库代理。下面的截图来自 lambda 控制台:

在此输入图像描述

云信息支持添加这个吗?我在 lambda 和 db 代理模板中看不到它。

amazon-web-services amazon-rds aws-lambda amazon-rds-proxy

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