如何使用 AWS CDK 设置更多 AWS dynamoDb table 属性
How to set more AWS dynamoDb table properties using AWS CDK
我是 AWS 的新手,我一直在阅读 dynamoDb SDK 文档,创建 Table 时可以指定的属性远远超过创建 [=32] 时传递的属性=] 使用 AWS CDK。
SDK 示例:
var AWS = require("aws-sdk");
AWS.config.update({
region: "us-west-2",
endpoint: "http://localhost:8000"
});
var dynamodb = new AWS.DynamoDB();
var params = {
TableName : "Movies",
KeySchema: [
{ AttributeName: "year", KeyType: "HASH"}, //Partition key
{ AttributeName: "title", KeyType: "RANGE" } //Sort key
],
AttributeDefinitions: [
{ AttributeName: "year", AttributeType: "N" },
{ AttributeName: "title", AttributeType: "S" }
],
ProvisionedThroughput: {
ReadCapacityUnits: 10,
WriteCapacityUnits: 10
}
};
dynamodb.createTable(params, function(err, data) {
if (err) {
console.error("Unable to create table. Error JSON:", JSON.stringify(err, null, 2));
} else {
console.log("Created table. Table description JSON:", JSON.stringify(data, null, 2));
}
});
CDK 示例:
import * as dynamodb from '@aws-cdk/aws-dynamodb';
const table = new dynamodb.Table(this, 'Hits', {
partitionKey: { name: 'path', type: dynamodb.AttributeType.STRING }
});
这里是你可以设置的所有道具,更高级别table相关设置:
https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-dynamodb.Table.html
例如,如果我想在 CDK 中设置配置吞吐量,我该怎么做?或设置 AttributeDefinitions 或索引?
我是否等待单元 table 创建完成,然后通过 SDK 更新Table 调用修改 table 属性?
https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/DynamoDB.html#updateTable-property
Billing Mode
DynamoDB supports two billing modes:
PROVISIONED - the default mode where the table and global secondary
indexes have configured read and write capacity.
PAY_PER_REQUEST - on-demand pricing and scaling. You only pay for what
you use and there is no read and write capacity for the table or its
global secondary indexes.
查看计费模式属性:
cdk docs
Dynamodb 几乎完全在 CDK 中实现,但如果您不是很熟悉,有些属性会有点难以找到。
计费模式是 属性 预配置或按需 read/write 容量。它是一个常量,所以它会像
这样使用
billingMode: aws_dynamodb.BillingMode.PAY_PER_REQUEST
使用 CDK,您通常需要深入研究文档才能找到您想要的内容,但对于主流服务 - Lambda、S3、Dynamo - 这些都已在 CDK 中完全实现。
并且在任何情况下,对于可能不是的其他服务,您可以使用任何以 Cfn
开头的函数,因为这些是逃生舱口,允许您基本上实现直接的云形成模板 jsons cdk
我是 AWS 的新手,我一直在阅读 dynamoDb SDK 文档,创建 Table 时可以指定的属性远远超过创建 [=32] 时传递的属性=] 使用 AWS CDK。
SDK 示例:
var AWS = require("aws-sdk");
AWS.config.update({
region: "us-west-2",
endpoint: "http://localhost:8000"
});
var dynamodb = new AWS.DynamoDB();
var params = {
TableName : "Movies",
KeySchema: [
{ AttributeName: "year", KeyType: "HASH"}, //Partition key
{ AttributeName: "title", KeyType: "RANGE" } //Sort key
],
AttributeDefinitions: [
{ AttributeName: "year", AttributeType: "N" },
{ AttributeName: "title", AttributeType: "S" }
],
ProvisionedThroughput: {
ReadCapacityUnits: 10,
WriteCapacityUnits: 10
}
};
dynamodb.createTable(params, function(err, data) {
if (err) {
console.error("Unable to create table. Error JSON:", JSON.stringify(err, null, 2));
} else {
console.log("Created table. Table description JSON:", JSON.stringify(data, null, 2));
}
});
CDK 示例:
import * as dynamodb from '@aws-cdk/aws-dynamodb';
const table = new dynamodb.Table(this, 'Hits', {
partitionKey: { name: 'path', type: dynamodb.AttributeType.STRING }
});
这里是你可以设置的所有道具,更高级别table相关设置:
https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-dynamodb.Table.html
例如,如果我想在 CDK 中设置配置吞吐量,我该怎么做?或设置 AttributeDefinitions 或索引?
我是否等待单元 table 创建完成,然后通过 SDK 更新Table 调用修改 table 属性?
https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/DynamoDB.html#updateTable-property
Billing Mode
DynamoDB supports two billing modes:
PROVISIONED - the default mode where the table and global secondary indexes have configured read and write capacity.
PAY_PER_REQUEST - on-demand pricing and scaling. You only pay for what you use and there is no read and write capacity for the table or its global secondary indexes.
查看计费模式属性: cdk docs
Dynamodb 几乎完全在 CDK 中实现,但如果您不是很熟悉,有些属性会有点难以找到。
计费模式是 属性 预配置或按需 read/write 容量。它是一个常量,所以它会像
这样使用billingMode: aws_dynamodb.BillingMode.PAY_PER_REQUEST
使用 CDK,您通常需要深入研究文档才能找到您想要的内容,但对于主流服务 - Lambda、S3、Dynamo - 这些都已在 CDK 中完全实现。
并且在任何情况下,对于可能不是的其他服务,您可以使用任何以 Cfn
开头的函数,因为这些是逃生舱口,允许您基本上实现直接的云形成模板 jsons cdk