---
title: "リソースをプル、プッシュ、比較、検証する"
slug: "pull-push-compare-and-validate-resources"
abstract: "作業フォルダを初期化した後、シリアライズコマンドを使ってリソースをプル、プッシュ、比較、検証する方法。"
---
# リソースをプル、プッシュ、比較、検証する

シリアライズコマンドを使えば、[リソース](https://doc.sitecore.com/ch/ja/developers/cloud-dev/create-resources.html "Create resources")をプル、プッシュ、比較、検証できます。その後、[パッケージを作成してインストール](https://doc.sitecore.com/ch/ja/developers/cloud-dev/create-and-install-a-package.html "Create and install a package")できます。

> !注**始める前に**
> 
> -   [作業用フォルダを初期化します](https://doc.sitecore.com/ch/ja/developers/cloud-dev/initialize-your-working-folder.html "Initialize your working folder")

> !注このセクションのいくつかの例では、\--nameパラメータにワイルドカードを含む値があります。パラメータにワイルドカードを割り当てることで、文字通りの値ではなくパターンに基づいてデータをターゲットにできます。例えば、MyNamespace\*のname値を使うと、名前がMyNamespaceで始まるすべてのリソースに影響します。

## 引っ張って

接続されたContent Hubインスタンスからリソースを取得するには、pullコマンドを使用します。ワーキングディレクトリは初めてリソースを引く際に自動的に初期化されます。

以下の例のように、パラメータをコマンドに付け加えて、どの種類のリソースを取るかを指定できます。

\# Pulling all option lists
ch-cli serialization pull option-list

# Option lists
ch-cli serialization pull option-list -?

# Pulling option list by its name
ch-cli serialization pull option-list -n <NAME>

# Pulling all entity definitions
ch-cli serialization pull entity-definition

# Entities
ch-cli serialization pull entity -?

# Entity definitions
ch-cli serialization pull entity-definition -?

# Pulling an option list by its name
ch-cli serialization pull entity-definition -n <NAME>

# Pulling an entity by id
ch-cli serialization pull entity --id <ENTITY\_ID>

# Pulling an entity by identifier
ch-cli serialization pull entity --id <ENTITY\_IDENTIFIER>

# Pulling an entity by name and definition
ch-cli serialization pull entity --name <ENTITY\_NAME> --definition <ENTITY\_DEFINITION\_NAME>

# Pulling all entities for an entity definition
ch-cli serialization pull entity --definition <ENTITY\_DEFINITION\_NAME>

# Pulling an entity and its related entities
ch-cli serialization pull entity --name <NAME> --definition <ENTITY\_DEFINITION\_NAME> --include-relations

# Policies
ch-cli serialization pull pol --name
ch-cli serialization pull pol --id
ch-cli serialization pull pol --name --verbose --updates --minutes
ch-cli serialization pull policy --name
ch-cli serialization pull policy --id
ch-cli serialization pull policy --name --verbose --updates
ch-cli serialization pull policy --name --verbose --minutes

> !注id(例:34167)と識別子(例:asset.mae-mu-1421987)は別々のシステムプロパティです。エンティティ名は、それぞれの[エンティティ定義](https://doc.sitecore.com/ch/en/users/content-hub/edit-an-entity-definition.html)のDisplayTemplateプロパティに基づいて解決されます。DisplayTemplateプロパティに値がない場合は、エンティティ識別子がエンティティ名として使われます。名前の衝突を解決するには、エンティティ識別子を名前に付け加えます。

## 押せ

接続されたContent Hubインスタンスにリソースをプッシュするには、pushコマンドを使用します。以下の例のように、コマンドにパラメータを追加してプッシュするリソースの種類を指定できます:

\# Push a single option list by its name
ch-cli serialization push option-list --name <NAME>

# Push all option lists
ch-cli serialization push option-list

# Push a single entity definition by its name
ch-cli serialization push entity-definition --name <NAME>

# Push all entities of a certain definition
ch-cli serialization push entity --definition <DEFINITION\_NAME>

# Push all entities
ch-cli serialization push entity

# Policies
ch-cli serialization push pol --name
ch-cli serialization push policy --name
ch-cli serialization push pol --name --verbose

## 比較

diffコマンドを使って、ローカルで利用可能なリソースとContent Hubインスタンスに存在するリソースを確認し、違いをハイライトしてください。デフォルトでは、出力はエンティティが更新された(U)、追加された(A)、削除されたか(D)かの概要を表示します。詳細な変更を見るには、コマンドに\--verboseフラグを付けることができます。

U SampleArticle
 U fields
 U id: Title
 U required
 false - true
 A id: ReleaseDate

リソースを比較するには、以下のいずれかのコマンドを実行してください。

\# Compare all option lists
ch-cli serialization diff option-list

# Compare an option list by name
ch-cli serialization diff option-list --name <name>

# Compare all entity definitions
ch-cli serialization diff entity-definition

# Compare an entity definition by name
ch-cli serialization diff entity-definition --name <name>

# Compare all entities
ch-cli serialization diff entity

# Compare entities by name and definition
ch-cli serialization diff entity --name <NAME> --definition <ENTITY\_DEFINITION\_NAME>

# Policies
ch-cli serialization diff pol --name
ch-cli serialization diff pol --name --verbose
ch-cli serialization diff policy --name

## 検証

CLIはYAMLファイルを検証し、例えば一意IDや有効なカルチャー識別子の使用、フィールド長制限の遵守を保証します。

リソースをローカルで検証するには、作業中でも以下のいずれかのコマンドを実行してください。

\# Validates options lists
ch-cli serialization validate option-list

# Validates entity definitions
ch-cli serialization validate entity-definition

# Validates entities
ch-cli serialization validate entity