Kategorien:

Systemfunktionen (Systeminformationen)

SYSTEM$VALIDATE_STORAGE_INTEGRATION

Validiert die Konfiguration einer angegebenen Speicherintegration. Die Funktion versucht, über die Speicherintegration eine Datei für einen Speicherort, den Sie über den Pfad angeben, zu schreiben, zu lesen, aufzulisten oder zu löschen.

Weitere Informationen zur Konfiguration von Speicherintegrationen finden Sie unter:

Siehe auch:

CREATE STORAGE INTEGRATION, ALTER STORAGE INTEGRATION

Syntax

SYSTEM$VALIDATE_STORAGE_INTEGRATION( '<storage_integration_name>', '<storage_path>', '<test_file_name>', '<validate_action>' )
Copy

Argumente

storage_integration_name

Name der zu testenden Speicherintegration.

Bei den Namen der Speicherintegration wird zwischen Groß- und Kleinschreibung unterschieden.

storage_path

Der vollständige Pfad zu einem Speicherort, den Sie validieren möchten. Der Speicherpfad muss eine URL in der STORAGE_ALLOWED_LOCATIONS-Liste der Speicherintegration sein.

Amazon S3

's3://bucket/path/'

  • Das Präfix s3 bezieht sich auf S3-Speicher in öffentlichen AWS-Regionen. Das Präfix s3gov bezieht sich auf S3-Speicher in Regionen für Regierungsbehörden.

  • bucket ist der Name des S3-Buckets, in dem Ihre Datendateien gespeichert sind.

  • path ist ein optionaler Pfad oder ein Verzeichnis im Bucket.

Google Cloud Storage

'gcs://bucket/path/'

  • bucket ist der Name des GCS-Buckets, in dem Ihre Datendateien gespeichert sind.

  • path ist ein optionaler Pfad oder ein Verzeichnis im Bucket.

Microsoft Azure

'azure://account.blob.core.windows.net/container/path/'

  • account ist der Name des Azure-Speicherkontos.

  • container ist der Name des Azure-Blobspeichers, in dem Ihre Datendateien gespeichert sind.

  • path ist ein optionaler Pfad oder ein Verzeichnis im Bucket.

test_file_name

Der Name der Datei, die für die Validierung der Speicherintegration verwendet werden soll.

validate_action

Die auszuführende Validierungsaktion.

Werte:
  • read – Validiert, ob Snowflake von dem Speicherort lesen kann. Diese Aktion schlägt fehl, wenn die Datei nicht existiert.

  • write – Validiert, ob Snowflake auf den Speicherort schreiben kann. Diese Aktion schlägt fehl, wenn die Datei bereits existiert.

  • list – Validiert, ob Snowflake die Dateien des Speicherorts auflisten kann.

  • delete – Validiert, ob Snowflake Dateien des Speicherorts löschen kann.

  • all – Validiert alle möglichen Aktionen am Speicherort.

Rückgabewerte

Die Funktion gibt ein JSON-Objekt mit den unten beschriebenen Eigenschaften zurück:

Eigenschaft

Beschreibung

status

Der Status des Validierungstests. Gibt den Status success zurück, wenn alle Aktionen erfolgreich abgeschlossen wurden. Gibt failure zurück, wenn eine Aktion nicht wie erwartet abgeschlossen werden konnte.

actions

Array von Objekten, die die angeforderte Validierungsaktion (READ, DELETE, LIST, WRITE) und den angeforderten Stauts enthalten.

{
  "status" : "success",
  "actions" : {
    "READ" : {
      "status" : "success"
    },
    "DELETE" : {
      "status" : "success"
    },
    "LIST" : {
      "status" : "success"
    },
    "WRITE" : {
      "status" : "success"
    }
  }
}
Copy

Beispiele

Das folgende Beispiel validiert die Konfiguration der Speicherintegration example_integration für alle Validierungsaktionen. Das Beispiel gibt ein erfolgreiches Ergebnis in JSON zurück.

SELECT
  SYSTEM$VALIDATE_STORAGE_INTEGRATION(
    'example_integration',
    's3://example_bucket/test_path/'',
    'validate_all.txt', 'all');
Copy

Ausgabe:

+----------------------------+
|           RESULT           |
+----------------------------+
| {                          |
|   "status" : "success",    |
|   "actions" : {            |
|     "READ" : {             |
|       "status" : "success" |
|     },                     |
|     "DELETE" : {           |
|       "status" : "success" |
|     },                     |
|     "LIST" : {             |
|       "status" : "success" |
|     },                     |
|     "WRITE" : {            |
|       "status" : "success" |
|     }                      |
|   }                        |
| }                          |
+----------------------------+

Das folgende Beispiel zeigt das Ergebnis, wenn die Speicherintegration nicht über die read-Berechtigung verfügt.

SELECT
  SYSTEM$VALIDATE_STORAGE_INTEGRATION(
    'example_integration',
    'gcs://example_bucket/test_path/'',
    'read_fail.txt', 'all');
Copy

Ausgabe:

+----------------------------------------------------------------------------------------------------------------+
|                                                     RESULT                                                     |
+----------------------------------------------------------------------------------------------------------------+
| {                                                                                                              |
|   "status" : "failure",                                                                                        |
|   "actions" : {                                                                                                |
|     "READ" : {                                                                                                 |
|       "message" : "Access Denied (Status Code: 403; Error Code: AccessDenied)",                                |
|       "status" : "failure"                                                                                     |
|     },                                                                                                         |
|     "DELETE" : {                                                                                               |
|       "status" : "success"                                                                                     |
|     },                                                                                                         |
|     "LIST" : {                                                                                                 |
|       "status" : "success"                                                                                     |
|     },                                                                                                         |
|     "WRITE" : {                                                                                                |
|       "status" : "success"                                                                                     |
|     }                                                                                                          |
|   },                                                                                                           |
|   "message" : "Some of the integration checks failed. Check the Snowflake documentation for more information." |
| }                                                                                                              |
+----------------------------------------------------------------------------------------------------------------+