curl または Windows PowerShell を使用したクイックスタート

このページでは、curl と Windows PowerShell を使用した Cloud Healthcare API を使用して、データセットと DICOM、FHIR、HL7v2 ストアを作成する方法について説明します。

準備

  1. Google アカウントにログインします。

    Google アカウントをまだお持ちでない場合は、新しいアカウントを登録します。

  2. Cloud Console のプロジェクト セレクタページで、Cloud プロジェクトを選択または作成します。

    プロジェクト セレクタのページに移動

  3. Google Cloud プロジェクトに対して課金が有効になっていることを確認します。プロジェクトに対して課金が有効になっていることを確認する方法を学習する

  4. 認証の設定:
    1. Cloud Console で、[サービス アカウント キーの作成] ページに移動します。

      [サービス アカウント キーの作成] ページに移動
    2. [サービス アカウント] リストから [新しいサービス アカウント] を選択します。
    3. [サービス アカウント名] フィールドに名前を入力します。
    4. [ロール] リストで、[プロジェクト] > [オーナー] を選択します。

      : [ロール] フィールドの設定により、リソースにアクセスするサービス アカウントが承認されます。このフィールドは、Cloud Console を使用して後から表示および変更できます。本番環境アプリケーションを開発している場合は、[プロジェクト > オーナー] よりも詳細な権限を指定します。詳しくは、サービス アカウントへのロールの付与をご覧ください。
    5. [作成] をクリックします。キーが含まれている JSON ファイルがパソコンにダウンロードされます。
  5. 環境変数 GOOGLE_APPLICATION_CREDENTIALS を、サービス アカウント キーが含まれる JSON ファイルのパスに設定します。 この変数は現在のシェル セッションにのみ適用されるため、新しいセッションを開く場合は、変数を再度設定します。

  6. Cloud Healthcare API を有効にします。

    API を有効にする

  7. Cloud SDK をインストールして初期化します。

ヒント: コマンド プロンプトが必要な場合は、Google Cloud Shell を使用できます。Google Cloud Shell は、Google Cloud SDK がすでに含まれているコマンドライン環境であるため、インストールする必要はありません (Google Cloud SDK も Google Compute Engine の仮想マシンにプリインストールされています)。

データセットの作成

データセットは、Google Cloud で医療データを保持する基本的なコンテナです。

curl

データセットを作成するには、データセットの名前とアクセス トークンを指定して POST リクエストを行います。次のサンプルは、curl を使用した POST リクエストを示しています。

LOCATION 変数を設定するときは、us-central1us-west2europe-west2europe-west4northamerica-northeast1southamerica-east1asia-east2asia-northeast1asia-southeast1australia-southeast1、または us を使用します。

curl -X POST \
    --data "" \
    -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets?datasetId=DATASET_ID"

リクエストが成功すると、サーバーは JSON 形式でレスポンスを返します。レスポンスには、長時間実行オペレーションの識別子が含まれます。長時間実行オペレーションは、メソッドの呼び出しが完了するまでにかなりの時間がかかる場合に返されます。

{
  "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID",
}

レスポンスにはオペレーション名が含まれています。オペレーションのステータスを追跡するには、オペレーションの get メソッドを使用します。

curl -X GET \
    -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
    "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID"

リクエストが成功すると、サーバーはオペレーションのステータスを含む JSON 形式のレスポンスを返します。レスポンスに "done": true が含まれると、オペレーションが終了したことがわかります。

{
  "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.healthcare.v1.OperationMetadata",
    "apiMethodName": "google.cloud.healthcare.v1.dataset.DatasetService.CreateDataset",
    "createTime": "CREATE_TIME",
    "endTime": "END_TIME",
    "logsUrl": "https://console.cloud.google.com/logs/viewer/CLOUD_LOGGING_URL"
  },
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.cloud.healthcare.v1.dataset.Dataset",
    "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID"
  }
}

PowerShell

データセットを作成するには、データセットの名前とアクセス トークンを指定して POST リクエストを行います。次のサンプルは、Windows PowerShell を使用した POST リクエストを示しています。

LOCATION 変数を設定するときは、us-central1us-west2europe-west2europe-west4northamerica-northeast1southamerica-east1asia-east2asia-northeast1asia-southeast1australia-southeast1、または us を使用します。

$cred = gcloud auth application-default print-access-token
$headers = @{ Authorization = "Bearer $cred" }

Invoke-WebRequest `
  -Method Post `
  -Headers $headers `
  -ContentType: "application/json; charset=utf-8" `
  -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets?datasetId=DATASET_ID" | Select-Object -Expand Content

リクエストが成功すると、サーバーは JSON 形式でレスポンスを返します。レスポンスには、長時間実行オペレーションの識別子が含まれます。長時間実行オペレーションは、メソッドの呼び出しが完了するまでにかなりの時間がかかる場合に返されます。

{
  "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID",
}

レスポンスにはオペレーション名が含まれています。オペレーションのステータスを追跡するには、オペレーションの get メソッドを使用します。

$cred = gcloud auth application-default print-access-token
$headers = @{ Authorization = "Bearer $cred" }

Invoke-WebRequest `
  -Method Get `
  -Headers $headers `
  -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID" | Select-Object -Expand Content

リクエストが成功すると、サーバーはオペレーションのステータスを含む JSON 形式のレスポンスを返します。レスポンスに "done": true が含まれると、オペレーションが終了したことがわかります。

{
  "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.healthcare.v1.OperationMetadata",
    "apiMethodName": "google.cloud.healthcare.v1.dataset.DatasetService.CreateDataset",
    "createTime": "CREATE_TIME",
    "endTime": "END_TIME",
    "logsUrl": "https://console.cloud.google.com/logs/viewer/CLOUD_LOGGING_URL"
  },
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.cloud.healthcare.v1.dataset.Dataset",
    "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID"
  }
}

データセットの詳細の取得

データセットの詳細を表示して、データセットが作成されたことを確認できます。

curl

データセットの詳細を取得するには、GET リクエストを行い、データセットの名前とアクセス トークンを指定します。次のサンプルは、curl を使用した GET リクエストを示しています。

curl -X GET \
     -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
     "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID"

リクエストが成功すると、サーバーは JSON 形式のレスポンスを返します。

{
  "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID"
}

PowerShell

データセットの詳細を取得するには、GET リクエストを行い、データセットの名前とアクセス トークンを指定します。次のサンプルは、curl を使用した GET リクエストを示しています。

$cred = gcloud auth application-default print-access-token
$headers = @{ Authorization = "Bearer $cred" }

Invoke-WebRequest `
  -Method Get `
  -Headers $headers `
  -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID" | Select-Object -Expand Content

リクエストが成功すると、サーバーは JSON 形式のレスポンスを返します。

{
  "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID"
}

DICOM、FHIR、HL7v2 ストアを作成して管理する

このクイックスタートを完了するには、関連するセクションを展開します。

クリーンアップ

このチュートリアルで使用したリソースについて、Google Cloud アカウントに課金されないようにするには、Google Cloud で作成したリソースをクリーンアップします。 このチュートリアル用に新しいプロジェクトを作成した場合は、プロジェクトの削除の手順に従ってください。それ以外の場合は、データセットの削除の手順に従ってください。

プロジェクトの削除

  1. Cloud Console で [リソースの管理] ページに移動します。

    [リソースの管理] ページに移動

  2. プロジェクト リストで、削除するプロジェクトを選択し、[削除] をクリックします。
  3. ダイアログでプロジェクト ID を入力し、[シャットダウン] をクリックしてプロジェクトを削除します。

データセットの削除

このクイックスタートで作成したデータセットが不要になった場合は、削除できます。データセットを完全に削除すると、データセットと、データセットに含まれる FHIR ストア、HL7v2 ストア、または DICOM ストアが完全に削除されます。

curl

データセットを削除するには、データセットの名前とアクセス トークンを指定して DELETE リクエストを行います。次のサンプルは、curl を使用した DELETE リクエストを示しています。

curl -X DELETE \
     -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
     "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID"

リクエストが成功すると、サーバーは JSON 形式のレスポンスを返します。

{}

PowerShell

データセットを削除するには、データセットの名前とアクセス トークンを指定して DELETE リクエストを行います。次のサンプルは、Windows PowerShell を使用した DELETE リクエストを示しています。

$cred = gcloud auth application-default print-access-token
$headers = @{ Authorization = "Bearer $cred" }

Invoke-WebRequest `
  -Method Delete `
  -Headers $headers `
  -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID" | Select-Object -Expand Content

リクエストが成功すると、サーバーは JSON 形式のレスポンスを返します。

{}

次のステップ