IaC設定
はじめに
Infrastructure as Code(IaC)設定では、Catalystコンソールからプロジェクトのエクスポートとインポートを簡単に実行できます。Catalystプロジェクトのスキーマ(コンポーネントの構成やコードを含む)を外部ZIPファイルとしてエクスポートできます。このZIPファイルを新しいプロジェクトとして任意のCatalystアカウントにインポートできます。ZIPファイルはプロジェクトのエクスポート時に特定の形式で作成され、この形式でのみインポートできます。
プロジェクトのエクスポートとインポート機能により、データセンター間またはCatalystアカウント間でプロジェクトを簡単に転送できます。また、GitHubリポジトリなどの外部環境からプロジェクトに簡単にアクセスしてテストすることもできます。Catalystプロジェクトのコンポーネントを含むGitリポジトリをクローンし、ZIPファイルを生成してインポートし、プロジェクトをテストするだけです。CIシステムなどのリモートシステムからこれらのアクションを実行したり、スクリプトを作成してこれらのタスクを自動化したりすることもできます。この機能を使用すると、既存のプロジェクトを簡単に複製し、さまざまなユースケース用にブランチすることもできます。
IaCプロジェクトのエクスポートとインポート機能は、Catalystコンソールの_General settings_からアクセスできます。
エクスポート/インポートZIPファイル形式とは?
IaC操作では、データなしでプロジェクトの構成をエクスポートおよびインポートできます。Data Storeテーブルのレコード、アプリケーションのユーザーリスト、File StoreのファイルなどのデータはZIPファイルに含まれません。ただし、Data Storeの各テーブルのメタデータやFile Storeのフォルダ構造は含まれます。これはすべての機能で同様です。
ZIPファイルには、すべての関数とクライアントコンポーネントのコードがそれぞれのディレクトリに含まれます。
プロジェクトのエクスポート時に生成されるZIPファイルの構造を以下に示します:
- 関数ディレクトリのZIPファイル: 標準構造のプロジェクトのfunctionsディレクトリ。プロジェクトで作成されたすべての関数が、構成ファイルとSDKコンポーネントとともに個別のZIPファイルとしてこのディレクトリに存在します。
- クライアントディレクトリのZIPファイル: 標準構造のプロジェクトのwebclientディレクトリ。プロジェクトで初期化されたWebクライアントが、すべてのクライアントファイルとともにZIPファイルとしてこのフォルダに存在します。
- Project-Template JSONファイル: プロジェクトのコンポーネント構成が1つのJSONファイルに含まれます。JSONファイルには、プロジェクト設定とコンポーネント定義が含まれます。これには、Data StoreとFile Storeのメタデータ、Cacheセグメント、Cronジョブ、Circuit構成、セキュリティルール、メールドメインとアドレス、Event Listenersとルール、API GatewayのAPI、メールテンプレート、ユーザープロファイルなどが含まれます。
サンプルproject-template JSONの抜粋を以下に示します:
{
"name" : "project-template",
"version" : "1.0.0",
"parameters" : { },
"components" : {
"Circuits" : [ {
"type" : "circuit",
"name" : "InvoiceGen",
"properties" : {
"name" : "InvoiceGen",
"states" : {
"State1" : {
"next" : "End",
"start" : true,
"type" : "pass"
}
}
},
"dependsOn" : [ ]
} ],
"Functions" : [ {
"type" : "function",
"name" : "warehouseportal",
"properties" : {
"stack" : "node14",
"code" : {
"path" : "functions/warehouseportal.zip"
},
"configuration" : {
"memory" : 256
},
"type" : "basicio",
"name" : "warehouseportal"
},
"dependsOn" : [ ]
}
],
"WebClient" : [ {
"type" : "client",
"name" : "warehousePortal",
"properties" : {
"app_name" : "warehousePortal",
"code" : {
"path" : "webclient/warehousePortal.zip"
}
},
"dependsOn" : [ ]
} ],
"Cron" : [ {
"type" : "cron",
"name" : "dailyBackup",
"properties" : {
"cron_url_details" : {
"headers" : { },
"request_body" : "",
"request_method" : "POST",
"params" : { },
"url" : "https://catalyst.zoho.com/help/index.html"
},
"end_time" : -1,
"description" : "",
"cron_name" : "dailyBackup",
"job_detail" : {
"hour" : 1,
"timezone" : "America/Los_Angeles",
"minute" : 0,
"second" : 0,
"repetition_type" : "Daily"
},
"cron_type" : "Calendar",
"status" : true
},
"dependsOn" : [ ]
} ],
"Datastore" : [ {
"type" : "table",
"name" : "InventoryDB",
"properties" : {
"table_name" : "InventoryDB"
},
"dependsOn" : [ ]
}, {
"type" : "column",
"name" : "InventoryDB-ProductID",
"properties" : {
"decimal_digits" : 2,
"column_name" : "ProductID",
"data_type" : "int",
"is_unique" : false,
"is_mandatory" : false,
"search_index_enabled" : false,
"table_id" : "InventoryDB",
"table_name" : "InventoryDB",
"max_length" : 10
},
"dependsOn" : [ "Datastore.table.InventoryDB" ]
},
{
"type" : "tableScope",
"name" : "InventoryDB-App Administrator",
"properties" : {
"role_name" : "App Administrator",
"table_scope" : "GLOBAL",
"type" : "App Administrator",
"table_name" : "InventoryDB"
},
"dependsOn" : [ "Datastore.table.InventoryDB" ]
}, {
"type" : "tableScope",
"name" : "InventoryDB-App User",
"properties" : {
"role_name" : "App User",
"table_scope" : "GLOBAL",
"type" : "App User",
"table_name" : "InventoryDB"
},
"dependsOn" : [ "Datastore.table.InventoryDB" ]
}, {
"type" : "tablePermission",
"name" : "InventoryDB-App Administrator",
"properties" : {
"role_name" : "App Administrator",
"type" : "App Administrator",
"table_permissions" : [ "SELECT", "UPDATE", "INSERT", "DELETE" ],
"table_name" : "InventoryDB"
},
"dependsOn" : [ "Datastore.table.InventoryDB" ]
}, {
"type" : "tablePermission",
"name" : "InventoryDB-App User",
"properties" : {
"role_name" : "App User",
"type" : "App User",
"table_permissions" : [ "SELECT" ],
"table_name" : "InventoryDB"
},
"dependsOn" : [ "Datastore.table.InventoryDB" ]
}]
}
}
プロジェクトをエクスポートするには?
_General Settings_セクションから任意のプロジェクトをエクスポートできます。これらはCatalystアカウント全体に適用される共通設定です。
Catalystは、すべてのコンポーネント定義とプロジェクト設定をproject-template JSONファイルに書き込みます。コンポーネントが構成されていない場合は、デフォルトの構成がJSONファイルに書き込まれます。
プロジェクトの開発環境または本番環境からプロジェクトをエクスポートできます(本番環境が有効になっている場合)。エクスポートが完了すると、生成されたZIPファイルをダウンロードできます。このZIPファイルをそのまま、別のアカウント、データセンター、またはプロジェクトの複製が必要な場合は同じアカウントの新しいプロジェクトとしてインポートできます。
プロジェクトをエクスポートするには:
- _General Settings_のInfrastructure as Codeに移動し、IaC Exportsタブをクリックします。

- Export a Projectをクリックします。
- ドロップダウンのプロジェクトリストからエクスポートするプロジェクトを選択します。Catalystアカウントのすべてのプロジェクトがここに表示されます。エクスポートするプロジェクトの環境を選択します。

- Exportをクリックします。
Catalystがプロジェクトのエクスポートプロセスを開始します。コンソールにエクスポートのステータスが表示されます。
エクスポートが初期化されると、Export IDが自動的に生成されます。Export IDを使用して、CLIからエクスポートジョブのステータスを確認できます。コンソールにはエクスポートの他の詳細も表示されます。エクスポートが完了すると、プロジェクトのZIPファイルをダウンロードできるDownload ZIPリンクが表示されます。
エクスポートプロセスに問題があり、Catalystがプロジェクトをエクスポートできなかった場合、コンソールにView Error Logリンクが表示されます。
このリンクをクリックしてエラーの詳細を表示できます。エラーを解決し、プロジェクトを再度エクスポートできます。
プロジェクトを再エクスポートするには?
ZIPダウンロードリンクの有効期限が切れた場合やプロジェクトのコンポーネントやコードが更新された場合、以前エクスポートしたプロジェクトを再度エクスポートできます。
-
Catalystは常にプロジェクトの最新の定義とコードをエクスポートします。
-
以前エクスポートしたプロジェクトを再エクスポートすると、そのプロジェクトの最新のエクスポートの_Download ZIP_リンクのみが利用可能になります。これは、Catalystがプロジェクトの最新のエクスポートのみを保存し、以前のエクスポートは保存しないためです。
以前エクスポートしたプロジェクトを再度エクスポートするには、エクスポートされたプロジェクトの省略記号アイコンをクリックし、Export Againをクリックします。
前のセクションで説明したのと同じ方法でプロジェクトがエクスポートされます。Download ZIPリンクから最新のエクスポートをダウンロードできます。
プロジェクトをインポートするには?
IaCインポートオプションを使用すると、既存のプロジェクトZIPファイルから新しいCatalystプロジェクトをインポートできます。Catalystは、project-template JSONで指定された定義に基づいて各コンポーネントを構成します。関数とクライアントコードも、存在する場合はプロジェクトに入力されます。インポートジョブが完了すると、構成とコードが入力された新しいプロジェクトが利用可能になります。
以下の方法で新しいプロジェクトをインポートできます:
- _General Settings_のInfrastructure as Codeに移動します。

- _IaC Imports_セクションからImport New Projectをクリックします。
- ポップアップウィンドウに新しいプロジェクトの名前を入力します。インポートするプロジェクトのソースZIPファイルを選択します。

- Importをクリックします。
Catalystがプロジェクトのインポートプロセスを開始します。コンソールにプロセスのステータスが表示されます。
インポートが初期化されると、Import IDが自動的に生成されます。Import IDを使用して、CLIからインポートジョブのステータスを確認できます。コンソールにはインポートジョブの他の詳細も表示されます。
インポートが成功すると、ZIPファイルに基づいてコンポーネントが構成された新しいプロジェクトがコンソールに作成されます。コンソールにはインポートジョブのAccess Projectリンクが表示されます。このリンクをクリックして新しいプロジェクトを開くことができます。
インポートプロセスに問題があり、Catalystがプロジェクトをインポートできなかった場合、コンソールにView Error Logリンクが表示されます。
クリックしてエラーの詳細を表示できます。エラーを解決し、プロジェクトを再度インポートできます。
最終更新日 2026-02-23 18:09:41 +0530 IST
Yes
No
Send your feedback to us









