有關創建全局二級索引的AWS CLI for Dynamodb create-table有點混淆。在CLI document,它說,全球二級索引可以用下面的表達式(簡寫)表示:如何使用AWS CLI創建Dynamodb全局二級索引?
IndexName=string,KeySchema=[{AttributeName=string,KeyType=string},{AttributeName=string,KeyType=string}],Projection={ProjectionType=string,NonKeyAttributes=[string,string]},ProvisionedThroughput={ReadCapacityUnits=long,WriteCapacityUnits=long} ...
我的理解是,我應該做的
--global-secondary-indexes IndexName=requesterIndex,Projection={ProjectionType=ALL},ProvisionedThroughput={ReadCapacityUnits=1,WriteCapacityUnits=1}
請注意,我不包括KeySchema這裏推斷複雜性。控制檯給我以下錯誤:
Parameter validation failed:
Missing required parameter in GlobalSecondaryIndexes[0]: "KeySchema"
Unknown parameter in GlobalSecondaryIndexes[0]: "WriteCapacityUnits", must be one of: IndexName, KeySchema, Projection, ProvisionedThroughput
Invalid type for parameter GlobalSecondaryIndexes[0].ProvisionedThroughput, value: ReadCapacityUnits=1, type: <class 'str'>, valid types: <class 'dict'>
因此,某種程度上AWS CLI無法識別ProvisionedThroughput的映射表達式。我嘗試了幾種方式來表達它,但無法使其工作。我也沒有找到任何網頁在谷歌描述如何做到這一點。請幫忙!謝謝!
是的。你的回答是正確的!我也在努力解決同樣的問題。令人遺憾的是,在AWS CLI的文檔中沒有全球二級索引的好例子,您不得不花時間調查報價問題。 –