[英]How to set more AWS dynamoDb table properties using AWS CDK
我對 AWS 非常陌生,我一直在閱讀 dynamoDb SDK 文檔,並且您在創建表時可以指定的屬性遠遠超過您在使用 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 }
});
以下是您可以設置的所有道具,它們是更高級的表格相關設置:
https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-dynamodb.Table.html
例如,如果我想在 CDK 中設置供應吞吐量,我該怎么做? 或設置 AttributeDefinitions 或索引?
我是否等待單元表創建完成,然后通過 SDK UpdateTable 調用修改表屬性?
https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/DynamoDB.html#updateTable-property
計費方式
DynamoDB 支持兩種計費模式:
PROVISIONED - 表和全局二級索引已配置讀寫容量的默認模式。
PAY_PER_REQUEST - 按需定價和縮放。 您只需按使用量付費,表或其全局二級索引沒有讀寫能力。
請參閱計費模式屬性: cdk docs
Dynamodb 幾乎完全是在 CDK 中實現的,但如果您不是很熟悉,則某些屬性會更難找到。
計費模式是預置或按需讀/寫容量的屬性。 這是一個常數,所以它會被使用
billingMode: aws_dynamodb.BillingMode.PAY_PER_REQUEST
使用 CDK,您通常需要深入研究文檔才能找到所需的內容,但對於主流服務 - Lambda、S3、Dynamo - 這些都在 CDK 中完全實現。
在任何情況下,對於其他可能不是的服務,您可以使用任何以Cfn
開頭的函數,因為這些是逃逸艙口,允許您基本上從 cdk 實現直接雲形成模板 jsons
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.