export-entity コマンドの使用
export-entity コマンドを使用して、 開発者ポータル ・サイトからのコンテンツ・エンティティーのエクスポートを管理できます。
製品情報
開発者ポータル は、 Drupal コンテンツ管理システムに基づいています。 Drupalでは、コンテンツ・エンティティーは、テキスト、イメージ、HTML マークアップなど、サイト・ユーザーに表示することを意図したコンテンツ・データの項目です。 コンテンツ・エンティティーはエンティティー・タイプにグループ化され、これらのエンティティー・タイプのほとんどは、バンドルとも呼ばれるエンティティー・サブタイプに細分化されます。 export-entity コマンドを使用すると、エクスポートするすべてのコンテンツ・エンティティーの事前定義リスト (エクスポート・エンティティーと呼ばれる) を作成できます。 複数のエクスポート・エンティティーを作成できます。各エクスポート・エンティティーには、独自の関連付けられたエンティティー・タイプのセットが含まれています。 エクスポート・エンティティーは永続するため、必要に応じてコンテンツを追加したりコンテンツを削除したりすることができます。
一度に 1 つのタイプのコンテンツ・エンティティー、またはすべてのコンテンツ・エンティティー・タイプのみをエクスポートする場合は、 content コマンドを使用できます。詳しくは、 コンテンツ・コマンドの使用 を参照してください。 これらのコマンドは、エンティティー・コンテンツをインポートする場合にも使用します。
手順
- 以下の例に示すように、プロバイダー組織としてログインします。
apic login --server management_server --realm provider/identity_provider --username provider_username --password provider_password
次のコマンドを入力して、使用可能なすべての ID プロバイダーのリストを表示することで、--realm
パラメーターで使用する ID プロバイダーを判別できます (このコマンドを使用するためにログインする必要はありません)。
例:apic identity-providers:list --scope provider --server platform_api_endpoint_url --fields title,realm
apic identity-providers:list --scope provider --server platform_api_endpoint_url --fields title,realm total_results: 2 results: - title: API Manager User Registry realm: provider/default-idp-2 - title: Corporate LDAP user registry realm: provider/corporate-ldap
title
値により、使用する ID プロバイダーを判別できます。その後に、表示されたrealm
値から対応する--realm
パラメーターを直接コピーできます。 API Connect のインストール後に管理者によって作成された ID プロバイダーの場合、名前は作成時に決定されます。 プロバイダー組織のメンバーとしてログインするためのデフォルトの API Manager ローカル・ユーザー・レジストリーはdefault-idp-2
です。apic login
コマンドについて詳しくは、 管理サーバーへのログインを参照してください。汎用コマンドとその使用法の要約については、 開発者ポータルの CLI コマンドを参照してください。
- 以下の
export-entity:create
コマンドを使用して、エクスポート・エンティティーを作成します。 このコマンドは、エクスポートするエンティティー・コンテンツのコンテナーを作成します。
各項目の意味は次のとおりです。apic --mode portaladmin --server management_server --org orgid/name --catalog catalogid/name export-entity:create --export_entity_name "export_entity_name"
management_server
は管理サーバーのエンドポイント URL です(必須)。orgid/name
は、カタログが属しているプロバイダー組織の ID または名前です (必須)。catalogid/name
は、サイトが属しているカタログの ID または名前です (必須)。export_entity_name
は、作成したいエクスポート・エンティティーの名前です。 この名前は固有 ID ではないことに注意してください。
返された ID 番号を個別にメモします。この ID は今後のコマンドで必要になります。apic --mode portaladmin --server my_management_server --org my_org --catalog my_catalog export-entity:create --export_entity_name "Main Content" [notice] Created new export entity Main Content, id 5
- 以下の
export-entity:list
コマンドを使用して、サイトで使用可能なすべてのエクスポート・エンティティーをリストします。
このコマンドは、使用可能なエクスポート・エンティティーのリスト (ID、およびそれらが作成された日時を含む) を返します。 例:apic --mode portaladmin --server management_server --org orgid/name --catalog catalogid/name export-entity:list
apic --mode portaladmin --server my_management_server --org my_org --catalog my_catalog export-entity:list - id: '5' name: 'Main Content' created_time: '2023-09-12 15:05:04'
- 以下の
export-entity:add-content
コマンドを使用して、エクスポート・エンティティーにコンテンツを追加します。
各項目の意味は次のとおりです。apic --mode portaladmin --server management_server --org orgid/name --catalog catalogid/name export-entity:add-content --export_entity_id export_entity_id --entity_type entity_type_name --entity_ids entity_ids
export_entity_id
は、エクスポート・エンティティーの ID です (必須)。entity_type_name
は、エクスポート・エンティティーに追加するコンテンツ・エンティティーのタイプです (必須)。content:list-types
コマンドを使用して、サイトからエクスポート可能なコンテンツ・エンティティーのタイプを見つけることができます。 コンテンツ・コマンドの使用を参照してください。entity_ids
は、エクスポート・エンティティーに追加するエンティティー ID をコンマで区切ったリストです (オプション)。 特定のエンティティー・タイプのすべてのコンテンツ・エンティティーを追加する場合は、エンティティー ID を設定する必要はありません。
以下の例は、エクスポート・エンティティー5
に追加される 3 つの異なるタイプのエンティティー・コンテンツを示しています。apic --mode portaladmin --server my_management_server --org my_org --catalog my_catalog export-entity:add-content --export_entity_id 5 --entity_type node --entity_ids 1,2 [notice] Successfully added entity type node - "1, 2" to export entity 5 apic --mode portaladmin --server my_management_server --org my_org --catalog my_catalog export-entity:add-content --export_entity_id 5 --entity_type block_content --entity_ids 1,2 [notice] Successfully added entity type block_content - "1, 2" to export entity 5 apic --mode portaladmin --server my_management_server --org my_org --catalog my_catalog export-entity:add-content --export_entity_id 5 --entity_type shortcut --entity_ids 1 [notice] Successfully added entity type shortcut - "1" to export entity 5
- 以下の
export-entity:remove-content
コマンドを使用して、エクスポート・エンティティーからコンテンツを削除します。
各項目の意味は次のとおりです。apic --mode portaladmin --server management_server --org orgid/name --catalog catalogid/name export-entity:remove-content --export_entity_id export_entity_id --entity_type entity_type_name --entity_ids entity_ids
export_entity_id
は、エクスポート・エンティティーの ID です (必須)。entity_type_name
は、削除するコンテンツ・エンティティーのタイプです (必須)。entity_ids
は、削除するエンティティー ID をコンマで区切ったリストです (オプション)。 特定のエンティティー・タイプのすべてのコンテンツ・エンティティーを削除する場合は、エンティティー ID を設定する必要はありません。
例えば、コンテンツ・エンティティー・タイプshortcut
のエンティティー ID1
をエクスポート・エンティティー5
から削除するには、次のコマンドを実行します。apic --mode portaladmin --server my_management_server --org my_org --catalog my_catalog export-entity:remove-content --export_entity_id 5 --entity_type shortcut --entity_ids 1 [notice] Successfully removed entity type shortcut - "1" from export entity 5
- 以下の
export-entity:get
コマンドを使用して、エクスポート・エンティティーのコンテンツの詳細を表示します。 このコマンドは、特定のエクスポート・エンティティー ID 内のすべてのコンテンツ・エンティティーのリストを返します。これは、その ID に対してexport-entity:launch
コマンドが実行された場合にエクスポートされるエンティティー・コンテンツです。apic --mode portaladmin --server management_server --org orgid/name --catalog catalogid/name export-entity:get --export_entity_id export_entity_id
次の例では、エクスポート・エンティティー5
に 4 つの異なるコンテンツ・エンティティーが含まれています。apic --mode portaladmin --server my_management_server --org my_org --catalog my_catalog export-entity:get --export_entity_id 5 - bundle: basic id: "1" title: No Apps Found [en] type: block_content - bundle: page id: "1" title: Terms of use type: node - bundle: basic id: "2" title: No Apis Found [en] type: block_content - bundle: page id: "2" title: Privacy Policy type: node
- 以下の
export-entity:launch
コマンドを実行して、コンテンツ・エンティティーをエクスポートします。 このコマンドは、特定のエクスポート・エンティティーに含まれているすべてのエンティティーの .tgz ファイルを作成する、エンティティー・ポーリングのエクスポート・タスクを起動します。 デフォルトでは、このコマンドは、タスクが終了するまで 30 秒ごとにタスクの状況をポーリングします。終了すると、エクスポート・ファイルが返されます。 コマンドが--no-poll
オプションを指定して実行された場合、タスクは .tgz ファイルを返しませんが、タスク ID のみを返します。
各項目の意味は次のとおりです。apic --mode portaladmin --server management_server --org orgid/name --catalog catalogid/name export-entity:launch --export_entity_id export_entity_id
--no-poll
はオプションのフラグで、コマンドがタスクの状況をポーリングせず、単にタスク ID を返すことを意味します。 その後、このタスク ID をexport-entity:get-export
コマンドで使用して、エクスポート・ファイルを返すことができます。
注: このコマンドは、最大ポーリング時間の 25 分に達するまでポーリングを続行します。 この時点で、コマンドexport-entity:get_export_status
およびexport-entity:get-export
を使用して、状況を取得することができます。また、タスクが終了している場合は、成果物を取得することもできます。export-entity:launch
コマンドは複数回実行できます。また、export-entity:add-content
コマンドおよびexport-entity:remove-content
コマンドを使用して、必要に応じてエクスポート・エンティティーの内容を更新できます。以下の例では、エクスポート・エンティティー5
の内容をエクスポートします。
このコマンドは、実行中のディレクトリーにエクスポートを保存します。 エクスポート .tgz ファイルには、 .tgz ファイルに含まれているすべてのエンティティーの索引と、エクスポートされた各コンテンツ・エンティティー・タイプの content_entity_type.json ファイルを含む root.json ファイルが含まれています。 content_entity_type.json ファイルには、これらのエンティティーを別の 開発者ポータル ・サイトにインポートするために必要なすべての情報が含まれています。apic --mode portaladmin --server my_management_server --org my_org --catalog my_catalog export-entity:launch --export_entity_id 5 201 CREATED - TASK ID: saleo5261k5a2y Response Code - 202: Message(s) - The status of this task is: QUEUED Response Code - 200: Message(s) - The status of this task is: FINISHED and the artifact can now be streamed Saving File (Large files may take a while)... Incoming project saved to export_entity_launchExport-20230912165
--no-poll
オプションを指定してexport-entity:launch
コマンドを実行した場合は、以下のコマンドを使用してエンティティー・エクスポートを管理できます。export-entity:delete-launch-export
現在実行中のexport-entity:launch
タスクをすべてキャンセルし、関連成果物をすべて削除します。 例:
ここで、apic --mode portaladmin --server management_server --org orgid/name --catalog catalogid/name export-entity:delete-launch-export --task_id task_id
task_id
は、キュー上のエクスポート・タスクの ID です。export-entity:get-launch-export
完了した特定のexport-entity:launch
タスクの内容を .tgz ファイルにストリーミングします。 例:apic --mode portaladmin --server management_server --org orgid/name --catalog catalogid/name export-entity:get-launch-export --task_id task_id
export-entity:get-launch-export-status
特定のexport-entity:launch
タスクの状況を返します。 例:apic --mode portaladmin --server management_server --org orgid/name --catalog catalogid/name export-entity:get-launch-export-status --task_id task_id
次のタスク
content コマンドを使用して、エクスポート・エンティティー・アーカイブ・ファイルをインポートできます。詳しくは、 コンテンツ・コマンドの使用 を参照してください。