簡體   English   中英

如何使用 AWS CDK 設置更多 AWS dynamoDb 表屬性

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM