すべてのプロダクト
Search
ドキュメントセンター

Resource Orchestration Service:ALIYUN::KAFKA::Topic

最終更新日:Apr 26, 2025

ALIYUN::KAFKA::Topic は、Topic を作成するために使用されます。

構文

{
  "Type": "ALIYUN::KAFKA::Topic",
  "Properties": {
    "InstanceId": String,
    "Topic": String,
    "Remark": String,
    "PartitionNum": Integer,
    "ReplicationFactor": Integer,
    "LocalTopic": Boolean,
    "CompactTopic": Boolean,
    "Config": Map,
    "MinInsyncReplicas": Integer,
    "Tags": List
  }
}

プロパティ

プロパティ

タイプ

必須

編集可能

説明

制約

InstanceId

String

はい

いいえ

インスタンス ID。

なし。

Topic

String

はい

いいえ

Topic の名前。

名前は 3 ~ 64 文字で、英字、数字、アンダースコア (_)、およびハイフン (-) を使用できます。

説明

Topic の作成後、名前は変更できません。

Remark

String

はい

いいえ

Topic の説明。

説明は 3 ~ 64 文字で、英字、数字、アンダースコア (_)、およびハイフン (-) を使用できます。

PartitionNum

Integer

いいえ

いいえ

Topic のパーティション数。

有効値: 1 ~ 48。

データスキューのリスクを軽減するために、パーティション数を 6 の倍数に設定することをお勧めします。

ReplicationFactor

Integer

いいえ

いいえ

Topic のレプリカ数。

このプロパティは、LocalTopic プロパティが true に設定されている場合に有効です。

有効値: 1 ~ 3。

説明

このプロパティを 1 に設定すると、データ損失のリスクが高くなります。ご注意ください。

LocalTopic

Boolean

いいえ

いいえ

Topic がローカル記憶域を使用するかどうかを指定します。

有効値:

  • false: Topic はクラウドストレージを使用します。

  • true: Topic はローカル記憶域を使用します。

CompactTopic

Boolean

いいえ

いいえ

Topic がログ圧縮ポリシーを使用するかどうかを指定します。

このプロパティは、LocalTopic プロパティが true に設定されている場合に有効です。

有効値:

  • false: Topic はメッセージクリーンアップポリシーを使用します。システムに十分なディスク容量がある場合、メッセージは最大保存期間保持されます。システムは、ディスク使用率が 85% を超えるとディスク容量が不足していると見なします。ディスク容量が不足している場合、システムはサービスの可用性を確保するために、最も古い保存メッセージからメッセージを削除します。

  • true: Topic はログ圧縮ポリシーを使用します。異なるメッセージが同じキーを共有する場合、最新のキー値を持つメッセージが保持されます。

Config

Map

いいえ

いいえ

追加の構成。

このプロパティは、LocalTopic プロパティが true に設定されている場合に有効です。

サンプル値: {"replications": 3}。サンプル値は、Topic レプリカの数が 3 であることを示しています。replications フィールドの値の範囲は 1 ~ 3 です。

MinInsyncReplicas

Integer

いいえ

いいえ

同期中レプリカ (ISR) の最小数。

このプロパティは、LocalTopic プロパティが true に設定されている場合に有効です。

有効値: 1 ~ 3。値は Topic レプリカの数よりも小さくする必要があります。

Tags

List

いいえ

はい

Topic のタグ。

詳細については、「タグのプロパティ」をご参照ください。

タグの構文

"Tags": [
  {
    "Key": String,
    "Value": String
  }
]  

タグのプロパティ

プロパティ

タイプ

必須

編集可能

説明

制約

Key

String

はい

いいえ

タグのキー。

タグキーは 1 ~ 128 文字で、http:// または https:// を含めることはできません。タグキーは aliyun または acs: で始めることはできません。

Value

String

いいえ

いいえ

タグの値。

タグ値は 1 ~ 128 文字で、http:// または https:// を含めることはできません。タグ値は aliyun または acs: で始めることはできません。

戻り値

Fn::GetAtt

  • InstanceId: インスタンス ID。

  • Topic: Topic の名前。

  • Arn: Alibaba Cloud リソースネーム (ARN)。

ROSTemplateFormatVersion: '2015-09-01'
Description: Kafka Topic 作成テスト
Parameters:
  InstanceId:
    Type: String
    Description: Kafka インスタンス ID
    Default: alikafka_****
  Topic:
    Type: String
    Description: |-
      Topic の名前。このパラメーターの値は、次の要件を満たしている必要があります。
      名前には、英字、数字、ハイフン (-)、およびアンダースコア (_) のみを含めることができます。
      名前は 3 ~ 64 文字である必要があり、文字数が多い場合は自動的に切り詰められます。
      作成後は名前を変更できません。
    Default: myTopic
  Remark:
    Type: String
    Description: |-
      Topic の説明。このパラメーターの値は、次の要件を満たしている必要があります。
      値には、英字、数字、ハイフン (-)、およびアンダースコア (_) のみを含めることができます。
      値は 3 ~ 64 文字である必要があります。
    Default: test
Resources:
  Topic:
    Type: ALIYUN::KAFKA::Topic
    Properties:
      InstanceId:
        Ref: InstanceId
      Topic:
        Ref: TopicName
      Remark:
        Ref: Remark
Outputs:
  TopicName:
    Value:
      Fn::GetAtt:
        - Topic
        - Topic
{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Description": "Kafka Topic 作成テスト",
  "Parameters": {
    "InstanceId": {
      "Type": "String",
      "Description": "Kafka インスタンス ID",
      "Default": "alikafka_****"
    },
    "Topic": {
      "Type": "String",
      "Description": "Topic の名前。このパラメーターの値は、次の要件を満たしている必要があります。\n名前には、英字、数字、ハイフン (-)、およびアンダースコア (_) のみを含めることができます。\n名前は 3 ~ 64 文字である必要があり、文字数が多い場合は自動的に切り詰められます。\n作成後は名前を変更できません。",
      "Default": "myTopic"
    },
    "Remark": {
      "Type": "String",
      "Description": "Topic の説明。このパラメーターの値は、次の要件を満たしている必要があります。\n値には、英字、数字、ハイフン (-)、およびアンダースコア (_) のみを含めることができます。\n値は 3 ~ 64 文字である必要があります。",
      "Default": "test"
    }
  },
  "Resources": {
    "Topic": {
      "Type": "ALIYUN::KAFKA::Topic",
      "Properties": {
        "InstanceId": {
          "Ref": "InstanceId"
        },
        "Topic": {
          "Ref": "TopicName"
        },
        "Remark": {
          "Ref": "Remark"
        }
      }
    }
  },
  "Outputs": {
    "TopicName": {
      "Value": {
        "Fn::GetAtt": [
          "Topic",
          "Topic"
        ]
      }
    }
  }
}