スクリプトのヒント
OLP CLI を使用して、一連のコマンドを実行するスクリプトを記述できます。 以下のセクションでは、役立つヒントを提供します。
JSON 出力を処理します
スクリプト内で OLP CLI を使用する場合は、前のコマンドの出力からのパラメータを次のコマンドの引数として渡す必要があります。
多く --json
の OLP CLI コマンドでは、コマンド結果を JSON 形式で表示するオプションがサポートされています。 コマンド ライン で JSON を処理するに は、jq
(軽量で柔軟性のある JSON コマンドラインプロセッサ)、など、さまざまな方法があります。
パイプラインを作成し、その結果を id
引数として次のコマンドに渡すには、パイプラインバージョンを作成するために、次のコード スニペットを使用します。
Linux
窓
pipeline_id=$(olp pipeline create "My Example Pipeline" GROUP-848311d0-baef-4ec9-b499-cb8b88595515 \
--description "This pipeline analyzes data" --json | jq -r .id)
olp pipeline version create version-name $pipeline_id example-pipeline-template-id \
/user/data/pipeline-config.conf
for /f %i in ('olp pipeline create "My Example Pipeline" GROUP-848311d0-baef-4ec9-b499-cb8b88595515 ^
--description "This pipeline analyzes data" --json ^| jq-win64 -r .id') do set pipeline_id=%i
olp pipeline version create version-name %pipeline_id% example-pipeline-template-id ^
/user/data/pipeline-config.conf
現在 ready
状態にあるターゲットパイプラインのすべてのパイプラインバージョンのパイプラインバージョンジョブを表示するには、次のコード スニペットを使用します。
Linux
窓
pipeline_version_ids=$(olp pipeline version list d77f288e-2c89-4c94-b4ba-79fbd1e26e79 --json \
| jq -r '.pipelineVersions[] | select(.state | contains("ready")) | .id')
while read -r pipeline_version_id; do
echo "Pipeline version id: $pipeline_version_id"
olp pipeline version job list d77f288e-2c89-4c94-b4ba-79fbd1e26e79 $pipeline_version_id
echo
done <<< "$pipeline_version_ids"
for /f %i in ('olp pipeline version list d77f288e-2c89-4c94-b4ba-79fbd1e26e79 --json
^| jq-win64 -r ".pipelineVersions[] | select(.state | contains(\"ready\")) | .id"')
do set pipeline_version_ids=%i
for %i in (%pipeline_version_ids%) do (
set pipeline_version_id=%i
echo Pipeline version id: %pipeline_version_id%
olp pipeline version job list d77f288e-2c89-4c94-b4ba-79fbd1e26e79 %pipeline_version_id%
)
カタログを準備します
次のコード スニペットを使用して、カタログを作成し、別のカタログからカタログにパーティションをアップロードします。
Linux
窓
partitions_folder="/user/data/partitions"
layer_id="advanced-navigation-attributes"
catalog_config="/user/data/catalog_config.json"
olp catalog show hrn:here:data::olp-here:rib-2 \
--json | jq "del (.layers[] | select (.name != \"advanced-navigation-attributes\") )" > $catalog_config
catalog_id=$(olp catalog create first-catalog-example-id first-catalog-example --config $catalog_config \
--summary "This catalog contains navigation attributes" \
--description "This catalog contains navigation attributes" --json | jq -r .hrn)
olp catalog layer add $catalog_id $layer_id "Advanced Navigation Attributes" --versioned \
--summary "This layer contains navigation attributes cloned from RIB" \
--description "This layer contains navigation attributes cloned from RIB"
olp catalog layer partition get hrn:here:data::olp-here:rib-2 advanced-navigation-attributes \
--partitions 17302684 17302686 17302687 --output $partitions_folder
olp catalog layer partition put $catalog_id $layer_id --input \$partitions_folder
SETLOCAL
set partitions_folder="D:\data\partitions"
set layer_id="advanced-navigation-attributes"
set catalog_config="D:\data\catalog_config.json"
olp catalog show hrn:here:data::olp-here:rib-2 ^
--json | jq-win64 "del (.layers[] | select (.name != \"advanced-navigation-attributes\") )" > %catalog_config%
for /f %i in ('olp catalog create first-catalog-example-id first-catalog-example --config %catalog_config% ^
--summary "This catalog contains navigation attributes" ^
--description "This catalog contains navigation attributes" --json ^| jq-win64 -r .hrn') do set catalog_id=%i
olp catalog layer add %catalog_id% %layer_id% "Advanced Navigation Attributes" --versioned ^
--summary "This layer contains navigation attributes cloned from RIB" ^
--description "This layer contains navigation attributes cloned from RIB"
olp catalog layer partition get hrn:here:data::olp-here:rib-2 advanced-navigation-attributes ^
--partitions 17302684 17302686 17302687 --output %partitions_folder%
olp catalog layer partition put %catalog_id% %layer_id% --input %partitions_folder%