DICOM-Speicherklasse ändern

Auf dieser Seite wird beschrieben, wie Sie die Speicherklasse für DICOM-Daten in der Cloud Healthcare API ändern.

Überblick

Die Cloud Healthcare API bietet die folgenden Speicherklassen:

  • Standard
  • Nearline
  • Coldline
  • Archiv

Diese Speicherklassen ähneln den Speicherklassen in Cloud Storage.

In folgenden Szenarien können Sie die Speicherklasse Ihres DICOM-Objekts als kostensparende Maßnahme ändern:

  • Verschieben einer Reihe von DICOM-Bildern, auf die selten zugegriffen wird, vom Standardspeicher in den Nearline- oder Coldline-Speicher. Dadurch werden die Standard-Storage-Buckets für die Speicherung von Images freigegeben, auf die häufiger zugegriffen wird.
  • Verschieben von Patientendaten aus dem Standardspeicher in den Archivspeicher, um Daten zu archivieren, die aus rechtlichen Gründen aufbewahrt werden müssen. Archive Storage ist die günstigste Speicherklasse mit hoher Langlebigkeit.

Methoden zum Ändern der DICOM-Speicherklasse

Standardmäßig hat eine DICOM-Instanz eine Standardspeicherklasse. Sie können die Speicherklasse mit den folgenden Methoden ändern:

  • Die Methode import: Legen Sie die Speicherklasse fest, wenn Sie eine DICOM-Instanz aus einem Cloud Storage-Bucket mit dem Feld blobStorageSettings importieren
  • Die Methode storeInstances: Legen Sie die Speicherklasse fest, wenn Sie eine DICOM-Instanz aus einem lokalen Pfad speichern.
  • Die Methode setBlobStorageSettings: Ändern der Speicherklasse einer DICOM-Instanz in einem DICOM-Speicher auf Instanz-, Serien- oder Studienebene

Hinweise

Lesen Sie die folgenden Preisinformationen, bevor Sie die Speicherklasse Ihrer DICOM-Instanzen in der Cloud Healthcare API ändern:

Speicherklasse einer DICOM-Instanz ändern

In den folgenden Beispielen wird gezeigt, wie Sie die Speicherklasse einer DICOM-Instanz auf Instanz-, Serien- oder Studienebene ändern.

Auf Instanzebene

Führen Sie die folgenden Schritte aus, um die Speicherklasse einer DICOM-Instanz auf Instanzebene zu ändern:

REST

Verwenden Sie die Methode projects.locations.datasets.dicomStores.studies.series.instances.setBlobStorageSettings.

  1. Ändern Sie die Speicherklasse der DICOM-Instanz auf Instanzebene.

    Bevor Sie die Anfragedaten verwenden, ersetzen Sie die folgenden Werte:

    • PROJECT_ID ist die ID Ihres Google Cloud-Projekts
    • LOCATION ist der Standort des Datasets
    • DATASET_ID ist das übergeordnete Dataset des DICOM-Speichers
    • DICOM_STORE_ID ist die ID des DICOM-Speichers
    • STUDY_INSTANCE_UID: die eindeutige Kennung der Studieninstanz
    • SERIES_INSTANCE_UID: die eindeutige Kennung der Serieninstanz
    • INSTANCE_UID: die eindeutige Kennung der Instanz
    • STORAGE_CLASS: die Speicherklasse für das DICOM-Objekt im DICOM-Speicher aus STANDARD, NEARLINE, COLDLINE und ARCHIVE

    JSON-Text anfordern:

    {
      "blobStorageSettings": {
        "blob_storage_class": "STORAGE_CLASS"
      }
    }
    

    Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:

    curl

    Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json. Führen Sie folgenden Befehl im Terminal aus, um diese Datei im aktuellen Verzeichnis zu erstellen oder zu überschreiben:

    cat > request.json << 'EOF'
    {
      "blobStorageSettings": {
        "blob_storage_class": "STORAGE_CLASS"
      }
    }
    EOF

    Führen Sie dann folgenden Befehl aus, um Ihre REST-Anfrage zu senden:

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -d @request.json \
    "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID/dicomWeb/studies/STUDY_INSTANCE_UID/series/SERIES_INSTANCE_UID/instance/INSTANCE_UID:setBlobStorageSettings"

    PowerShell

    Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json. Führen Sie folgenden Befehl im Terminal aus, um diese Datei im aktuellen Verzeichnis zu erstellen oder zu überschreiben:

    @'
    {
      "blobStorageSettings": {
        "blob_storage_class": "STORAGE_CLASS"
      }
    }
    '@  | Out-File -FilePath request.json -Encoding utf8

    Führen Sie dann folgenden Befehl aus, um Ihre REST-Anfrage zu senden:

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

    Invoke-WebRequest `
    -Method POST `
    -Headers $headers `
    -ContentType: "application/json" `
    -InFile request.json `
    -Uri "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID/dicomWeb/studies/STUDY_INSTANCE_UID/series/SERIES_INSTANCE_UID/instance/INSTANCE_UID:setBlobStorageSettings" | Select-Object -Expand Content
    Die Ausgabe sieht so aus. Die Antwort enthält eine Kennung für einen Vorgang mit langer Ausführungszeit. Lang andauernde Vorgänge werden zurückgegeben, wenn die Ausführung von Methodenaufrufen sehr lange dauern kann. Notieren Sie sich den Wert von OPERATION_ID. Sie benötigen diesen Wert im nächsten Schritt.
  2. Rufen Sie den Status des Vorgangs mit langer Ausführungszeit ab.

    Bevor Sie die Anfragedaten verwenden, ersetzen Sie die folgenden Werte:

    • PROJECT_ID ist die ID Ihres Google Cloud-Projekts
    • LOCATION ist der Standort des Datasets
    • DATASET_ID: das übergeordnete Dataset des DICOM-Speichers
    • OPERATION_ID ist die ID, die vom lang andauernden Vorgang zurückgegeben wurde

    Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:

    curl

    Führen Sie folgenden Befehl aus:

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

    PowerShell

    Führen Sie folgenden Befehl aus:

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

    Invoke-WebRequest `
    -Method GET `
    -Headers $headers `
    -Uri "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID" | Select-Object -Expand Content
    Wenn der lang andauernde Vorgang noch ausgeführt wird, gibt der Server eine Antwort mit der Anzahl der DICOM-Instanzen zurück, bei denen eine Änderung der Speicherklasse aussteht. Wenn der Vorgang erfolgreich abgeschlossen wurde, gibt der Server eine Antwort mit dem Status des Vorgangs im JSON-Format zurück:

Auf Buchreihenebene

Führen Sie die folgenden Schritte aus, um die Speicherklasse einer DICOM-Instanz auf Serienebene zu ändern:

REST

Verwenden Sie die Methode projects.locations.datasets.dicomStores.studies.series.setBlobStorageSettings.

  1. Ändern Sie die Speicherklasse der DICOM-Instanz auf Serienebene.

    Bevor Sie die Anfragedaten verwenden, ersetzen Sie die folgenden Werte:

    • PROJECT_ID ist die ID Ihres Google Cloud-Projekts
    • LOCATION ist der Standort des Datasets
    • DATASET_ID ist das übergeordnete Dataset des DICOM-Speichers
    • DICOM_STORE_ID ist die ID des DICOM-Speichers
    • STUDY_INSTANCE_UID: die eindeutige Kennung der Studieninstanz
    • SERIES_INSTANCE_UID: die eindeutige Kennung der Serieninstanz
    • STORAGE_CLASS: die Speicherklasse für das DICOM-Objekt im DICOM-Speicher aus STANDARD, NEARLINE, COLDLINE und ARCHIVE

    JSON-Text anfordern:

    {
      "blobStorageSettings": {
        "blob_storage_class": "STORAGE_CLASS"
      }
    }
    

    Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:

    curl

    Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json. Führen Sie folgenden Befehl im Terminal aus, um diese Datei im aktuellen Verzeichnis zu erstellen oder zu überschreiben:

    cat > request.json << 'EOF'
    {
      "blobStorageSettings": {
        "blob_storage_class": "STORAGE_CLASS"
      }
    }
    EOF

    Führen Sie dann folgenden Befehl aus, um Ihre REST-Anfrage zu senden:

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -d @request.json \
    "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID/dicomWeb/studies/STUDY_INSTANCE_UID/series/SERIES_INSTANCE_UID:setBlobStorageSettings"

    PowerShell

    Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json. Führen Sie folgenden Befehl im Terminal aus, um diese Datei im aktuellen Verzeichnis zu erstellen oder zu überschreiben:

    @'
    {
      "blobStorageSettings": {
        "blob_storage_class": "STORAGE_CLASS"
      }
    }
    '@  | Out-File -FilePath request.json -Encoding utf8

    Führen Sie dann folgenden Befehl aus, um Ihre REST-Anfrage zu senden:

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

    Invoke-WebRequest `
    -Method POST `
    -Headers $headers `
    -ContentType: "application/json" `
    -InFile request.json `
    -Uri "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID/dicomWeb/studies/STUDY_INSTANCE_UID/series/SERIES_INSTANCE_UID:setBlobStorageSettings" | Select-Object -Expand Content
    Die Ausgabe sieht so aus. Die Antwort enthält eine Kennung für einen Vorgang mit langer Ausführungszeit. Lang andauernde Vorgänge werden zurückgegeben, wenn die Ausführung von Methodenaufrufen sehr lange dauern kann. Notieren Sie sich den Wert von OPERATION_ID. Sie benötigen diesen Wert im nächsten Schritt.
  2. Rufen Sie den Status des Vorgangs mit langer Ausführungszeit ab.

    Bevor Sie die Anfragedaten verwenden, ersetzen Sie die folgenden Werte:

    • PROJECT_ID ist die ID Ihres Google Cloud-Projekts
    • LOCATION ist der Standort des Datasets
    • DATASET_ID: das übergeordnete Dataset des DICOM-Speichers
    • OPERATION_ID ist die ID, die vom lang andauernden Vorgang zurückgegeben wurde

    Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:

    curl

    Führen Sie folgenden Befehl aus:

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

    PowerShell

    Führen Sie folgenden Befehl aus:

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

    Invoke-WebRequest `
    -Method GET `
    -Headers $headers `
    -Uri "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID" | Select-Object -Expand Content
    Wenn der lang andauernde Vorgang noch ausgeführt wird, gibt der Server eine Antwort mit der Anzahl der DICOM-Instanzen zurück, bei denen eine Änderung der Speicherklasse aussteht. Wenn der Vorgang erfolgreich abgeschlossen wurde, gibt der Server eine Antwort mit dem Status des Vorgangs im JSON-Format zurück:

Auf Lernebene

Führen Sie die folgenden Schritte aus, um die Speicherklasse einer DICOM-Instanz auf Studienebene zu ändern:

REST

Verwenden Sie die Methode projects.locations.datasets.dicomStores.studies.setBlobStorageSettings.

  1. Ändern Sie die Speicherklasse der DICOM-Instanz auf Studienebene.

    Bevor Sie die Anfragedaten verwenden, ersetzen Sie die folgenden Werte:

    • PROJECT_ID ist die ID Ihres Google Cloud-Projekts
    • LOCATION ist der Standort des Datasets
    • DATASET_ID ist das übergeordnete Dataset des DICOM-Speichers
    • DICOM_STORE_ID ist die ID des DICOM-Speichers
    • STUDY_INSTANCE_UID: die eindeutige Kennung der Studieninstanz
    • STORAGE_CLASS: die Speicherklasse für das DICOM-Objekt im DICOM-Speicher aus STANDARD, NEARLINE, COLDLINE und ARCHIVE

    JSON-Text anfordern:

    {
      "blobStorageSettings": {
        "blob_storage_class": "STORAGE_CLASS"
      }
    }
    

    Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:

    curl

    Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json. Führen Sie folgenden Befehl im Terminal aus, um diese Datei im aktuellen Verzeichnis zu erstellen oder zu überschreiben:

    cat > request.json << 'EOF'
    {
      "blobStorageSettings": {
        "blob_storage_class": "STORAGE_CLASS"
      }
    }
    EOF

    Führen Sie dann folgenden Befehl aus, um Ihre REST-Anfrage zu senden:

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -d @request.json \
    "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID/dicomWeb/studies/STUDY_INSTANCE_UID:setBlobStorageSettings"

    PowerShell

    Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json. Führen Sie folgenden Befehl im Terminal aus, um diese Datei im aktuellen Verzeichnis zu erstellen oder zu überschreiben:

    @'
    {
      "blobStorageSettings": {
        "blob_storage_class": "STORAGE_CLASS"
      }
    }
    '@  | Out-File -FilePath request.json -Encoding utf8

    Führen Sie dann folgenden Befehl aus, um Ihre REST-Anfrage zu senden:

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

    Invoke-WebRequest `
    -Method POST `
    -Headers $headers `
    -ContentType: "application/json" `
    -InFile request.json `
    -Uri "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID/dicomWeb/studies/STUDY_INSTANCE_UID:setBlobStorageSettings" | Select-Object -Expand Content
    Die Ausgabe sieht so aus. Die Antwort enthält eine Kennung für einen Vorgang mit langer Ausführungszeit. Lang andauernde Vorgänge werden zurückgegeben, wenn die Ausführung von Methodenaufrufen sehr lange dauern kann. Notieren Sie sich den Wert von OPERATION_ID. Sie benötigen diesen Wert im nächsten Schritt.
  2. Rufen Sie den Status des Vorgangs mit langer Ausführungszeit ab.

    Bevor Sie die Anfragedaten verwenden, ersetzen Sie die folgenden Werte:

    • PROJECT_ID ist die ID Ihres Google Cloud-Projekts
    • LOCATION ist der Standort des Datasets
    • DATASET_ID: das übergeordnete Dataset des DICOM-Speichers
    • OPERATION_ID ist die ID, die vom lang andauernden Vorgang zurückgegeben wurde

    Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:

    curl

    Führen Sie folgenden Befehl aus:

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

    PowerShell

    Führen Sie folgenden Befehl aus:

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

    Invoke-WebRequest `
    -Method GET `
    -Headers $headers `
    -Uri "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID" | Select-Object -Expand Content
    Wenn der lang andauernde Vorgang noch ausgeführt wird, gibt der Server eine Antwort mit der Anzahl der DICOM-Instanzen zurück, bei denen eine Änderung der Speicherklasse aussteht. Wenn der Vorgang erfolgreich abgeschlossen wurde, gibt der Server eine Antwort mit dem Status des Vorgangs im JSON-Format zurück:

Filter verwenden

Im folgenden Abschnitt wird gezeigt, wie Sie mithilfe einer Filterdatei bestimmte Instanzen filtern und ihre Speicherklasse auf Studien-, Serien- oder Instanzebene ändern.

Sie müssen dem Dienstkonto Healthcare-Dienst-Agent die Rolle Storage Object Viewer hinzufügen, das Zugriff auf den Bucket hat, in dem die Filterdatei gespeichert ist.

Filterdatei konfigurieren

Mit einer Filterdatei können Sie die Liste der DICOM-Dateien definieren, deren Speicherklasse geändert werden muss.

Jede Zeile in der Filterdatei definiert die Studie, Serie oder Instanz und verwendet das Format /studies/STUDY_INSTANCE_UID/series/SERIES_INSTANCE_UID/instances/INSTANCE_UID.

Sie können eine Zeile abschneiden, um festzulegen, auf welcher Ebene der Filter funktioniert. Sie können beispielsweise die Speicherklasse einer gesamten Studie ändern, indem Sie /studies/STUDY_INSTANCE_UID angeben, oder die Speicherklasse einer ganzen Reihe, indem Sie /studies/STUDY_INSTANCE_UID/series/SERIES_INSTANCE_UID angeben.

Betrachten Sie die folgende Filterdatei:

/studies/1.123.456.789
/studies/1.666.333.111/series/123.456
/studies/1.666.333.111/series/567.890
/studies/1.888.999.222/series/123.456/instances/111
/studies/1.888.999.222/series/123.456/instances/222
/studies/1.888.999.222/series/123.456/instances/333

Mit dieser Filterdatei wird Folgendes gefiltert:

  • Die gesamte Studie mit der UID der Studieninstanz als 1.123.456.789
  • Zwei separate Reihen mit Serieninstanz-UIDs wie 123.456 und 567.890 in der Studie 1.666.333.111
  • Drei einzelne Instanzen mit Instanz-IDs als 111, 222 und 333 in der Studie 1.888.999.222 und der Serie 123.456

Filterdatei mit BigQuery erstellen

Zum Erstellen einer Filterdatei mit BigQuery müssen Sie die Metadaten Ihres DICOM-Speichers nach BigQuery exportieren. Die exportierten Metadaten zeigen die Studien-, Reihen- und Instanz-UIDs der DICOM-Daten in Ihrem DICOM-Speicher.

Führen Sie nach dem Export die folgenden Schritte aus:

  1. Fragen Sie die erforderlichen Studien-, Reihen- und Instanz-UIDs ab.

    Führen Sie nach dem Exportieren von DICOM-Metadaten nach BigQuery beispielsweise die folgende Abfrage aus, um die Studien-, Reihen- und Instanz-UIDs zu verketten, damit sie den Anforderungen an das Filterdateiformat entsprechen:

    SELECT CONCAT
        ('/studies/', StudyInstanceUID, '/series/', SeriesInstanceUID, '/instances/', SOPInstanceUID)
    FROM
        [PROJECT_ID:BIGQUERY_DATASET.BIGQUERY_TABLE]
    
  2. Optional: Wenn die Abfrage eine große Ergebnismenge zurückgibt, die die maximale Antwortgröße überschreitet, speichern Sie die Abfrageergebnisse in einer neuen Zieltabelle in BigQuery.

  3. Speichern Sie die Abfrageergebnisse in einer Datei und exportieren Sie sie in Cloud Storage. Wenn Sie die Abfrageergebnisse in Schritt 2 in einer neuen Zieltabelle gespeichert haben, erfahren Sie unter Tabellendaten exportieren, wie Sie die Inhalte der Tabelle nach Cloud Storage exportieren.

  4. Bearbeiten Sie die exportierte Datei nach Bedarf und verwenden Sie sie als Filterdatei. Der Speicherort der Filterdatei in Cloud Storage ist in der Methode setBlobStorageSettings erforderlich.

Filterdatei manuell erstellen

So erstellen Sie eine Filterdatei mit benutzerdefiniertem Inhalt und laden sie in einen Cloud Storage-Bucket hoch:

  1. Erstellen Sie eine Filterdatei mit einer Liste von Instanzen, deren Speicherklasse auf dem lokalen Computer geändert werden muss. Verwenden Sie das im Abschnitt Filterdatei konfigurieren beschriebene Format.

  2. Laden Sie die Filtertextdatei an einen Cloud Storage-Speicherort hoch.

    gsutil cp PATH_TO_FILTER_FILE/FILTER_FILE_NAME.txt gs://BUCKET/DIRECTORY
    

    Ersetzen Sie Folgendes:

    • PATH_TO_FILTER_FILE: der Pfad zur Filterdatei auf Ihrem lokalen Computer
    • FILTER_FILE_NAME: der Name der Filterdatei
    • BUCKET/DIRECTORY: der Pfad zum Cloud Storage-Speicherort

    Beispiel:

    gsutil cp my-local-folder/archive-filters.txt gs://my-bucket/my-directory
    

Filterdatei übergeben

REST

  1. Verwenden Sie die Methode projects.locations.datasets.dicomStores.studies.setBlobStorageSettings, um die Speicherklasse aller Instanzen in der Filterdatei auf DICOM-Speicherebene zu ändern.

    Bevor Sie die Anfragedaten verwenden, ersetzen Sie die folgenden Werte:

    • PROJECT_ID ist die ID Ihres Google Cloud-Projekts
    • LOCATION ist der Standort des Datasets
    • DATASET_ID ist das übergeordnete Dataset des DICOM-Speichers
    • DICOM_STORE_ID ist die ID des DICOM-Speichers
    • STORAGE_CLASS: die Speicherklasse für das DICOM-Objekt im DICOM-Speicher aus STANDARD, NEARLINE, COLDLINE und ARCHIVE
    • BUCKET/DIRECTORY

    JSON-Text anfordern:

    {
      "filter_config": {
        "resource_paths_gcs_uri": "gs://BUCKET/DIRECTORY"
      },
      "blobStorageSettings": {
        "blob_storage_class": "STORAGE_CLASS"
      }
    }
    

    Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:

    curl

    Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json. Führen Sie folgenden Befehl im Terminal aus, um diese Datei im aktuellen Verzeichnis zu erstellen oder zu überschreiben:

    cat > request.json << 'EOF'
    {
      "filter_config": {
        "resource_paths_gcs_uri": "gs://BUCKET/DIRECTORY"
      },
      "blobStorageSettings": {
        "blob_storage_class": "STORAGE_CLASS"
      }
    }
    EOF

    Führen Sie dann folgenden Befehl aus, um Ihre REST-Anfrage zu senden:

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -d @request.json \
    "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID:setBlobStorageSettings"

    PowerShell

    Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json. Führen Sie folgenden Befehl im Terminal aus, um diese Datei im aktuellen Verzeichnis zu erstellen oder zu überschreiben:

    @'
    {
      "filter_config": {
        "resource_paths_gcs_uri": "gs://BUCKET/DIRECTORY"
      },
      "blobStorageSettings": {
        "blob_storage_class": "STORAGE_CLASS"
      }
    }
    '@  | Out-File -FilePath request.json -Encoding utf8

    Führen Sie dann folgenden Befehl aus, um Ihre REST-Anfrage zu senden:

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

    Invoke-WebRequest `
    -Method POST `
    -Headers $headers `
    -ContentType: "application/json" `
    -InFile request.json `
    -Uri "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID:setBlobStorageSettings" | Select-Object -Expand Content
    Die Ausgabe sieht so aus. Die Antwort enthält eine Kennung für einen Vorgang mit langer Ausführungszeit. Lang andauernde Vorgänge werden zurückgegeben, wenn die Ausführung von Methodenaufrufen sehr lange dauern kann. Notieren Sie sich den Wert von OPERATION_ID. Sie benötigen diesen Wert im nächsten Schritt.

  2. Rufen Sie den Status des Vorgangs mit langer Ausführungszeit ab.

    Bevor Sie die Anfragedaten verwenden, ersetzen Sie die folgenden Werte:

    • PROJECT_ID ist die ID Ihres Google Cloud-Projekts
    • LOCATION ist der Standort des Datasets
    • DATASET_ID: das übergeordnete Dataset des DICOM-Speichers
    • OPERATION_ID ist die ID, die vom lang andauernden Vorgang zurückgegeben wurde

    Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:

    curl

    Führen Sie folgenden Befehl aus:

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

    PowerShell

    Führen Sie folgenden Befehl aus:

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

    Invoke-WebRequest `
    -Method GET `
    -Headers $headers `
    -Uri "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID" | Select-Object -Expand Content
    Wenn der lang andauernde Vorgang noch ausgeführt wird, gibt der Server eine Antwort mit der Anzahl der DICOM-Instanzen zurück, bei denen eine Änderung der Speicherklasse aussteht. Wenn der Vorgang erfolgreich abgeschlossen wurde, gibt der Server eine Antwort mit dem Status des Vorgangs im JSON-Format zurück:

Speicherklasse einer DICOM-Instanz prüfen

getStorageInfo-Methode verwenden

In den folgenden Beispielen wird gezeigt, wie Sie die Speicherklasse einer DICOM-Instanz anzeigen.

REST

Verwenden Sie die Methode projects.locations.datasets.dicomStores.dicomWeb.studies.series.instances.getStorageInfo.

Bevor Sie die Anfragedaten verwenden, ersetzen Sie die folgenden Werte:

  • PROJECT_ID ist die ID Ihres Google Cloud-Projekts
  • LOCATION ist der Standort des Datasets
  • DATASET_ID ist das übergeordnete Dataset des DICOM-Speichers
  • DICOM_STORE_ID ist die ID des DICOM-Speichers
  • STUDY_INSTANCE_UID: die eindeutige Kennung der Studieninstanz
  • SERIES_INSTANCE_UID: die eindeutige Kennung der Serieninstanz
  • INSTANCE_UID: die eindeutige Kennung der Instanz

Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:

curl

Führen Sie folgenden Befehl aus:

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID/dicomWeb/studies/STUDY_INSTANCE_UID/series/SERIES_INSTANCE_UID/instances/INSTANCE_UID:getStorageInfo"

PowerShell

Führen Sie folgenden Befehl aus:

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

Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/dicomStores/DICOM_STORE_ID/dicomWeb/studies/STUDY_INSTANCE_UID/series/SERIES_INSTANCE_UID/instances/INSTANCE_UID:getStorageInfo" | Select-Object -Expand Content

Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:

Exportierte DICOM-Metadaten in BigQuery abfragen

Sie können auch DICOM-Metadaten nach BigQuery exportieren und das BigQuery-Dataset abfragen, um die Speicherklassen von DICOM-Instanzen anzusehen.

Sie können beispielsweise die folgende Abfrage ausführen, um die UID der Studieninstanz, die Serieninstanz-UID, die Instanz-UID, die Blob-Speichergröße und die Blob-Speicherklasse aller Instanzen im BigQuery-Dataset anzeigen zu lassen:

SELECT StudyInstanceUID,SeriesInstanceUID,SOPInstanceUID,BlobStorageSize,StorageClass FROM PROJECT_ID:BIGQUERY_DATASET.BIGQUERY_TABLE LIMIT 1000