Data スキーマを定義します

スキーマに他のスキーマの要素が含まれていない場合 proto は、モジュールに含まれている Protobuf 定義のみを定義する必要があります。 定義を複数のファイルに分割したり、他の Protobuf ファイルをインポートしたりできます。

詳細について は、『 Protocol Buffers Language Guide 』を参照してください。

スキーマプロジェクト定義の例

前の章で生成したスキーマプロジェクトに基づいて、スキーマに高度フィールドを追加してみましょう。 このためには proto/src/main/proto/com/here/example/v1/test_schema.proto 、次のようにファイルを編集します。

syntax = "proto3";

package com.here.example.v1;

// MainProtobufMessage is a placeholder, and its value must match the package/messagename in the
// mainMessage tag of the layer-manifest-plugin in the schema_ds module.
message MainProtobufMessage {
    int32 lat = 1;
    int32 lon = 2;
    int32 alt = 3;
}

変更を確認するには、次のコマンドを入力します。

mvn package

スキーマを拡張します

スキーマを拡張することで、他のスキーマにすでに存在するデータ構造を定義する必要がなくなります。 スキーマを別のスキーマに依存させる必要がある場合は、次の説明に従って必要な依存関係を追加します。

  1. proto モジュールの場合は、 POM ファイルに依存関係定義を追加します。 依存関係は proto 、原型によって生成されたプロジェクトでパッケージ化された別のモジュールにある必要があります。
  2. java モジュールの場合は、 POM ファイルに依存関係定義を追加します。 依存関係は java 、原型によって生成されたプロジェクトでパッケージ化された別のモジュールにある必要があります。
  3. scala_2.12 モジュールの場合は、 POM ファイルに依存関係定義を追加します。 依存関係は scala_2.12 、原型によって生成されたプロジェクトでパッケージ化された別のモジュールにある必要があります。
  4. 必要 proto なモジュール定義の依存関係から Protobuf 定義をインポートして使用します。

これでプロジェクトの準備ができました。カスタムデータ構造を定義できます。

注 : Maven

原型 1.0.0 以降から作成されたスキーマは、原型バージョン 1.0.0 以降から作成されたスキーマでのみ拡張できます。

スキーマプロジェクト拡張の例

上記で作成したスキーマプロジェクトに基づい て、 HERE Data SDK for Java および Scala 開発者が提供する HERE が提供する HMC アドレスアトリビューションスキーマを使用して、郵便番号フィールドを追加してスキーマを拡張してみましょう。 このスキーマを検索 するには、 HERE platform ポータルで [ データ ] タブを選択し、 [ スキーマを参照 ] をクリックします。

スキーマを拡張するには、次の手順を実行します。

  1. proto/pom.xml 次の依存関係をファイルに追加します。

    <dependency>
      <groupId>com.here.schema.rib</groupId>
      <artifactId>address-attributes_v2_proto</artifactId>
      <type>zip</type>
    </dependency>
    
  2. java/pom.xml 次の依存関係をファイルに追加します。

    <dependency>
      <groupId>com.here.schema.rib</groupId>
      <artifactId>address-attributes_v2_java</artifactId>
      <type>jar</type>
    </dependency>
    
  3. scala_2.12/pom.xml 次の依存関係をファイルに追加します。

    <dependency>
      <groupId>com.here.schema.rib</groupId>
      <artifactId>address-attributes_v2_scala_2.12</artifactId>
      <type>jar</type>
    </dependency>
    
  4. proto/src/main/proto/com/here/example/v1/test_schema.proto 次のようにファイルを編集します。

    syntax = "proto3";
    
    package com.here.example.v1;
    
    // Declare any dependent resources in the main POM file and add the import statements here:
    import "com/here/schema/rib/v2/address_attributes.proto";
    
    // MainProtobufMessage is a placeholder, this value must match the package/messagename in
    // the mainMessage tag of the layer-manifest-plugin in the schema_ds module.
    message MainProtobufMessage {
        int32 lat = 1;
        int32 lon = 2;
        com.here.schema.rib.v2.PostalCode postal_code = 3;
    }
    
  5. 変更を確認するには、次のコマンドを実行します。

    mvn package
    

注 : Maven

HMC アドレスアトリビューション スキーマの適切なバージョンは、を使用して自動的に解決 com.here.platform:sdk-standalone-bom_2.12されます。 自動的に解決できるアーティファクトの一覧については ' を参照してください

」に一致する結果は 件です

    」に一致する結果はありません