Bicep 资源定义
可以使用目标操作部署 dynamoDBTables 资源类型:
有关每个 API 版本中已更改属性的列表,请参阅 更改日志。
若要创建 Microsoft.AwsConnector/dynamoDBTables 资源,请将以下 Bicep 添加到模板。
resource symbolicname 'Microsoft.AwsConnector/dynamoDBTables@2024-12-01' = {
location: 'string'
name: 'string'
properties: {
arn: 'string'
awsAccountId: 'string'
awsProperties: {
arn: 'string'
attributeDefinitions: [
{
attributeName: 'string'
attributeType: 'string'
}
]
billingMode: 'string'
contributorInsightsSpecification: {
enabled: bool
}
deletionProtectionEnabled: bool
globalSecondaryIndexes: [
{
contributorInsightsSpecification: {
enabled: bool
}
indexName: 'string'
keySchema: [
{
attributeName: 'string'
keyType: 'string'
}
]
projection: {
nonKeyAttributes: [
'string'
]
projectionType: 'string'
}
provisionedThroughput: {
readCapacityUnits: int
writeCapacityUnits: int
}
}
]
importSourceSpecification: {
inputCompressionType: 'string'
inputFormat: 'string'
inputFormatOptions: {
csv: {
delimiter: 'string'
headerList: [
'string'
]
}
}
s3BucketSource: {
s3Bucket: 'string'
s3BucketOwner: 'string'
s3KeyPrefix: 'string'
}
}
keySchema: [
{
attributeName: 'string'
keyType: 'string'
}
]
kinesisStreamSpecification: {
approximateCreationDateTimePrecision: 'string'
streamArn: 'string'
}
localSecondaryIndexes: [
{
indexName: 'string'
keySchema: [
{
attributeName: 'string'
keyType: 'string'
}
]
projection: {
nonKeyAttributes: [
'string'
]
projectionType: 'string'
}
}
]
pointInTimeRecoverySpecification: {
pointInTimeRecoveryEnabled: bool
}
provisionedThroughput: {
readCapacityUnits: int
writeCapacityUnits: int
}
resourcePolicy: {
policyDocument: any(...)
}
sseSpecification: {
kmsMasterKeyId: 'string'
sseEnabled: bool
sseType: 'string'
}
streamArn: 'string'
streamSpecification: {
resourcePolicy: {
policyDocument: any(...)
}
streamViewType: 'string'
}
tableClass: 'string'
tableName: 'string'
tags: [
{
key: 'string'
value: 'string'
}
]
timeToLiveSpecification: {
attributeName: 'string'
enabled: bool
}
}
awsRegion: 'string'
awsSourceSchema: 'string'
awsTags: {
{customized property}: 'string'
}
publicCloudConnectorsResourceId: 'string'
publicCloudResourceName: 'string'
}
tags: {
{customized property}: 'string'
}
}
属性值
AttributeDefinition
名字 |
描述 |
价值 |
attributeName |
属性的名称。 |
字符串 |
attributeType |
属性的数据类型,其中: + S - 属性的类型为 String + N - 属性的类型为 Number + B - 属性的类型为 Binary 类型 |
字符串 |
AwsDynamoDBTableProperties
名字 |
描述 |
价值 |
阿恩 |
属性 arn |
字符串 |
attributeDefinitions |
描述表和索引的键架构的属性列表。 创建 DDB 表需要此属性。 更新需要:某些中断。 如果编辑现有的 AttributeDefinition,则替换。 |
AttributeDefinition[] |
billingMode |
指定读取和写入吞吐量的收费方式以及管理容量的方式。 有效值包括:+ PROVISIONED - 建议对可预测工作负荷使用 PROVISIONED 。
PROVISIONED 将计费模式设置为 预配模式。
+
PAY_PER_REQUEST - 建议对不可预知的工作负荷使用 PAY_PER_REQUEST 。
PAY_PER_REQUEST 将计费模式设置为 按需模式。 如果未指定,则默认为 PROVISIONED 。 |
字符串 |
contributorInsightsSpecification |
用于启用或禁用指定表的 CloudWatch 参与者见解的设置。 用于启用或禁用 CloudWatch 参与者见解的设置。 |
ContributorInsightsSpecification |
deletionProtectionEnabled |
确定表是否受到删除的保护。 启用后,任何用户或进程都无法删除该表。 默认情况下,此设置处于禁用状态。 有关详细信息,请参阅 开发人员指南中的 使用删除保护。 |
布尔 |
globalSecondaryIndexes |
要对表创建的全局辅助索引。 最多可以创建 20 个全局辅助索引。 如果更新表以包含新的全局辅助索引,CFNlong 将启动索引创建,然后继续执行堆栈更新。 CFNlong 不会等待索引完成创建,因为回填阶段可能需要很长时间,具体取决于表的大小。 在索引的状态 ACTIVE 之前,不能使用索引或更新表。 可以使用 DynamoDB DescribeTable 命令跟踪其状态。 如果在更新期间添加或删除索引,建议不要更新任何其他资源。 如果堆栈无法更新并在添加新索引时回滚,则必须手动删除索引。 不支持更新。 以下是例外情况:+ 如果更新参与者见解规范或全局辅助索引的预配吞吐量值,则可以在不中断的情况下更新表。 + 可以删除或添加一个全局辅助索引,而不会中断。 如果在同一更新中执行这两项操作(例如,通过更改索引的逻辑 ID),则更新将失败。 |
GlobalSecondaryIndex[] |
importSourceSpecification |
指定要从 S3 存储桶源导入到表的数据的属性。 如果指定 ImportSourceSpecification 属性,同时指定 StreamSpecification 、TableClass 属性或 DeletionProtectionEnabled 属性,则创建/更新堆栈的 IAM 实体必须具有 UpdateTable 权限。 指定要从 S3 存储桶源导入到表的数据的属性。 |
ImportSourceSpecification |
keySchema |
指定构成表的主键的属性。
KeySchema 属性中的属性还必须在 AttributeDefinitions 属性中定义。 |
KeySchema[] |
kinesisStreamSpecification |
指定表的 Kinesis 数据流配置。 指定表的 Kinesis 数据流配置。 |
KinesisStreamSpecification |
localSecondaryIndexes |
要对表创建的本地辅助索引。 最多可以创建 5 个本地辅助索引。 每个索引的范围限定为给定的哈希键值。 每个哈希键的大小最多可为 10 GB。 |
LocalSecondaryIndex[] |
pointInTimeRecoverySpecification |
用于启用时间点恢复的设置。 用于启用时间点恢复的设置。 |
PointInTimeRecoverySpecification |
provisionedThroughput |
指定表的吞吐量,由 ReadCapacityUnits 和 WriteCapacityUnits 的值组成。 有关预配吞吐量结构的内容的详细信息,请参阅 Amazon DynamoDB 表 ProvisionedThroughput。 如果将 BillingMode 设置为 PROVISIONED ,则必须指定此属性。 如果将 BillingMode 设置为 PAY_PER_REQUEST ,则无法指定此属性。 指定表的吞吐量,由 ReadCapacityUnits 和 WriteCapacityUnits 的值组成。 有关预配吞吐量结构的内容的详细信息,请参阅 表 ProvisionedThroughput。 |
ProvisionedThroughput |
resourcePolicy |
一个基于资源的策略文档,其中包含要添加到指定表的权限。 在 CFNshort 模板中,可以采用 JSON 或 YAML 格式提供策略,因为 CFNshort 将 YAML 转换为 JSON,然后再将其提交到 DDB。 有关基于资源的策略的详细信息,请参阅 使用基于资源的策略 和 基于资源的策略示例。 在创建表时附加基于资源的策略时,策略创建 非常一致。 有关附加基于资源的策略时应考虑的注意事项的信息,请参阅 基于资源的策略注意事项。 创建或更新基于资源的策略文档,其中包含 DDB 资源的权限,例如表、索引和流。 基于资源的策略允许你通过指定谁有权访问每个资源以及允许对每个资源执行的操作来定义访问权限。 在 CFNshort 模板中,可以采用 JSON 或 YAML 格式提供策略,因为 CFNshort 将 YAML 转换为 JSON,然后再将其提交到 DDB。 有关基于资源的策略的详细信息,请参阅 使用基于资源的策略 和 基于资源的策略示例。 在 CFNshort 模板中定义基于资源的策略时,需要考虑以下注意事项:+ JSON 格式的基于资源的策略文档支持的最大大小为 20 KB。 DDB 根据此限制计算策略的大小时会计算空格。 + 基于资源的策略不支持 偏移检测。 如果在 CFNshort 堆栈模板之外更新策略,则需要使用更改更新 CFNshort 堆栈。 + 基于资源的策略不支持带外更改。 如果在 CFNshort 模板之外添加、更新或删除策略,如果模板中没有策略更改,则不会覆盖更改。 例如,假设模板包含基于资源的策略,稍后在模板外部进行更新。 如果未对模板中的策略进行任何更改,DDB 中的更新策略将不会与模板中的策略同步。 相反,假设模板不包含基于资源的策略,而是在模板外部添加策略。 只要不将其添加到模板,就不会从 DDB 中删除此策略。 将策略添加到模板并更新堆栈时,将更新 DDB 中的现有策略以匹配模板中定义的策略。 有关所有注意事项的完整列表,请参阅 基于资源的策略注意事项。 |
ResourcePolicy |
sseSpecification |
指定要启用服务器端加密的设置。 表示用于启用服务器端加密的设置。 |
SSESpecification |
streamArn |
属性 streamArn |
字符串 |
streamSpecification |
DDB 表流的设置,用于捕获对表中存储的项所做的更改。 表示 DynamoDB 中表的 DynamoDB 流配置。 |
StreamSpecification |
tableClass |
新表的表类。 有效值为 STANDARD 和 STANDARD_INFREQUENT_ACCESS 。 |
字符串 |
表名称 |
表的名称。 如果未指定名称,CFNlong 将生成唯一的物理 ID,并将该 ID 用于表名称。 有关详细信息,请参阅 名称类型。 如果指定名称,则无法执行需要替换此资源的更新。 可以执行不需要或某些中断的更新。 如果必须替换资源,请指定一个新名称。 |
字符串 |
标签 |
要应用于此资源的键值对数组。 有关详细信息,请参阅 标记。 |
TagAutoGenerated8[] |
timeToLiveSpecification |
指定表的生存时间(TTL)设置。 有关 DynamoDB 中限制的详细信息,请参阅 Amazon DynamoDB 开发人员指南中的 amazon DynamoDB 限制。 表示用于启用或禁用指定表生存时间(TTL)的设置。 |
TimeToLiveSpecification |
ContributorInsightsSpecification
名字 |
描述 |
价值 |
启用 |
指示是否启用 CloudWatch 参与者见解(true)或禁用(false)。 |
布尔 |
Csv
名字 |
描述 |
价值 |
定界符 |
用于分隔正在导入的 CSV 文件中的项的分隔符。 |
字符串 |
headerList |
用于为导入的所有源 CSV 文件指定通用标头的标头列表。 如果指定此字段,则将每个 CSV 文件的第一行视为数据而不是标头。 如果未指定此字段,则每个 CSV 文件的第一行被视为标头。 |
字符串[] |
DynamoDBTableProperties
名字 |
描述 |
价值 |
阿恩 |
Amazon 资源名称 (ARN) |
字符串 |
awsAccountId |
AWS 帐户 ID |
字符串 |
awsProperties |
AWS 属性 |
AwsDynamoDBTableProperties |
awsRegion |
AWS 区域 |
字符串 |
awsSourceSchema |
AWS 源架构 |
字符串 |
awsTags |
AWS 标记 |
DynamoDBTablePropertiesAwsTags |
publicCloudConnectorsResourceId |
公有云连接器资源 ID |
字符串 |
publicCloudResourceName |
公有云资源名称 |
字符串 |
GlobalSecondaryIndex
名字 |
描述 |
价值 |
contributorInsightsSpecification |
用于启用或禁用指定全局辅助索引的 CloudWatch 参与者见解的设置。 用于启用或禁用 CloudWatch 参与者见解的设置。 |
ContributorInsightsSpecification |
indexName |
全局辅助索引的名称。 该名称在此表上所有其他索引中必须是唯一的。 |
字符串 |
keySchema |
全局辅助索引的完整键架构,由一个或多个属性名称和键类型组成:+ HASH - 分区键 + RANGE - 排序键 项的分区键也称为其 哈希属性。 术语“hash 属性”派生自 DynamoDB 使用内部哈希函数根据分区键值均匀分布数据项。 项的排序键也称为其 范围属性。 术语“range 属性”派生自 DynamoDB 以排序键值按排序顺序将具有相同分区键的项物理存储在一起的方式。 |
KeySchema[] |
投影 |
表示从表复制到全局辅助索引中的属性(投影)。 除主键属性和索引键属性外,还会自动投影这些属性。 表示从表复制到索引中的属性(投影)。 除主键属性和索引键属性外,还会自动投影这些属性。 |
投影 |
provisionedThroughput |
表示指定全局辅助索引的预配吞吐量设置。 有关当前最小和最大预配吞吐量值,请参阅 Amazon DynamoDB 开发人员指南中的 服务、帐户和表配额。 指定表的吞吐量,由 ReadCapacityUnits 和 WriteCapacityUnits 的值组成。 有关预配吞吐量结构的内容的详细信息,请参阅 表 ProvisionedThroughput。 |
ProvisionedThroughput |
ImportSourceSpecification
名字 |
描述 |
价值 |
inputCompressionType |
要用于来自导入表的输入的压缩类型。 |
字符串 |
inputFormat |
源数据的格式。
ImportFormat 的有效值为 CSV 、DYNAMODB_JSON 或 ION 。 |
字符串 |
inputFormatOptions |
指定输入格式的其他属性、导入目标表中的数据的格式选项。 有一个值,即 CsvOption。 |
InputFormatOptions |
s3BucketSource |
提供导入源的 S3 存储桶。 要从中导入的 S3 存储桶。 |
S3BucketSource |
名字 |
描述 |
价值 |
csv |
CSV 格式的导入源文件的选项。 这些值为 Delimiter 和 HeaderList。 CSV 格式的导入源文件的选项。 这些值为 Delimiter 和 HeaderList。 |
Csv |
KeySchema
名字 |
描述 |
价值 |
attributeName |
键属性的名称。 |
字符串 |
键类型 |
此键属性将承担的角色:+ HASH - 分区键 + RANGE - 排序键项的分区键也称为其 哈希属性。 术语“hash 属性”派生自 DynamoDB 使用内部哈希函数根据分区键值均匀分布数据项。 项的排序键也称为其 范围属性。 术语“range 属性”派生自 DynamoDB 以排序键值按排序顺序将具有相同分区键的项物理存储在一起的方式。 |
字符串 |
KinesisStreamSpecification
名字 |
描述 |
价值 |
approximateCreationDateTimePrecision |
流的创建时间和日期的精度。 |
“MICROSECOND” “毫秒” |
streamArn |
特定 Kinesis 数据流的 ARN。 长度约束:最小长度为 37。 最大长度为 1024。 |
字符串 |
LocalSecondaryIndex
名字 |
描述 |
价值 |
indexName |
本地辅助索引的名称。 该名称在此表上所有其他索引中必须是唯一的。 |
字符串 |
keySchema |
本地辅助索引的完整键架构,由一个或多个属性名称和键类型组成:+ HASH - 分区键 + RANGE - 排序键 项的分区键也称为其 哈希属性。 术语“hash 属性”派生自 DynamoDB 使用内部哈希函数根据分区键值均匀分布数据项。 项的排序键也称为其 范围属性。 术语“range 属性”派生自 DynamoDB 以排序键值按排序顺序将具有相同分区键的项物理存储在一起的方式。 |
KeySchema[] |
投影 |
表示从表复制到本地辅助索引中的属性(投影)。 除主键属性和索引键属性外,还会自动投影这些属性。 表示从表复制到索引中的属性(投影)。 除主键属性和索引键属性外,还会自动投影这些属性。 |
投影 |
Microsoft.AwsConnector/dynamoDBTables
名字 |
描述 |
价值 |
位置 |
资源所在的地理位置 |
string (必需) |
名字 |
资源名称 |
字符串
约束: 模式 = ^(?=.{0,259}[^\s.]$)(?!.*[<>%&\?/#]) (必需) |
性能 |
此资源的资源特定属性。 |
DynamoDBTableProperties |
标签 |
资源标记 |
标记名称和值的字典。 请参阅模板 中的 标记 |
PointInTimeRecoverySpecification
名字 |
描述 |
价值 |
pointInTimeRecoveryEnabled |
指示表上是启用时间点恢复(true)还是禁用(false)。 |
布尔 |
投影
名字 |
描述 |
价值 |
nonKeyAttributes |
表示将投影到索引中的非键属性名称。 对于本地辅助索引,所有本地辅助索引的总和 NonKeyAttributes 总数不得超过 100。 如果将同一属性投影到两个不同的索引中,则确定总计时,这算作两个不同的属性。 |
字符串[] |
projectionType |
投影到索引中的属性集:+ KEYS_ONLY - 仅将索引和主键投影到索引中。
+
INCLUDE - 除了 KEYS_ONLY 中描述的属性外,辅助索引还将包括指定的其他非键属性。
+
ALL - 所有表属性都投影到索引中。 使用 DynamoDB 控制台时,默认选择 ALL 。 |
字符串 |
ProvisionedThroughput
名字 |
描述 |
价值 |
readCapacityUnits |
DynamoDB 返回 ThrottlingException 之前每秒消耗的最大强一致读取数。 有关详细信息,请参阅 Amazon DynamoDB 开发人员指南指定读取和写入要求。 如果读/写容量模式 PAY_PER_REQUEST 该值设置为 0。 |
整数 (int) |
writeCapacityUnits |
DynamoDB 返回 ThrottlingException 之前每秒消耗的最大写入数。 有关详细信息,请参阅 Amazon DynamoDB 开发人员指南指定读取和写入要求。 如果读/写容量模式 PAY_PER_REQUEST 该值设置为 0。 |
整数 (int) |
ResourcePolicy
名字 |
描述 |
价值 |
policyDocument |
基于资源的策略文档,其中包含要添加到指定 DDB 表、索引或两者的权限。 在 CFNshort 模板中,可以采用 JSON 或 YAML 格式提供策略,因为 CFNshort 将 YAML 转换为 JSON,然后再将其提交到 DDB。 有关基于资源的策略的详细信息,请参阅 使用基于资源的策略 和 基于资源的策略示例。 |
任何 |
S3BucketSource
名字 |
描述 |
价值 |
s3Bucket |
要从中导入的 S3 存储桶。 |
字符串 |
s3BucketOwner |
要从中导入的 S3 存储桶的帐户号。 如果存储桶归请求者所有,则这是可选的。 |
字符串 |
s3KeyPrefix |
正在导入的所有 S3 对象共享的键前缀。 |
字符串 |
SSESpecification
名字 |
描述 |
价值 |
kmsMasterKeyId |
应用于 KMS 加密的 KMS 密钥。 若要指定密钥,请使用其密钥 ID、Amazon 资源名称(ARN)、别名或别名 ARN。 请注意,仅当密钥不同于默认 DynamoDB 密钥 alias/aws/dynamodb 时,才应提供此参数。 |
字符串 |
sseEnabled |
指示服务器端加密是使用 AWS 托管密钥还是 AWS 拥有的密钥完成。 如果启用(true),则服务器端加密类型设置为 KMS 并使用 AWS 托管密钥(KMS 费用适用)。 如果禁用(false)或未指定,则服务器端加密设置为 AWS 拥有的密钥。 |
布尔 |
sseType |
服务器端加密类型。 唯一支持的值是:+ KMS - 使用 KMSlong 的服务器端加密。 密钥存储在帐户中,由 KMS 管理(KMS 费用适用)。 |
字符串 |
StreamSpecification
名字 |
描述 |
价值 |
resourcePolicy |
创建或更新一个基于资源的策略文档,其中包含 DDB 资源的权限,例如表的流。 基于资源的策略允许你通过指定谁有权访问每个资源以及允许对每个资源执行的操作来定义访问权限。 在 CFNshort 模板中,可以采用 JSON 或 YAML 格式提供策略,因为 CFNshort 将 YAML 转换为 JSON,然后再将其提交到 DDB。 有关基于资源的策略的详细信息,请参阅 使用基于资源的策略 和 基于资源的策略示例。 创建或更新基于资源的策略文档,其中包含 DDB 资源的权限,例如表、索引和流。 基于资源的策略允许你通过指定谁有权访问每个资源以及允许对每个资源执行的操作来定义访问权限。 在 CFNshort 模板中,可以采用 JSON 或 YAML 格式提供策略,因为 CFNshort 将 YAML 转换为 JSON,然后再将其提交到 DDB。 有关基于资源的策略的详细信息,请参阅 使用基于资源的策略 和 基于资源的策略示例。 在 CFNshort 模板中定义基于资源的策略时,需要考虑以下注意事项:+ JSON 格式的基于资源的策略文档支持的最大大小为 20 KB。 DDB 根据此限制计算策略的大小时会计算空格。 + 基于资源的策略不支持 偏移检测。 如果在 CFNshort 堆栈模板之外更新策略,则需要使用更改更新 CFNshort 堆栈。 + 基于资源的策略不支持带外更改。 如果在 CFNshort 模板之外添加、更新或删除策略,如果模板中没有策略更改,则不会覆盖更改。 例如,假设模板包含基于资源的策略,稍后在模板外部进行更新。 如果未对模板中的策略进行任何更改,DDB 中的更新策略将不会与模板中的策略同步。 相反,假设模板不包含基于资源的策略,而是在模板外部添加策略。 只要不将其添加到模板,就不会从 DDB 中删除此策略。 将策略添加到模板并更新堆栈时,将更新 DDB 中的现有策略以匹配模板中定义的策略。 有关所有注意事项的完整列表,请参阅 基于资源的策略注意事项。 |
ResourcePolicy |
streamViewType |
修改表中的项时,StreamViewType 确定将哪些信息写入此表的流中。
StreamViewType 的有效值为:+ KEYS_ONLY - 仅将修改项的键属性写入流。
+
NEW_IMAGE - 整个项在修改后显示,会写入流。
+
OLD_IMAGE - 整个项(如修改前所示)将写入流。
+
NEW_AND_OLD_IMAGES - 项的新图像和旧项图像都写入流。 |
字符串 |
TagAutoGenerated8
名字 |
描述 |
价值 |
钥匙 |
标记的键。 标记键区分大小写。 每个 DynamoDB 表最多只能有一个具有相同键的标记。 如果尝试添加现有标记(相同键),则现有标记值将更新为新值。 |
字符串 |
价值 |
标记的值。 标记值区分大小写,可以为 null。 |
字符串 |
TimeToLiveSpecification
名字 |
描述 |
价值 |
attributeName |
用于存储表中项的过期时间的 TTL 属性的名称。 + 启用 TTL 或启用 TTL 时需要 AttributeName 属性。 + 若要更新此属性,必须先禁用 TTL,然后使用新的属性名称启用 TTL。 |
字符串 |
启用 |
指示是否要对表启用 TTL(true)或禁用 (false)。 |
布尔 |
ARM 模板资源定义
可以使用目标操作部署 dynamoDBTables 资源类型:
有关每个 API 版本中已更改属性的列表,请参阅 更改日志。
若要创建 Microsoft.AwsConnector/dynamoDBTables 资源,请将以下 JSON 添加到模板。
{
"type": "Microsoft.AwsConnector/dynamoDBTables",
"apiVersion": "2024-12-01",
"name": "string",
"location": "string",
"properties": {
"arn": "string",
"awsAccountId": "string",
"awsProperties": {
"arn": "string",
"attributeDefinitions": [
{
"attributeName": "string",
"attributeType": "string"
}
],
"billingMode": "string",
"contributorInsightsSpecification": {
"enabled": "bool"
},
"deletionProtectionEnabled": "bool",
"globalSecondaryIndexes": [
{
"contributorInsightsSpecification": {
"enabled": "bool"
},
"indexName": "string",
"keySchema": [
{
"attributeName": "string",
"keyType": "string"
}
],
"projection": {
"nonKeyAttributes": [ "string" ],
"projectionType": "string"
},
"provisionedThroughput": {
"readCapacityUnits": "int",
"writeCapacityUnits": "int"
}
}
],
"importSourceSpecification": {
"inputCompressionType": "string",
"inputFormat": "string",
"inputFormatOptions": {
"csv": {
"delimiter": "string",
"headerList": [ "string" ]
}
},
"s3BucketSource": {
"s3Bucket": "string",
"s3BucketOwner": "string",
"s3KeyPrefix": "string"
}
},
"keySchema": [
{
"attributeName": "string",
"keyType": "string"
}
],
"kinesisStreamSpecification": {
"approximateCreationDateTimePrecision": "string",
"streamArn": "string"
},
"localSecondaryIndexes": [
{
"indexName": "string",
"keySchema": [
{
"attributeName": "string",
"keyType": "string"
}
],
"projection": {
"nonKeyAttributes": [ "string" ],
"projectionType": "string"
}
}
],
"pointInTimeRecoverySpecification": {
"pointInTimeRecoveryEnabled": "bool"
},
"provisionedThroughput": {
"readCapacityUnits": "int",
"writeCapacityUnits": "int"
},
"resourcePolicy": {
"policyDocument": {}
},
"sseSpecification": {
"kmsMasterKeyId": "string",
"sseEnabled": "bool",
"sseType": "string"
},
"streamArn": "string",
"streamSpecification": {
"resourcePolicy": {
"policyDocument": {}
},
"streamViewType": "string"
},
"tableClass": "string",
"tableName": "string",
"tags": [
{
"key": "string",
"value": "string"
}
],
"timeToLiveSpecification": {
"attributeName": "string",
"enabled": "bool"
}
},
"awsRegion": "string",
"awsSourceSchema": "string",
"awsTags": {
"{customized property}": "string"
},
"publicCloudConnectorsResourceId": "string",
"publicCloudResourceName": "string"
},
"tags": {
"{customized property}": "string"
}
}
属性值
AttributeDefinition
名字 |
描述 |
价值 |
attributeName |
属性的名称。 |
字符串 |
attributeType |
属性的数据类型,其中: + S - 属性的类型为 String + N - 属性的类型为 Number + B - 属性的类型为 Binary 类型 |
字符串 |
AwsDynamoDBTableProperties
名字 |
描述 |
价值 |
阿恩 |
属性 arn |
字符串 |
attributeDefinitions |
描述表和索引的键架构的属性列表。 创建 DDB 表需要此属性。 更新需要:某些中断。 如果编辑现有的 AttributeDefinition,则替换。 |
AttributeDefinition[] |
billingMode |
指定读取和写入吞吐量的收费方式以及管理容量的方式。 有效值包括:+ PROVISIONED - 建议对可预测工作负荷使用 PROVISIONED 。
PROVISIONED 将计费模式设置为 预配模式。
+
PAY_PER_REQUEST - 建议对不可预知的工作负荷使用 PAY_PER_REQUEST 。
PAY_PER_REQUEST 将计费模式设置为 按需模式。 如果未指定,则默认为 PROVISIONED 。 |
字符串 |
contributorInsightsSpecification |
用于启用或禁用指定表的 CloudWatch 参与者见解的设置。 用于启用或禁用 CloudWatch 参与者见解的设置。 |
ContributorInsightsSpecification |
deletionProtectionEnabled |
确定表是否受到删除的保护。 启用后,任何用户或进程都无法删除该表。 默认情况下,此设置处于禁用状态。 有关详细信息,请参阅 开发人员指南中的 使用删除保护。 |
布尔 |
globalSecondaryIndexes |
要对表创建的全局辅助索引。 最多可以创建 20 个全局辅助索引。 如果更新表以包含新的全局辅助索引,CFNlong 将启动索引创建,然后继续执行堆栈更新。 CFNlong 不会等待索引完成创建,因为回填阶段可能需要很长时间,具体取决于表的大小。 在索引的状态 ACTIVE 之前,不能使用索引或更新表。 可以使用 DynamoDB DescribeTable 命令跟踪其状态。 如果在更新期间添加或删除索引,建议不要更新任何其他资源。 如果堆栈无法更新并在添加新索引时回滚,则必须手动删除索引。 不支持更新。 以下是例外情况:+ 如果更新参与者见解规范或全局辅助索引的预配吞吐量值,则可以在不中断的情况下更新表。 + 可以删除或添加一个全局辅助索引,而不会中断。 如果在同一更新中执行这两项操作(例如,通过更改索引的逻辑 ID),则更新将失败。 |
GlobalSecondaryIndex[] |
importSourceSpecification |
指定要从 S3 存储桶源导入到表的数据的属性。 如果指定 ImportSourceSpecification 属性,同时指定 StreamSpecification 、TableClass 属性或 DeletionProtectionEnabled 属性,则创建/更新堆栈的 IAM 实体必须具有 UpdateTable 权限。 指定要从 S3 存储桶源导入到表的数据的属性。 |
ImportSourceSpecification |
keySchema |
指定构成表的主键的属性。
KeySchema 属性中的属性还必须在 AttributeDefinitions 属性中定义。 |
KeySchema[] |
kinesisStreamSpecification |
指定表的 Kinesis 数据流配置。 指定表的 Kinesis 数据流配置。 |
KinesisStreamSpecification |
localSecondaryIndexes |
要对表创建的本地辅助索引。 最多可以创建 5 个本地辅助索引。 每个索引的范围限定为给定的哈希键值。 每个哈希键的大小最多可为 10 GB。 |
LocalSecondaryIndex[] |
pointInTimeRecoverySpecification |
用于启用时间点恢复的设置。 用于启用时间点恢复的设置。 |
PointInTimeRecoverySpecification |
provisionedThroughput |
指定表的吞吐量,由 ReadCapacityUnits 和 WriteCapacityUnits 的值组成。 有关预配吞吐量结构的内容的详细信息,请参阅 Amazon DynamoDB 表 ProvisionedThroughput。 如果将 BillingMode 设置为 PROVISIONED ,则必须指定此属性。 如果将 BillingMode 设置为 PAY_PER_REQUEST ,则无法指定此属性。 指定表的吞吐量,由 ReadCapacityUnits 和 WriteCapacityUnits 的值组成。 有关预配吞吐量结构的内容的详细信息,请参阅 表 ProvisionedThroughput。 |
ProvisionedThroughput |
resourcePolicy |
一个基于资源的策略文档,其中包含要添加到指定表的权限。 在 CFNshort 模板中,可以采用 JSON 或 YAML 格式提供策略,因为 CFNshort 将 YAML 转换为 JSON,然后再将其提交到 DDB。 有关基于资源的策略的详细信息,请参阅 使用基于资源的策略 和 基于资源的策略示例。 在创建表时附加基于资源的策略时,策略创建 非常一致。 有关附加基于资源的策略时应考虑的注意事项的信息,请参阅 基于资源的策略注意事项。 创建或更新基于资源的策略文档,其中包含 DDB 资源的权限,例如表、索引和流。 基于资源的策略允许你通过指定谁有权访问每个资源以及允许对每个资源执行的操作来定义访问权限。 在 CFNshort 模板中,可以采用 JSON 或 YAML 格式提供策略,因为 CFNshort 将 YAML 转换为 JSON,然后再将其提交到 DDB。 有关基于资源的策略的详细信息,请参阅 使用基于资源的策略 和 基于资源的策略示例。 在 CFNshort 模板中定义基于资源的策略时,需要考虑以下注意事项:+ JSON 格式的基于资源的策略文档支持的最大大小为 20 KB。 DDB 根据此限制计算策略的大小时会计算空格。 + 基于资源的策略不支持 偏移检测。 如果在 CFNshort 堆栈模板之外更新策略,则需要使用更改更新 CFNshort 堆栈。 + 基于资源的策略不支持带外更改。 如果在 CFNshort 模板之外添加、更新或删除策略,如果模板中没有策略更改,则不会覆盖更改。 例如,假设模板包含基于资源的策略,稍后在模板外部进行更新。 如果未对模板中的策略进行任何更改,DDB 中的更新策略将不会与模板中的策略同步。 相反,假设模板不包含基于资源的策略,而是在模板外部添加策略。 只要不将其添加到模板,就不会从 DDB 中删除此策略。 将策略添加到模板并更新堆栈时,将更新 DDB 中的现有策略以匹配模板中定义的策略。 有关所有注意事项的完整列表,请参阅 基于资源的策略注意事项。 |
ResourcePolicy |
sseSpecification |
指定要启用服务器端加密的设置。 表示用于启用服务器端加密的设置。 |
SSESpecification |
streamArn |
属性 streamArn |
字符串 |
streamSpecification |
DDB 表流的设置,用于捕获对表中存储的项所做的更改。 表示 DynamoDB 中表的 DynamoDB 流配置。 |
StreamSpecification |
tableClass |
新表的表类。 有效值为 STANDARD 和 STANDARD_INFREQUENT_ACCESS 。 |
字符串 |
表名称 |
表的名称。 如果未指定名称,CFNlong 将生成唯一的物理 ID,并将该 ID 用于表名称。 有关详细信息,请参阅 名称类型。 如果指定名称,则无法执行需要替换此资源的更新。 可以执行不需要或某些中断的更新。 如果必须替换资源,请指定一个新名称。 |
字符串 |
标签 |
要应用于此资源的键值对数组。 有关详细信息,请参阅 标记。 |
TagAutoGenerated8[] |
timeToLiveSpecification |
指定表的生存时间(TTL)设置。 有关 DynamoDB 中限制的详细信息,请参阅 Amazon DynamoDB 开发人员指南中的 amazon DynamoDB 限制。 表示用于启用或禁用指定表生存时间(TTL)的设置。 |
TimeToLiveSpecification |
ContributorInsightsSpecification
名字 |
描述 |
价值 |
启用 |
指示是否启用 CloudWatch 参与者见解(true)或禁用(false)。 |
布尔 |
Csv
名字 |
描述 |
价值 |
定界符 |
用于分隔正在导入的 CSV 文件中的项的分隔符。 |
字符串 |
headerList |
用于为导入的所有源 CSV 文件指定通用标头的标头列表。 如果指定此字段,则将每个 CSV 文件的第一行视为数据而不是标头。 如果未指定此字段,则每个 CSV 文件的第一行被视为标头。 |
字符串[] |
DynamoDBTableProperties
名字 |
描述 |
价值 |
阿恩 |
Amazon 资源名称 (ARN) |
字符串 |
awsAccountId |
AWS 帐户 ID |
字符串 |
awsProperties |
AWS 属性 |
AwsDynamoDBTableProperties |
awsRegion |
AWS 区域 |
字符串 |
awsSourceSchema |
AWS 源架构 |
字符串 |
awsTags |
AWS 标记 |
DynamoDBTablePropertiesAwsTags |
publicCloudConnectorsResourceId |
公有云连接器资源 ID |
字符串 |
publicCloudResourceName |
公有云资源名称 |
字符串 |
GlobalSecondaryIndex
名字 |
描述 |
价值 |
contributorInsightsSpecification |
用于启用或禁用指定全局辅助索引的 CloudWatch 参与者见解的设置。 用于启用或禁用 CloudWatch 参与者见解的设置。 |
ContributorInsightsSpecification |
indexName |
全局辅助索引的名称。 该名称在此表上所有其他索引中必须是唯一的。 |
字符串 |
keySchema |
全局辅助索引的完整键架构,由一个或多个属性名称和键类型组成:+ HASH - 分区键 + RANGE - 排序键 项的分区键也称为其 哈希属性。 术语“hash 属性”派生自 DynamoDB 使用内部哈希函数根据分区键值均匀分布数据项。 项的排序键也称为其 范围属性。 术语“range 属性”派生自 DynamoDB 以排序键值按排序顺序将具有相同分区键的项物理存储在一起的方式。 |
KeySchema[] |
投影 |
表示从表复制到全局辅助索引中的属性(投影)。 除主键属性和索引键属性外,还会自动投影这些属性。 表示从表复制到索引中的属性(投影)。 除主键属性和索引键属性外,还会自动投影这些属性。 |
投影 |
provisionedThroughput |
表示指定全局辅助索引的预配吞吐量设置。 有关当前最小和最大预配吞吐量值,请参阅 Amazon DynamoDB 开发人员指南中的 服务、帐户和表配额。 指定表的吞吐量,由 ReadCapacityUnits 和 WriteCapacityUnits 的值组成。 有关预配吞吐量结构的内容的详细信息,请参阅 表 ProvisionedThroughput。 |
ProvisionedThroughput |
ImportSourceSpecification
名字 |
描述 |
价值 |
inputCompressionType |
要用于来自导入表的输入的压缩类型。 |
字符串 |
inputFormat |
源数据的格式。
ImportFormat 的有效值为 CSV 、DYNAMODB_JSON 或 ION 。 |
字符串 |
inputFormatOptions |
指定输入格式的其他属性、导入目标表中的数据的格式选项。 有一个值,即 CsvOption。 |
InputFormatOptions |
s3BucketSource |
提供导入源的 S3 存储桶。 要从中导入的 S3 存储桶。 |
S3BucketSource |
名字 |
描述 |
价值 |
csv |
CSV 格式的导入源文件的选项。 这些值为 Delimiter 和 HeaderList。 CSV 格式的导入源文件的选项。 这些值为 Delimiter 和 HeaderList。 |
Csv |
KeySchema
名字 |
描述 |
价值 |
attributeName |
键属性的名称。 |
字符串 |
键类型 |
此键属性将承担的角色:+ HASH - 分区键 + RANGE - 排序键项的分区键也称为其 哈希属性。 术语“hash 属性”派生自 DynamoDB 使用内部哈希函数根据分区键值均匀分布数据项。 项的排序键也称为其 范围属性。 术语“range 属性”派生自 DynamoDB 以排序键值按排序顺序将具有相同分区键的项物理存储在一起的方式。 |
字符串 |
KinesisStreamSpecification
名字 |
描述 |
价值 |
approximateCreationDateTimePrecision |
流的创建时间和日期的精度。 |
“MICROSECOND” “毫秒” |
streamArn |
特定 Kinesis 数据流的 ARN。 长度约束:最小长度为 37。 最大长度为 1024。 |
字符串 |
LocalSecondaryIndex
名字 |
描述 |
价值 |
indexName |
本地辅助索引的名称。 该名称在此表上所有其他索引中必须是唯一的。 |
字符串 |
keySchema |
本地辅助索引的完整键架构,由一个或多个属性名称和键类型组成:+ HASH - 分区键 + RANGE - 排序键 项的分区键也称为其 哈希属性。 术语“hash 属性”派生自 DynamoDB 使用内部哈希函数根据分区键值均匀分布数据项。 项的排序键也称为其 范围属性。 术语“range 属性”派生自 DynamoDB 以排序键值按排序顺序将具有相同分区键的项物理存储在一起的方式。 |
KeySchema[] |
投影 |
表示从表复制到本地辅助索引中的属性(投影)。 除主键属性和索引键属性外,还会自动投影这些属性。 表示从表复制到索引中的属性(投影)。 除主键属性和索引键属性外,还会自动投影这些属性。 |
投影 |
Microsoft.AwsConnector/dynamoDBTables
名字 |
描述 |
价值 |
apiVersion |
API 版本 |
'2024-12-01' |
位置 |
资源所在的地理位置 |
string (必需) |
名字 |
资源名称 |
字符串
约束: 模式 = ^(?=.{0,259}[^\s.]$)(?!.*[<>%&\?/#]) (必需) |
性能 |
此资源的资源特定属性。 |
DynamoDBTableProperties |
标签 |
资源标记 |
标记名称和值的字典。 请参阅模板 中的 标记 |
类型 |
资源类型 |
“Microsoft.AwsConnector/dynamoDBTables” |
PointInTimeRecoverySpecification
名字 |
描述 |
价值 |
pointInTimeRecoveryEnabled |
指示表上是启用时间点恢复(true)还是禁用(false)。 |
布尔 |
投影
名字 |
描述 |
价值 |
nonKeyAttributes |
表示将投影到索引中的非键属性名称。 对于本地辅助索引,所有本地辅助索引的总和 NonKeyAttributes 总数不得超过 100。 如果将同一属性投影到两个不同的索引中,则确定总计时,这算作两个不同的属性。 |
字符串[] |
projectionType |
投影到索引中的属性集:+ KEYS_ONLY - 仅将索引和主键投影到索引中。
+
INCLUDE - 除了 KEYS_ONLY 中描述的属性外,辅助索引还将包括指定的其他非键属性。
+
ALL - 所有表属性都投影到索引中。 使用 DynamoDB 控制台时,默认选择 ALL 。 |
字符串 |
ProvisionedThroughput
名字 |
描述 |
价值 |
readCapacityUnits |
DynamoDB 返回 ThrottlingException 之前每秒消耗的最大强一致读取数。 有关详细信息,请参阅 Amazon DynamoDB 开发人员指南指定读取和写入要求。 如果读/写容量模式 PAY_PER_REQUEST 该值设置为 0。 |
整数 (int) |
writeCapacityUnits |
DynamoDB 返回 ThrottlingException 之前每秒消耗的最大写入数。 有关详细信息,请参阅 Amazon DynamoDB 开发人员指南指定读取和写入要求。 如果读/写容量模式 PAY_PER_REQUEST 该值设置为 0。 |
整数 (int) |
ResourcePolicy
名字 |
描述 |
价值 |
policyDocument |
基于资源的策略文档,其中包含要添加到指定 DDB 表、索引或两者的权限。 在 CFNshort 模板中,可以采用 JSON 或 YAML 格式提供策略,因为 CFNshort 将 YAML 转换为 JSON,然后再将其提交到 DDB。 有关基于资源的策略的详细信息,请参阅 使用基于资源的策略 和 基于资源的策略示例。 |
任何 |
S3BucketSource
名字 |
描述 |
价值 |
s3Bucket |
要从中导入的 S3 存储桶。 |
字符串 |
s3BucketOwner |
要从中导入的 S3 存储桶的帐户号。 如果存储桶归请求者所有,则这是可选的。 |
字符串 |
s3KeyPrefix |
正在导入的所有 S3 对象共享的键前缀。 |
字符串 |
SSESpecification
名字 |
描述 |
价值 |
kmsMasterKeyId |
应用于 KMS 加密的 KMS 密钥。 若要指定密钥,请使用其密钥 ID、Amazon 资源名称(ARN)、别名或别名 ARN。 请注意,仅当密钥不同于默认 DynamoDB 密钥 alias/aws/dynamodb 时,才应提供此参数。 |
字符串 |
sseEnabled |
指示服务器端加密是使用 AWS 托管密钥还是 AWS 拥有的密钥完成。 如果启用(true),则服务器端加密类型设置为 KMS 并使用 AWS 托管密钥(KMS 费用适用)。 如果禁用(false)或未指定,则服务器端加密设置为 AWS 拥有的密钥。 |
布尔 |
sseType |
服务器端加密类型。 唯一支持的值是:+ KMS - 使用 KMSlong 的服务器端加密。 密钥存储在帐户中,由 KMS 管理(KMS 费用适用)。 |
字符串 |
StreamSpecification
名字 |
描述 |
价值 |
resourcePolicy |
创建或更新一个基于资源的策略文档,其中包含 DDB 资源的权限,例如表的流。 基于资源的策略允许你通过指定谁有权访问每个资源以及允许对每个资源执行的操作来定义访问权限。 在 CFNshort 模板中,可以采用 JSON 或 YAML 格式提供策略,因为 CFNshort 将 YAML 转换为 JSON,然后再将其提交到 DDB。 有关基于资源的策略的详细信息,请参阅 使用基于资源的策略 和 基于资源的策略示例。 创建或更新基于资源的策略文档,其中包含 DDB 资源的权限,例如表、索引和流。 基于资源的策略允许你通过指定谁有权访问每个资源以及允许对每个资源执行的操作来定义访问权限。 在 CFNshort 模板中,可以采用 JSON 或 YAML 格式提供策略,因为 CFNshort 将 YAML 转换为 JSON,然后再将其提交到 DDB。 有关基于资源的策略的详细信息,请参阅 使用基于资源的策略 和 基于资源的策略示例。 在 CFNshort 模板中定义基于资源的策略时,需要考虑以下注意事项:+ JSON 格式的基于资源的策略文档支持的最大大小为 20 KB。 DDB 根据此限制计算策略的大小时会计算空格。 + 基于资源的策略不支持 偏移检测。 如果在 CFNshort 堆栈模板之外更新策略,则需要使用更改更新 CFNshort 堆栈。 + 基于资源的策略不支持带外更改。 如果在 CFNshort 模板之外添加、更新或删除策略,如果模板中没有策略更改,则不会覆盖更改。 例如,假设模板包含基于资源的策略,稍后在模板外部进行更新。 如果未对模板中的策略进行任何更改,DDB 中的更新策略将不会与模板中的策略同步。 相反,假设模板不包含基于资源的策略,而是在模板外部添加策略。 只要不将其添加到模板,就不会从 DDB 中删除此策略。 将策略添加到模板并更新堆栈时,将更新 DDB 中的现有策略以匹配模板中定义的策略。 有关所有注意事项的完整列表,请参阅 基于资源的策略注意事项。 |
ResourcePolicy |
streamViewType |
修改表中的项时,StreamViewType 确定将哪些信息写入此表的流中。
StreamViewType 的有效值为:+ KEYS_ONLY - 仅将修改项的键属性写入流。
+
NEW_IMAGE - 整个项在修改后显示,会写入流。
+
OLD_IMAGE - 整个项(如修改前所示)将写入流。
+
NEW_AND_OLD_IMAGES - 项的新图像和旧项图像都写入流。 |
字符串 |
TagAutoGenerated8
名字 |
描述 |
价值 |
钥匙 |
标记的键。 标记键区分大小写。 每个 DynamoDB 表最多只能有一个具有相同键的标记。 如果尝试添加现有标记(相同键),则现有标记值将更新为新值。 |
字符串 |
价值 |
标记的值。 标记值区分大小写,可以为 null。 |
字符串 |
TimeToLiveSpecification
名字 |
描述 |
价值 |
attributeName |
用于存储表中项的过期时间的 TTL 属性的名称。 + 启用 TTL 或启用 TTL 时需要 AttributeName 属性。 + 若要更新此属性,必须先禁用 TTL,然后使用新的属性名称启用 TTL。 |
字符串 |
启用 |
指示是否要对表启用 TTL(true)或禁用 (false)。 |
布尔 |
用法示例
可以使用目标操作部署 dynamoDBTables 资源类型:
有关每个 API 版本中已更改属性的列表,请参阅 更改日志。
若要创建 Microsoft.AwsConnector/dynamoDBTables 资源,请将以下 Terraform 添加到模板。
resource "azapi_resource" "symbolicname" {
type = "Microsoft.AwsConnector/dynamoDBTables@2024-12-01"
name = "string"
parent_id = "string"
location = "string"
tags = {
{customized property} = "string"
}
body = {
properties = {
arn = "string"
awsAccountId = "string"
awsProperties = {
arn = "string"
attributeDefinitions = [
{
attributeName = "string"
attributeType = "string"
}
]
billingMode = "string"
contributorInsightsSpecification = {
enabled = bool
}
deletionProtectionEnabled = bool
globalSecondaryIndexes = [
{
contributorInsightsSpecification = {
enabled = bool
}
indexName = "string"
keySchema = [
{
attributeName = "string"
keyType = "string"
}
]
projection = {
nonKeyAttributes = [
"string"
]
projectionType = "string"
}
provisionedThroughput = {
readCapacityUnits = int
writeCapacityUnits = int
}
}
]
importSourceSpecification = {
inputCompressionType = "string"
inputFormat = "string"
inputFormatOptions = {
csv = {
delimiter = "string"
headerList = [
"string"
]
}
}
s3BucketSource = {
s3Bucket = "string"
s3BucketOwner = "string"
s3KeyPrefix = "string"
}
}
keySchema = [
{
attributeName = "string"
keyType = "string"
}
]
kinesisStreamSpecification = {
approximateCreationDateTimePrecision = "string"
streamArn = "string"
}
localSecondaryIndexes = [
{
indexName = "string"
keySchema = [
{
attributeName = "string"
keyType = "string"
}
]
projection = {
nonKeyAttributes = [
"string"
]
projectionType = "string"
}
}
]
pointInTimeRecoverySpecification = {
pointInTimeRecoveryEnabled = bool
}
provisionedThroughput = {
readCapacityUnits = int
writeCapacityUnits = int
}
resourcePolicy = {
policyDocument = ?
}
sseSpecification = {
kmsMasterKeyId = "string"
sseEnabled = bool
sseType = "string"
}
streamArn = "string"
streamSpecification = {
resourcePolicy = {
policyDocument = ?
}
streamViewType = "string"
}
tableClass = "string"
tableName = "string"
tags = [
{
key = "string"
value = "string"
}
]
timeToLiveSpecification = {
attributeName = "string"
enabled = bool
}
}
awsRegion = "string"
awsSourceSchema = "string"
awsTags = {
{customized property} = "string"
}
publicCloudConnectorsResourceId = "string"
publicCloudResourceName = "string"
}
}
}
属性值
AttributeDefinition
名字 |
描述 |
价值 |
attributeName |
属性的名称。 |
字符串 |
attributeType |
属性的数据类型,其中: + S - 属性的类型为 String + N - 属性的类型为 Number + B - 属性的类型为 Binary 类型 |
字符串 |
AwsDynamoDBTableProperties
名字 |
描述 |
价值 |
阿恩 |
属性 arn |
字符串 |
attributeDefinitions |
描述表和索引的键架构的属性列表。 创建 DDB 表需要此属性。 更新需要:某些中断。 如果编辑现有的 AttributeDefinition,则替换。 |
AttributeDefinition[] |
billingMode |
指定读取和写入吞吐量的收费方式以及管理容量的方式。 有效值包括:+ PROVISIONED - 建议对可预测工作负荷使用 PROVISIONED 。
PROVISIONED 将计费模式设置为 预配模式。
+
PAY_PER_REQUEST - 建议对不可预知的工作负荷使用 PAY_PER_REQUEST 。
PAY_PER_REQUEST 将计费模式设置为 按需模式。 如果未指定,则默认为 PROVISIONED 。 |
字符串 |
contributorInsightsSpecification |
用于启用或禁用指定表的 CloudWatch 参与者见解的设置。 用于启用或禁用 CloudWatch 参与者见解的设置。 |
ContributorInsightsSpecification |
deletionProtectionEnabled |
确定表是否受到删除的保护。 启用后,任何用户或进程都无法删除该表。 默认情况下,此设置处于禁用状态。 有关详细信息,请参阅 开发人员指南中的 使用删除保护。 |
布尔 |
globalSecondaryIndexes |
要对表创建的全局辅助索引。 最多可以创建 20 个全局辅助索引。 如果更新表以包含新的全局辅助索引,CFNlong 将启动索引创建,然后继续执行堆栈更新。 CFNlong 不会等待索引完成创建,因为回填阶段可能需要很长时间,具体取决于表的大小。 在索引的状态 ACTIVE 之前,不能使用索引或更新表。 可以使用 DynamoDB DescribeTable 命令跟踪其状态。 如果在更新期间添加或删除索引,建议不要更新任何其他资源。 如果堆栈无法更新并在添加新索引时回滚,则必须手动删除索引。 不支持更新。 以下是例外情况:+ 如果更新参与者见解规范或全局辅助索引的预配吞吐量值,则可以在不中断的情况下更新表。 + 可以删除或添加一个全局辅助索引,而不会中断。 如果在同一更新中执行这两项操作(例如,通过更改索引的逻辑 ID),则更新将失败。 |
GlobalSecondaryIndex[] |
importSourceSpecification |
指定要从 S3 存储桶源导入到表的数据的属性。 如果指定 ImportSourceSpecification 属性,同时指定 StreamSpecification 、TableClass 属性或 DeletionProtectionEnabled 属性,则创建/更新堆栈的 IAM 实体必须具有 UpdateTable 权限。 指定要从 S3 存储桶源导入到表的数据的属性。 |
ImportSourceSpecification |
keySchema |
指定构成表的主键的属性。
KeySchema 属性中的属性还必须在 AttributeDefinitions 属性中定义。 |
KeySchema[] |
kinesisStreamSpecification |
指定表的 Kinesis 数据流配置。 指定表的 Kinesis 数据流配置。 |
KinesisStreamSpecification |
localSecondaryIndexes |
要对表创建的本地辅助索引。 最多可以创建 5 个本地辅助索引。 每个索引的范围限定为给定的哈希键值。 每个哈希键的大小最多可为 10 GB。 |
LocalSecondaryIndex[] |
pointInTimeRecoverySpecification |
用于启用时间点恢复的设置。 用于启用时间点恢复的设置。 |
PointInTimeRecoverySpecification |
provisionedThroughput |
指定表的吞吐量,由 ReadCapacityUnits 和 WriteCapacityUnits 的值组成。 有关预配吞吐量结构的内容的详细信息,请参阅 Amazon DynamoDB 表 ProvisionedThroughput。 如果将 BillingMode 设置为 PROVISIONED ,则必须指定此属性。 如果将 BillingMode 设置为 PAY_PER_REQUEST ,则无法指定此属性。 指定表的吞吐量,由 ReadCapacityUnits 和 WriteCapacityUnits 的值组成。 有关预配吞吐量结构的内容的详细信息,请参阅 表 ProvisionedThroughput。 |
ProvisionedThroughput |
resourcePolicy |
一个基于资源的策略文档,其中包含要添加到指定表的权限。 在 CFNshort 模板中,可以采用 JSON 或 YAML 格式提供策略,因为 CFNshort 将 YAML 转换为 JSON,然后再将其提交到 DDB。 有关基于资源的策略的详细信息,请参阅 使用基于资源的策略 和 基于资源的策略示例。 在创建表时附加基于资源的策略时,策略创建 非常一致。 有关附加基于资源的策略时应考虑的注意事项的信息,请参阅 基于资源的策略注意事项。 创建或更新基于资源的策略文档,其中包含 DDB 资源的权限,例如表、索引和流。 基于资源的策略允许你通过指定谁有权访问每个资源以及允许对每个资源执行的操作来定义访问权限。 在 CFNshort 模板中,可以采用 JSON 或 YAML 格式提供策略,因为 CFNshort 将 YAML 转换为 JSON,然后再将其提交到 DDB。 有关基于资源的策略的详细信息,请参阅 使用基于资源的策略 和 基于资源的策略示例。 在 CFNshort 模板中定义基于资源的策略时,需要考虑以下注意事项:+ JSON 格式的基于资源的策略文档支持的最大大小为 20 KB。 DDB 根据此限制计算策略的大小时会计算空格。 + 基于资源的策略不支持 偏移检测。 如果在 CFNshort 堆栈模板之外更新策略,则需要使用更改更新 CFNshort 堆栈。 + 基于资源的策略不支持带外更改。 如果在 CFNshort 模板之外添加、更新或删除策略,如果模板中没有策略更改,则不会覆盖更改。 例如,假设模板包含基于资源的策略,稍后在模板外部进行更新。 如果未对模板中的策略进行任何更改,DDB 中的更新策略将不会与模板中的策略同步。 相反,假设模板不包含基于资源的策略,而是在模板外部添加策略。 只要不将其添加到模板,就不会从 DDB 中删除此策略。 将策略添加到模板并更新堆栈时,将更新 DDB 中的现有策略以匹配模板中定义的策略。 有关所有注意事项的完整列表,请参阅 基于资源的策略注意事项。 |
ResourcePolicy |
sseSpecification |
指定要启用服务器端加密的设置。 表示用于启用服务器端加密的设置。 |
SSESpecification |
streamArn |
属性 streamArn |
字符串 |
streamSpecification |
DDB 表流的设置,用于捕获对表中存储的项所做的更改。 表示 DynamoDB 中表的 DynamoDB 流配置。 |
StreamSpecification |
tableClass |
新表的表类。 有效值为 STANDARD 和 STANDARD_INFREQUENT_ACCESS 。 |
字符串 |
表名称 |
表的名称。 如果未指定名称,CFNlong 将生成唯一的物理 ID,并将该 ID 用于表名称。 有关详细信息,请参阅 名称类型。 如果指定名称,则无法执行需要替换此资源的更新。 可以执行不需要或某些中断的更新。 如果必须替换资源,请指定一个新名称。 |
字符串 |
标签 |
要应用于此资源的键值对数组。 有关详细信息,请参阅 标记。 |
TagAutoGenerated8[] |
timeToLiveSpecification |
指定表的生存时间(TTL)设置。 有关 DynamoDB 中限制的详细信息,请参阅 Amazon DynamoDB 开发人员指南中的 amazon DynamoDB 限制。 表示用于启用或禁用指定表生存时间(TTL)的设置。 |
TimeToLiveSpecification |
ContributorInsightsSpecification
名字 |
描述 |
价值 |
启用 |
指示是否启用 CloudWatch 参与者见解(true)或禁用(false)。 |
布尔 |
Csv
名字 |
描述 |
价值 |
定界符 |
用于分隔正在导入的 CSV 文件中的项的分隔符。 |
字符串 |
headerList |
用于为导入的所有源 CSV 文件指定通用标头的标头列表。 如果指定此字段,则将每个 CSV 文件的第一行视为数据而不是标头。 如果未指定此字段,则每个 CSV 文件的第一行被视为标头。 |
字符串[] |
DynamoDBTableProperties
名字 |
描述 |
价值 |
阿恩 |
Amazon 资源名称 (ARN) |
字符串 |
awsAccountId |
AWS 帐户 ID |
字符串 |
awsProperties |
AWS 属性 |
AwsDynamoDBTableProperties |
awsRegion |
AWS 区域 |
字符串 |
awsSourceSchema |
AWS 源架构 |
字符串 |
awsTags |
AWS 标记 |
DynamoDBTablePropertiesAwsTags |
publicCloudConnectorsResourceId |
公有云连接器资源 ID |
字符串 |
publicCloudResourceName |
公有云资源名称 |
字符串 |
GlobalSecondaryIndex
名字 |
描述 |
价值 |
contributorInsightsSpecification |
用于启用或禁用指定全局辅助索引的 CloudWatch 参与者见解的设置。 用于启用或禁用 CloudWatch 参与者见解的设置。 |
ContributorInsightsSpecification |
indexName |
全局辅助索引的名称。 该名称在此表上所有其他索引中必须是唯一的。 |
字符串 |
keySchema |
全局辅助索引的完整键架构,由一个或多个属性名称和键类型组成:+ HASH - 分区键 + RANGE - 排序键 项的分区键也称为其 哈希属性。 术语“hash 属性”派生自 DynamoDB 使用内部哈希函数根据分区键值均匀分布数据项。 项的排序键也称为其 范围属性。 术语“range 属性”派生自 DynamoDB 以排序键值按排序顺序将具有相同分区键的项物理存储在一起的方式。 |
KeySchema[] |
投影 |
表示从表复制到全局辅助索引中的属性(投影)。 除主键属性和索引键属性外,还会自动投影这些属性。 表示从表复制到索引中的属性(投影)。 除主键属性和索引键属性外,还会自动投影这些属性。 |
投影 |
provisionedThroughput |
表示指定全局辅助索引的预配吞吐量设置。 有关当前最小和最大预配吞吐量值,请参阅 Amazon DynamoDB 开发人员指南中的 服务、帐户和表配额。 指定表的吞吐量,由 ReadCapacityUnits 和 WriteCapacityUnits 的值组成。 有关预配吞吐量结构的内容的详细信息,请参阅 表 ProvisionedThroughput。 |
ProvisionedThroughput |
ImportSourceSpecification
名字 |
描述 |
价值 |
inputCompressionType |
要用于来自导入表的输入的压缩类型。 |
字符串 |
inputFormat |
源数据的格式。
ImportFormat 的有效值为 CSV 、DYNAMODB_JSON 或 ION 。 |
字符串 |
inputFormatOptions |
指定输入格式的其他属性、导入目标表中的数据的格式选项。 有一个值,即 CsvOption。 |
InputFormatOptions |
s3BucketSource |
提供导入源的 S3 存储桶。 要从中导入的 S3 存储桶。 |
S3BucketSource |
名字 |
描述 |
价值 |
csv |
CSV 格式的导入源文件的选项。 这些值为 Delimiter 和 HeaderList。 CSV 格式的导入源文件的选项。 这些值为 Delimiter 和 HeaderList。 |
Csv |
KeySchema
名字 |
描述 |
价值 |
attributeName |
键属性的名称。 |
字符串 |
键类型 |
此键属性将承担的角色:+ HASH - 分区键 + RANGE - 排序键项的分区键也称为其 哈希属性。 术语“hash 属性”派生自 DynamoDB 使用内部哈希函数根据分区键值均匀分布数据项。 项的排序键也称为其 范围属性。 术语“range 属性”派生自 DynamoDB 以排序键值按排序顺序将具有相同分区键的项物理存储在一起的方式。 |
字符串 |
KinesisStreamSpecification
名字 |
描述 |
价值 |
approximateCreationDateTimePrecision |
流的创建时间和日期的精度。 |
“MICROSECOND” “毫秒” |
streamArn |
特定 Kinesis 数据流的 ARN。 长度约束:最小长度为 37。 最大长度为 1024。 |
字符串 |
LocalSecondaryIndex
名字 |
描述 |
价值 |
indexName |
本地辅助索引的名称。 该名称在此表上所有其他索引中必须是唯一的。 |
字符串 |
keySchema |
本地辅助索引的完整键架构,由一个或多个属性名称和键类型组成:+ HASH - 分区键 + RANGE - 排序键 项的分区键也称为其 哈希属性。 术语“hash 属性”派生自 DynamoDB 使用内部哈希函数根据分区键值均匀分布数据项。 项的排序键也称为其 范围属性。 术语“range 属性”派生自 DynamoDB 以排序键值按排序顺序将具有相同分区键的项物理存储在一起的方式。 |
KeySchema[] |
投影 |
表示从表复制到本地辅助索引中的属性(投影)。 除主键属性和索引键属性外,还会自动投影这些属性。 表示从表复制到索引中的属性(投影)。 除主键属性和索引键属性外,还会自动投影这些属性。 |
投影 |
Microsoft.AwsConnector/dynamoDBTables
名字 |
描述 |
价值 |
位置 |
资源所在的地理位置 |
string (必需) |
名字 |
资源名称 |
字符串
约束: 模式 = ^(?=.{0,259}[^\s.]$)(?!.*[<>%&\?/#]) (必需) |
性能 |
此资源的资源特定属性。 |
DynamoDBTableProperties |
标签 |
资源标记 |
标记名称和值的字典。 |
类型 |
资源类型 |
“Microsoft.AwsConnector/dynamoDBTables@2024-12-01” |
PointInTimeRecoverySpecification
名字 |
描述 |
价值 |
pointInTimeRecoveryEnabled |
指示表上是启用时间点恢复(true)还是禁用(false)。 |
布尔 |
投影
名字 |
描述 |
价值 |
nonKeyAttributes |
表示将投影到索引中的非键属性名称。 对于本地辅助索引,所有本地辅助索引的总和 NonKeyAttributes 总数不得超过 100。 如果将同一属性投影到两个不同的索引中,则确定总计时,这算作两个不同的属性。 |
字符串[] |
projectionType |
投影到索引中的属性集:+ KEYS_ONLY - 仅将索引和主键投影到索引中。
+
INCLUDE - 除了 KEYS_ONLY 中描述的属性外,辅助索引还将包括指定的其他非键属性。
+
ALL - 所有表属性都投影到索引中。 使用 DynamoDB 控制台时,默认选择 ALL 。 |
字符串 |
ProvisionedThroughput
名字 |
描述 |
价值 |
readCapacityUnits |
DynamoDB 返回 ThrottlingException 之前每秒消耗的最大强一致读取数。 有关详细信息,请参阅 Amazon DynamoDB 开发人员指南指定读取和写入要求。 如果读/写容量模式 PAY_PER_REQUEST 该值设置为 0。 |
整数 (int) |
writeCapacityUnits |
DynamoDB 返回 ThrottlingException 之前每秒消耗的最大写入数。 有关详细信息,请参阅 Amazon DynamoDB 开发人员指南指定读取和写入要求。 如果读/写容量模式 PAY_PER_REQUEST 该值设置为 0。 |
整数 (int) |
ResourcePolicy
名字 |
描述 |
价值 |
policyDocument |
基于资源的策略文档,其中包含要添加到指定 DDB 表、索引或两者的权限。 在 CFNshort 模板中,可以采用 JSON 或 YAML 格式提供策略,因为 CFNshort 将 YAML 转换为 JSON,然后再将其提交到 DDB。 有关基于资源的策略的详细信息,请参阅 使用基于资源的策略 和 基于资源的策略示例。 |
任何 |
S3BucketSource
名字 |
描述 |
价值 |
s3Bucket |
要从中导入的 S3 存储桶。 |
字符串 |
s3BucketOwner |
要从中导入的 S3 存储桶的帐户号。 如果存储桶归请求者所有,则这是可选的。 |
字符串 |
s3KeyPrefix |
正在导入的所有 S3 对象共享的键前缀。 |
字符串 |
SSESpecification
名字 |
描述 |
价值 |
kmsMasterKeyId |
应用于 KMS 加密的 KMS 密钥。 若要指定密钥,请使用其密钥 ID、Amazon 资源名称(ARN)、别名或别名 ARN。 请注意,仅当密钥不同于默认 DynamoDB 密钥 alias/aws/dynamodb 时,才应提供此参数。 |
字符串 |
sseEnabled |
指示服务器端加密是使用 AWS 托管密钥还是 AWS 拥有的密钥完成。 如果启用(true),则服务器端加密类型设置为 KMS 并使用 AWS 托管密钥(KMS 费用适用)。 如果禁用(false)或未指定,则服务器端加密设置为 AWS 拥有的密钥。 |
布尔 |
sseType |
服务器端加密类型。 唯一支持的值是:+ KMS - 使用 KMSlong 的服务器端加密。 密钥存储在帐户中,由 KMS 管理(KMS 费用适用)。 |
字符串 |
StreamSpecification
名字 |
描述 |
价值 |
resourcePolicy |
创建或更新一个基于资源的策略文档,其中包含 DDB 资源的权限,例如表的流。 基于资源的策略允许你通过指定谁有权访问每个资源以及允许对每个资源执行的操作来定义访问权限。 在 CFNshort 模板中,可以采用 JSON 或 YAML 格式提供策略,因为 CFNshort 将 YAML 转换为 JSON,然后再将其提交到 DDB。 有关基于资源的策略的详细信息,请参阅 使用基于资源的策略 和 基于资源的策略示例。 创建或更新基于资源的策略文档,其中包含 DDB 资源的权限,例如表、索引和流。 基于资源的策略允许你通过指定谁有权访问每个资源以及允许对每个资源执行的操作来定义访问权限。 在 CFNshort 模板中,可以采用 JSON 或 YAML 格式提供策略,因为 CFNshort 将 YAML 转换为 JSON,然后再将其提交到 DDB。 有关基于资源的策略的详细信息,请参阅 使用基于资源的策略 和 基于资源的策略示例。 在 CFNshort 模板中定义基于资源的策略时,需要考虑以下注意事项:+ JSON 格式的基于资源的策略文档支持的最大大小为 20 KB。 DDB 根据此限制计算策略的大小时会计算空格。 + 基于资源的策略不支持 偏移检测。 如果在 CFNshort 堆栈模板之外更新策略,则需要使用更改更新 CFNshort 堆栈。 + 基于资源的策略不支持带外更改。 如果在 CFNshort 模板之外添加、更新或删除策略,如果模板中没有策略更改,则不会覆盖更改。 例如,假设模板包含基于资源的策略,稍后在模板外部进行更新。 如果未对模板中的策略进行任何更改,DDB 中的更新策略将不会与模板中的策略同步。 相反,假设模板不包含基于资源的策略,而是在模板外部添加策略。 只要不将其添加到模板,就不会从 DDB 中删除此策略。 将策略添加到模板并更新堆栈时,将更新 DDB 中的现有策略以匹配模板中定义的策略。 有关所有注意事项的完整列表,请参阅 基于资源的策略注意事项。 |
ResourcePolicy |
streamViewType |
修改表中的项时,StreamViewType 确定将哪些信息写入此表的流中。
StreamViewType 的有效值为:+ KEYS_ONLY - 仅将修改项的键属性写入流。
+
NEW_IMAGE - 整个项在修改后显示,会写入流。
+
OLD_IMAGE - 整个项(如修改前所示)将写入流。
+
NEW_AND_OLD_IMAGES - 项的新图像和旧项图像都写入流。 |
字符串 |
TagAutoGenerated8
名字 |
描述 |
价值 |
钥匙 |
标记的键。 标记键区分大小写。 每个 DynamoDB 表最多只能有一个具有相同键的标记。 如果尝试添加现有标记(相同键),则现有标记值将更新为新值。 |
字符串 |
价值 |
标记的值。 标记值区分大小写,可以为 null。 |
字符串 |
TimeToLiveSpecification
名字 |
描述 |
价值 |
attributeName |
用于存储表中项的过期时间的 TTL 属性的名称。 + 启用 TTL 或启用 TTL 时需要 AttributeName 属性。 + 若要更新此属性,必须先禁用 TTL,然后使用新的属性名称启用 TTL。 |
字符串 |
启用 |
指示是否要对表启用 TTL(true)或禁用 (false)。 |
布尔 |