Bearbeiten

Share via


Anforderung/Antwort-Nachrichten in Gridwich

Azure Logic Apps
Azure Storage

In diesem Artikel werden die spezifischen Event Grid-Ereignisse erläutert, die die Anforderung/Antwort-Sequenz für verschiedene Gridwich-Vorgänge bilden.

Gridwich-Ereignisse

Die Gridwich-Bestätigung und der Gridwich-Fehler unterscheiden sich von anderen Gridwich-Ereignissen. Dies gilt insbesondere in folgenden Fällen:

  • Die Gridwich-Bestätigung gibt an, dass Gridwich die Anforderung aus einer Anforderung/Bestätigung/Antwort-Sequenz empfangen, aber noch nicht unbedingt verarbeitet hat.
  • Jeder Vorgang verfügt über mindestens ein eindeutiges Erfolgsereignis. Fast alle Vorgänge verwenden hingegen dasselbe Gridwich-Fehlerereignis, um einen Fehler zu kommunizieren.

Codierungsereignisse

Blob- und Containerspeicherereignisse

Speicherschlüssel

Vorgangskontext

Gridwich akzeptiert ein JSON-operationContext-Objekt als Teil der Anforderungsnachrichten. Im Allgemeinen gibt Gridwich ein entsprechendes Objekt in Antwortnachrichten zurück und befasst sich nicht mit der genauen internen Struktur oder dem Inhalt des Kontextobjekts.

Die Ausnahme ist, dass das Antwortkontextobjekt im Vergleich zum Anforderungsgegenstück zusätzliche JSON-Eigenschaften aufweisen kann. Diese zusätzlichen Eigenschaften sind intern in Gridwich verfügbar, und ihre Namen beginnen immer mit einer Tilde ~. Die Anforderungseigenschaften sind immer im Antwortkontextobjekt vorhanden.

Wie im normalen JSON-Code können die Eigenschaften des Antwortobjekts in einer anderen Reihenfolge als im Anforderungsobjekt aufweisen.

Weitere Informationen zum Vorgangskontext finden Sie im Artikel zur Gridwich-Architektur unter Vorgangskontext.

Event Grid-Nachrichten

Weitere Informationen zum Anforderung/Antwort-Nachrichtenflow finden Sie unter Gridwich-Cloudmediensystem.

In den folgenden Ereignisbeschreibungen weisen die JSON-Eigenschaftswerte die üblichen Typen (Zeichenfolge, numerisch oder boolesch) auf. In den Beschreibungen werden die folgenden spezifischen Zeichenfolgeninhaltstypen verwendet. Wenn die Beschreibung die Bezeichnung „opak“ enthält, sind der Inhalt und das Format des Werts willkürlich.

  • GUID-string, z. B. "b621f33d-d01e-0002-7ae5-4008f006664e", ist ein 16-Byte-ID-Wert, der 36 Zeichen (32 Hexadezimalziffern und 4 Bindestriche) umfasst. Beachten Sie das Fehlen von geschweiften Klammern. Bei diesem Wert wird die Groß-/Kleinschreibung nicht beachtet. Dieses Format entspricht dem Ergebnis von System.GUID.ToString("D").
  • Topic-string, z. B. "/subscriptions/5edeadbe-ef64-4022-a3aa-133bfef1d7a2/resourceGroups/gws-shared-rg-sb/providers/Microsoft.EventGrid/topics/gws-gws-egt-sb", ist eine Zeichenfolge von opakem Inhalt.
  • Subject-string, z. B. "/blobServices/default/containers/telestreamoutput/blobs/db08122195b66be71db9e54ae04c58df/503220533TAGHD23976fps16x990266772067587.mxf", ist eine Zeichenfolge von opakem Inhalt.
  • EventType-string, z. B. "request.operation.requested", ist im Allgemeinen eine Zeichenfolge im Format {"request"|"response"}.operation[.qualifier].
  • DataVersion-string, z. B. "1.0", ist ein Indikator für die Versionsverwaltung, anhand dessen Nachrichtenverarbeiter unterschiedliche Entwicklungen desselben Vorgangs unterscheiden. Für Gridwich ist dies ein Pflichtfeld. Die Methode HandlesEvent bestimmt, welche Versionen ein einzelner Event Grid-Handler verarbeiten kann.
  • URL-string ist eine absolute URL, die häufig auf Application Insights-Protokolle verweist. Diese Zeichenfolgen stellen aufgrund von Zielautorisierungsanforderungen in der Regel eine SAS-URL dar.
  • StorageURL-string ist eine absolute URL, die häufig auf eine Azure Storage Blob-Instanz oder einen Container verweist. Bei dieser Zeichenfolge handelt es sich normalerweise nicht um eine SAS-URL.
  • StorageURL-SAS-string ist eine absolute SAS-URL, die häufig auf eine Azure Storage Blob-Instanz oder einen Container verweist.
  • OperationContextObject, z. B. { "prodID": 10, "dc": "abc" }, ist ein beliebiges JSON-Objekt, das bei eingehenden Anforderungen akzeptiert und als Teil von Gridwich-Antwortereignissen zurückgegeben wird.
  • Metadata-Dictionary ist ein String-to-String-JSON-Objektwörterbuch, wobei die Name/Wert-Paare die Metadaten für Azure Storage Blob darstellen.
  • Encoder-Context ist ein opakes JSON-Objekt von Eigenschaften, die für einen bestimmten Encoder spezifisch sind.

Allgemeine Bestätigungsantwort von Gridwich

Für Nachrichten von Gridwich an den Anforderer wird ResponseAcknowledgeDTO verwendet.

{
    "id": "GUID-string",
    "topic": "Topic-string",
    "subject": "Subject-string",
    "dataVersion": "DataVersion-string",
    "data": {
        "operationContext": <OperationContextObject>,
        "eventType": "request.blob.metadata.create"
    },
    "eventType": "response.acknowledge"
}

Beim Zeichenfolgenwert von data.eventType handelt es sich um die eventType-Eigenschaft der obersten Ebene des Anforderungsereignisses. Für eine Blobanalyseanforderung lautet der Zeichenfolgenwert von data.eventType beispielsweise request.blob.analysis.create.

Allgemeine Fehlerantwort in Gridwich

Für Nachrichten von Gridwich an den Anforderer wird ResponseFailureDTO verwendet.

{
    "id": "GUID-string",
    "topic": "Topic-string",
    "subject": "Subject-string",
    "dataVersion": "DataVersion-string",
    "data": {
        "operationContext": <OperationContextObject>,
        "logEventId": 30001,
        "logEventMessage": "the message text for eventId 30001",
        "logRecordId": "GUID-string",
        "logRecordUrl": "URL-string", // AppInsight URL to the logRecordId
        "eventHandlerClassName": "string",
        "handlerId": "GUID-string"
    },
    "eventType": "response.failure"
}

Das Fehlerereignis enthält nicht den ursprünglichen eventType-Wert der Anforderung, sondern den Vorgangskontext und den Namen des Handlers, der die Anforderung verarbeitet hat. Die log*-Eigenschaften beziehen sich auf die Probleminformationen, die von der konfigurierten Application Insights-Instanz erfasst wurden.

Bei einer begrenzten Anzahl von Vorgängen unterscheidet sich das Fehlerereignisobjekt erheblich von der vorangehenden Nachricht. Weitere Informationen finden Sie unter Rotieren von Speicherschlüsseln.

Der Anforderer fordert Gridwich zum Platzieren einiger Metadaten in einem Blob auf

Für Nachrichten vom Anforderer an Gridwich wird RequestBlobMetadataCreateDTO verwendet.

{
    "id": "GUID-string",
    "topic": "Topic-string",
    "subject": "Subject-string",
    "dataVersion": "DataVersion-string",
    "data": {
        "operationContext": <OperationContextObject>,
        "blobUri": "StorageURL-string",
        "blobMetadata": <Metadata-Dictionary>
    },
    "eventType": "request.blob.metadata.create"
}

blobMetadata ist ein Objekt von Eigenschaften mit Zeichenfolgenwerten, die alle Name/Wert-Paare der Metadaten des gewünschten Blobs darstellen.

Für Nachrichten von Gridwich an den Anforderer wird ResponseBlobMetadataSuccessDTO verwendet.

{
    "id": "GUID-string",
    "topic": "Topic-string",
    "subject": "Subject-string",
    "dataVersion": "DataVersion-string",
    "data": {
        "operationContext": <OperationContextObject>,
        "blobUri": "StorageURL-string",
        "blobMetadata": <Metadata-Dictionary>
    },
    "eventType": "response.blob.metadata.success"
}

Wenn Sie später die aktuellen Metadaten für ein Blob abrufen möchten, finden Sie weitere Informationen unter der Anforderung Analysieren von Blobs.

Der Anforderer fordert Gridwich zum Analysieren eines Blobs mithilfe von MediaInfo auf

Für Nachrichten vom Anforderer an Gridwich wird RequestBlobAnalysisCreateDTO verwendet.

{
    "id": "GUID-string",
    "topic": "Topic-string",
    "subject": "Subject-string",
    "dataVersion": "DataVersion-string",
    "data": {
        "operationContext": <OperationContextObject>,
        "blobUri": "StorageURL-string",
        "analyzerSpecificData": {
            "mediaInfo": {
                  "commandLineOptions": {
                    "Complete": "1",
                    "Output": "JSON"
                  }
            }
        }
    },
    "eventType": "request.blob.analysis.create"
}

Für Nachrichten von Gridwich an den Anforderer wird ResponseBlobAnalysisSuccessDTO verwendet.

{
    "id": "GUID-string",
    "topic": "Topic-string",
    "subject": "Subject-string",
    "dataVersion": "DataVersion-string",
    "data": {
        "operationContext": <OperationContextObject>,
        "blobUri": "StorageURL-string",
        "blobMetadata": <Metadata-Dictionary>,
        "analysisResults": <Analysis-Result-Object>
    },
    "eventType": "response.blob.analysis.success"
}

Der Inhalt des analysisResults-Objekts ist nicht angegeben. Im aktuellen Projekt handelt es sich um die MediaInfo-Ausgabe.

Der blobMetadata-Wert ist ein String-to-String-Dictionary-Objekt für Eigenschaften mit Zeichenfolgenwerten, die alle Name/Wert-Paare der Metadaten des angegebenen Blobs darstellen.

Wie üblich bei Azure Storage müssen die Namen von Metadatenelementen die Benennungsregeln für C#-Bezeichner erfüllen. Weitere Informationen finden Sie im Artikel zur REST-API „SetBlobMetadata“ von Azure sowie in den Benennungsregeln für C#.

Der Anforderer fordert Gridwich zum Kopieren eines Blobs in ein neues Ziel auf

Für Nachrichten vom Anforderer an Gridwich wird RequestBlobCopyDTO verwendet.

{
    "id": "GUID-string",
    "topic": "Topic-string",
    "subject": "Subject-string",
    "dataVersion": "DataVersion-string",
    "data": {
        "operationContext": <OperationContextObject>,
        "sourceUri": "StorageURL-string",
        "destinationUri": "StorageURL-string"
    },
    "eventType": "request.blob.copy"
}

Für Nachrichten von Gridwich an den Anforderer wird ResponseBlobCopyScheduledDTO verwendet.

{
    "id": "GUID-string",
    "topic": "Topic-string",
    "subject": "Subject-string",
    "dataVersion": "DataVersion-string",
    "data": {
        "operationContext": <OperationContextObject>,
        "sourceUri": "URL-string",
        "blobMetadata": <Metadata-Dictionary>,
        "destinationUri": "StorageURL-string"
    },
    "eventType": "response.blob.copy.scheduled"
}

Gridwich benachrichtigt den Anforderer über die Bloberstellung

Gridwich hätte den Blob aus einer beliebigen Quelle erstellen können, z. B. aus einem Kopierergebnis, einem Eingang ins Postfach oder einem Codierungsergebnis.

Für Nachrichten von Gridwich an den Anforderer wird ResponseBlobCreatedSuccessDTO verwendet.

{
    "id": "GUID-string",
    "topic": "Topic-string",
    "subject": "Subject-string",
    "dataVersion": "DataVersion-string",
    "data": {
        "operationContext": <OperationContextObject>,
        "blobUri": "StorageURL-string",
        "blobMetadata": <Metadata-Dictionary>
    },
    "eventType": "response.blob.created.success"
}

Der Anforderer fordert Gridwich zur Löschung eines Blobs auf

Für Nachrichten vom Anforderer an Gridwich wird RequestBlobDeleteDTO verwendet.

{
    "id": "GUID-string",
    "topic": "Topic-string",
    "subject": "Subject-string",
    "dataVersion": "DataVersion-string",
    "data": {
        "operationContext": <OperationContextObject>,
        "blobUri": "StorageURL-string",
    },
    "eventType": "request.blob.delete"
}

Für Nachrichten von Gridwich an den Anforderer wird ResponseBlobDeleteScheduledDTO verwendet.

{
    "id": "GUID-string",
    "topic": "Topic-string",
    "subject": "Subject-string",
    "dataVersion": "DataVersion-string",
    "data": {
        "operationContext": <OperationContextObject>,
        "blobUri": "StorageURL-string",
        "blobMetadata": <Metadata-Dictionary>
    },
    "eventType": "response.blob.delete.scheduled"
}

Gridwich informiert den Anforderer über die Löschung des Blobs

Die Löschung des Blobs kann aus einer beliebigen Quelle erfolgen, z. B. einer expliziten Anforderung eines Anforderers oder einem Ergebnis interner Vorgänge.

Für Nachrichten von Gridwich an den Anforderer wird ResponseBlobDeleteSuccessDTO verwendet.

{
    "id": "GUID-string",
    "topic": "Topic-string",
    "subject": "Subject-string",
    "dataVersion": "DataVersion-string",
    "data": {
        "operationContext": <OperationContextObject>,
        "blobUri": "StorageURL-string"
    },
    "eventType": "response.blob.delete.success"
}

Der Anforderer fordert Gridwich zur Rückgabe einer SAS-URL für Inhalte mit ablaufender Gültigkeit auf

Für Nachrichten vom Anforderer an Gridwich wird RequestBlobSasUrlCreateDTO verwendet.

{
    "id": "GUID-string",
    "topic": "Topic-string",
    "subject": "Subject-string",
    "dataVersion": "DataVersion-string",
    "data": {
        "operationContext": <OperationContextObject>,
        "blobUri": "StorageURL-string",
        "secToLive": 1200
    },
    "eventType": "request.blob.sas-url.create"
}

Für Nachrichten von Gridwich an den Anforderer wird ResponseBlobSasUrlSuccessDTO verwendet.

{
    "id": "GUID-string",
    "topic": "Topic-string",
    "subject": "Subject-string",
    "dataVersion": "DataVersion-string",
    "data": {
        "operationContext": <OperationContextObject>,
        "sasUrl": "StorageURL-SAS-string"
    },
    "eventType": "response.blob.sas-url.success"
}

Der Anforderer fordert Gridwich zum Codieren über einen CloudPort-Workflow auf

Für Nachrichten vom Anforderer an Gridwich wird RequestCloudPortEncodeCreateDTO verwendet.

{
    "id": "GUID-string",
    "topic": "Topic-string",
    "subject": "Subject-string",
    "dataVersion": "DataVersion-string",
    "data": {
        "operationContext": <OperationContextObject>,
          "inputs": [
                {"blobUri": "StorageURL-string" }
          ],
          "outputContainer": "https://<storageaccountname>.blob.core.windows.net/<containername>/",
          "workflowName": "TestWorkflow2",
          "parameters": [ { "prop1": "value1" } ],
           "secToLive": 18000
  },
  "eventType": "request.encode.cloudport.create",
}

Der Anforderer fordert Gridwich zum Codieren mit Flip auf

Für Nachrichten vom Anforderer an Gridwich wird RequestFlipEncodeCreateDTO verwendet.

{
    "id": "GUID-string",
    "topic": "Topic-string",
    "subject": "Subject-string",
    "dataVersion": "DataVersion-string",
    "data": {
        "operationContext": <OperationContextObject>,
          "inputs": [
                {"blobUri": "StorageURL-string" }
          ],
          "outputContainer": "StorageURL-string", // of the Storage container
          "factoryName": "gws-dev-flip",
          "profiles": "h264",
          "parameters": [ { "prop1": "value1" } ],
           "secToLive": 18000
      },
      "eventType": "request.encode.flip.create"
}

Beispiel für RequestFlipEncodeCreateDTO

{
    "id": "GUID-string",
    "topic": "Topic-string",
    "subject": "Subject-string",
    "dataVersion": "DataVersion-string",
    "data": {
        "operationContext": { "progId": 1234 },
          "inputs": [
            {
                "blobUri": "https://gws-sa1.blob.core.windows.net/Vid0001Container/input.mp4"
            }
          ],
          "outputContainer": "https://gws-sa22out.blob.core.windows.net/Out0004/",
          "factoryName": "gws-dev-flip",
          "profiles": "h264",
          "parameters": [ { "someProperty1": "someValue1" } ],
          "secToLive": 18000
      },
      "eventType": "request.encode.flip.create"
}

Allgemeine Anforderungsantwort der Gridwich-Encoder bei erfolgreichem Versand

Für Nachrichten von Gridwich an den Anforderer wird ResponseEncodeDispatchedDTO verwendet.

{
    "id": "GUID-string",
    "topic": "Topic-string",
    "subject": "Subject-string",
    "dataVersion": "DataVersion-string",
    "data": {
        "operationContext": <OperationContextObject>,
        "encoderContext": <EncoderContext>,
        "workflowJobName": "CloudPort or Flip assigned job name for workflow instance."
    },
    "eventType": "response.encode.<encodername>.dispatched"
}

<encodername> kann entweder cloudport oder flip sein.

Asynchrone Statusmeldungen der Gridwich-Encoder

Die Gridwich-Encoder generieren während der Codierung oder anschließend vier Arten von Ereignissen:

  • Geplant
  • Verarbeitung
  • Erfolg
  • Canceled

Tritt ein Fehler bei einer Codierungsanforderung auf, wird ein Gridwich-Fehlerereignis generiert.

Codierungsstatus: Geplant

Für Nachrichten von Gridwich an den Anforderer wird ResponseEncodeScheduledDTO verwendet.

{
    "id": "GUID-string",
    "topic": "Topic-string",
    "subject": "Subject-string",
    "dataVersion": "DataVersion-string",
    "data": {
        "operationContext": <OperationContextObject>,
        "encoderContext":  <EncoderContext>,
        "workflowJobName": "CloudPort or Flip assigned job name for workflow instance."
    },
    "eventType": "response.encode.<encodername>.scheduled"
}

Codierungsstatus: Verarbeitung

Für Nachrichten von Gridwich an den Anforderer wird ResponseEncodeProcessingDTO verwendet.

{
    "id": "GUID-string",
    "topic": "Topic-string",
    "subject": "Subject-string",
    "dataVersion": "DataVersion-string",
    "data": {
        "operationContext": <OperationContextObject>,
        "encoderContext": <EncoderContext>,
        "workflowJobName": "CloudPort or Flip assigned job name for workflow instance.",
        "currentStatus": "string",
        "percentComplete": 50,
    },
    "eventType": "response.encode.<encodername>.processing"
}

Codierungsstatus: Erfolgreich

Für Nachrichten von Gridwich an den Anforderer wird ResponseEncodeSuccessDTO verwendet.

{
    "id": "GUID-string",
    "topic": "Topic-string",
    "subject": "Subject-string",
    "dataVersion": "DataVersion-string",
    "data": {
        "operationContext": <OperationContextObject>,,
        "encoderContext": <EncoderContext>,
        "workflowJobName": "CloudPort or Flip assigned job name for workflow instance.",
        "outputs":[
            { "blobUri": "StorageURL-string" }
        ]
    },
    "eventType": "response.encode.<encodername>.success"
}

Codierungsstatus: Abgebrochen

Für Nachrichten von Gridwich an den Anforderer wird ResponseEncodeCanceledDTO verwendet.

{
    "id": "GUID-string",
    "topic": "Topic-string",
    "subject": "Subject-string",
    "dataVersion": "DataVersion-string",
    "data": {
        "operationContext": <OperationContextObject>,
        "encoderContext": <EncoderContext>,
        "workflowJobName": "CloudPort or Flip assigned job name for workflow instance."
    },
    "eventType": "response.encode.<encodername>.canceled"
}

Der Anforderer fordert Gridwich zum Ändern der Speicherebene eines Blobs auf

Für Nachrichten vom Anforderer an Gridwich wird RequestBlobTierChangeDTO verwendet.

{
    "id": "GUID-string",
    "topic": "Topic-string",
    "subject": "Subject-string",
    "dataVersion": "DataVersion-string",
    "data": {
        "operationContext": <OperationContextObject>,
        "blobUri": "StorageURL-string",
        "accessTier": "string",
        "rehydratePriority": "string"
    },
    "eventType": "request.blob.tier.change"
}
  • Die Eigenschaft accessTier kann Hot, Cool oder Archive entsprechen.
  • Die Eigenschaft rehydratePriority kann Standard oder High entsprechen.

Für Nachrichten von Gridwich an den Anforderer wird ResponseBlobTierChangeSuccessDTO verwendet.

{
    "id": "GUID-string",
    "topic": "Topic-string",
    "subject": "Subject-string",
    "dataVersion": "DataVersion-string",
    "data": {
        "operationContext": <OperationContextObject>,
        "blobUri": "StorageURL-string",
        "accessTier": "string",
        "rehydratePriority": "string"
    },
    "eventType":"response.blob.tier.success"
}

Der Anforderer fordert Gridwich zum Erstellen eines Blobcontainers auf

Die Anforderung enthält das Speicherkonto und den Containernamen.

Für Nachrichten vom Anforderer an Gridwich wird RequestContainerCreateDTO verwendet.

{
    "id": "GUID-string",
    "topic": "Topic-string",
    "subject": "Subject-string",
    "dataVersion": "DataVersion-string",
    "data": {
        "operationContext": <OperationContextObject>,
        "storageAccountName": "string", // e.g. mySA1
        "containerName": "string"       // e.g. mycontainer
    },
    "eventType": "request.blob.container.create"
}

Für Nachrichten von Gridwich an den Anforderer wird ResponseContainerCreatedSuccessDTO verwendet.

{
    "id": "GUID-string",
    "topic": "Topic-string",
    "subject": "Subject-string",
    "dataVersion": "DataVersion-string",
    "data": {
        "operationContext": <OperationContextObject>,
        "storageAccountName": "string",
        "containerName": "string"
    },
    "eventType": "response.blob.container.create.success"
}

Der Anforderer fordert Gridwich zum Löschen eines Blobcontainers auf

Die Anforderung enthält das Speicherkonto und den Containernamen.

Für Nachrichten vom Anforderer an Gridwich wird RequestContainerDeleteDTO verwendet.

{
    "id": "GUID-string",
    "topic": "Topic-string",
    "subject": "Subject-string",
    "dataVersion": "DataVersion-string",
    "data": {
        "operationContext": <OperationContextObject>,
        "storageAccountName": "string",
        "containerName": "string"
    },
    "eventType": "request.blob.container.delete"
}

Für Nachrichten von Gridwich an den Anforderer wird ResponseContainerDeleteSuccessDTO verwendet.

{
    "id": "GUID-string",
    "topic": "Topic-string",
    "subject": "Subject-string",
    "dataVersion": "DataVersion-string",
    "data": {
        "operationContext": <OperationContextObject>,
        "storageAccountName": "string",
        "containerName": "string"
    },
    "eventType": "response.blob.container.delete.success"
}

Der Anforderer fordert Gridwich zum Ändern des öffentlichen Zugriffs eines Containers auf

Die Anforderung enthält den Containernamen und einen Wert für accessType, der Blob, BlobContainer oder None entsprechen kann.

Für Nachrichten vom Anforderer an Gridwich wird RequestContainerAccessChangeDTO verwendet.

{
    "id": "GUID-string",
    "topic": "Topic-string",
    "subject": "Subject-string",
    "dataVersion": "DataVersion-string",
    "data": {
        "operationContext": <OperationContextObject>,
        "storageAccountName": "string",
        "containerName": "string",
        "accessType": "string"
    },
    "eventType": "request.blob.container.access.change"
}

Für Nachrichten von Gridwich an den Anforderer wird ResponseContainerAccessChangeSuccessDTO verwendet.

{
    "id": "GUID-string",
    "topic": "Topic-string",
    "subject": "Subject-string",
    "dataVersion": "DataVersion-string",
    "data": {
        "operationContext": <OperationContextObject>,
        "storageAccountName": "string",
        "containerName": "string",
        "accessType": "string"
    },
    "eventType": "response.blob.container.access.change.success"
}

Der Anforderer fordert Gridwich zum Rotieren zu einem neuen Speicherschlüssel auf

Die Rollkey-Ereignisfamilie unterscheidet sich insofern von anderen Ereignissen in Gridwich, als dass die Anforderung zwar einen operationContext-Wert akzeptiert, dieser aber in keinem der Antwortereignisse enthalten ist.

Fehlerereignisse weisen nicht den normalen Ereignistyp response.failure, sondern den Typwert response.rollkey.storage.failure auf.

Die response.rollkey.storage.failure-Fehlerereignisse:

  • enthalten keine der normalen log-Dateneigenschaften von Fehlerereignisprotokollinformationen
  • enthalten eine zusätzliche Dateneigenschaft namens error, die einen Fehlermeldungstext enthält Andere Gridwich-Fehler enthalten diesen Text in der logEventMessage-Dateneigenschaft.

Diese Punkte geben den aktuellen Zustand der Azure-Logik-App wieder, die den RollKey-Vorgang ausführt. Die Definition der Logik-App befindet sich in der Terraform-Datei infrastructure/terraform/keyroller/main.tf.

keyName entspricht hier dem Namen des Schlüssels, der von Azure Storage im keyName definiert wird.

Nachricht vom Anforderer an Gridwich

{
    "id": "GUID-string",
    "topic": "Topic-string",
    "subject": "Subject-string",
    "dataVersion": "DataVersion-string",
    "data": {
        "operationContext": <OperationContextObject>,
        "account": "storageAccountName",
        "keyName": "key1"
    },
    "eventType": "request.rollkey.storage"
}

Nachricht von Gridwich an den Anforderer

  • Erfolg:

    {
        "id": "GUID-string",
        "topic": "Topic-string",
        "subject": "Subject-string",
        "dataVersion": "DataVersion-string",
        "data": {
            "account": "storageAccountName",
            "keyName": "key1"
        },
        "eventType": "response.rollkey.storage.success"
    }
    
  • Fehler:

    {
        "id": "GUID-string",
        "topic": "Topic-string",
        "subject": "Subject-string",
        "dataVersion": "1.0",
        "data": {
           "account": "storageAccountName1",
            "keyName": "key1",
            "error": "error message text"
        },
        "eventType": "response.rollkey.storage.failure"
    }
    

    Fehlerergebnisse für diesen Vorgang sind nicht so vollständig wie normale Gridwich-Fehler.

Nächste Schritte

Produktdokumentation:

Microsoft Learn-Module: