Google Cloud Storage-Erweiterung

<ph type="x-smartling-placeholder"></ph> Sie sehen die Dokumentation zu Apigee Edge.
Gehen Sie zur Apigee X-Dokumentation.
Weitere Informationen

<ph type="x-smartling-placeholder">

Version: 1.2.0

Signierte URLs für Dateien in einem Cloud Storage-Bucket auflisten, herunterladen und generieren

Dieser Inhalt bietet eine Referenz zum Konfigurieren und Verwenden dieser Erweiterung. Bevor Sie diese Erweiterung über einen API-Proxy verwenden können, müssen Sie:

  1. Cloud Storage-Bucket erstellen

  2. Objekte in den Bucket hochladen

  3. Gewähren Sie dem GCP-Dienstkonto, das Ihrer Google Cloud Storage-Erweiterung entspricht, die Berechtigung für den Zugriff auf den Bucket. Weitere Informationen zu der zu verwendenden Rolle finden Sie unter Cloud Storage-Rollen. Weitere Informationen zu Berechtigungen in Cloud Storage finden Sie unter IAM-Berechtigungen (Identity and Access Management) verwenden.

  4. Generieren Sie mit der GCP Console einen Schlüssel für das Dienstkonto.

  5. Verwenden Sie den Inhalt der resultierenden JSON-Schlüsseldatei, wenn Sie die Erweiterung mithilfe der Konfigurationsreferenz hinzufügen und konfigurieren.

Cloud Storage

Cloud Storage ist ein Dienst für sicheren, langlebigen und skalierbaren Dateispeicher. Wenn Sie Cloud Storage zum ersten Mal verwenden, ist die Kurzanleitung in der Cloud Storage-Dokumentation ein guter Ausgangspunkt.

Beispiele

Die folgenden Beispiele zeigen, wie Sie die Unterstützung für Cloud Storage-Erweiterungsaktionen mithilfe der Richtlinie ExtensionCallout konfigurieren.

Dateien auflisten

Im folgenden Beispiel ruft die Aktion listFiles der Erweiterung eine Liste der Dateien ab und gibt sie in einem Array zurück. Die Aktion listFiles erfordert keine Eingabeparameter.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ConnectorCallout async="false" continueOnError="false" enabled="true" name="Get-Storage-File-List">
    <DisplayName>Get Storage File List</DisplayName>
    <Connector>cloud-storage-extension-example</Connector>
    <Action>listFiles</Action>
    <Input><![CDATA[{}]]></Input>
    <Output parsed="false">storage.filelist.retrieved</Output>
</ConnectorCallout>

Der Antwortwert sieht in etwa so aus:

["example-text.txt","example-image.png"]

Die folgende Richtlinie "Nachricht zuweisen" ruft den Antwortwert aus der obigen Richtlinie "ExtensionCallout" ab und kopiert ihn in die Antwortnutzlast.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<AssignMessage async="false" continueOnError="false" enabled="true" name="Assign-Storage-File-List">
    <DisplayName>Assign Storage File List</DisplayName>
    <AssignTo type="response" createNew="false"/>
    <Set>
        <Payload contentType="application/json">{storage.filelist.retrieved}</Payload>
    </Set>
</AssignMessage>

Datei herunterladen

Die folgende ExtensionCallout-Richtlinie verwendet die Google Cloud Storage-Erweiterung, um eine einfache Textdatei herunterzuladen, deren Inhalt einfach Some example text. lautet,

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ConnectorCallout async="false" continueOnError="false" enabled="true" name="Download-File">
    <DisplayName>Download File</DisplayName>
    <Connector>cloud-storage-extension-example</Connector>
    <Action>downloadFile</Action>
    <Input><![CDATA[{"fileName": "example-text.txt"}]]></Input>
    <Output>storage.file.retrieved</Output>
</ConnectorCallout>

Der Antwortwert sieht so aus:

{"content":"Some example text."}

Die folgende Richtlinie „Nachricht zuweisen“ ruft den von der Erweiterung zurückgegebenen Wert ab und kopiert ihn in die Antwortnutzlast.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<AssignMessage async="false" continueOnError="false" enabled="true" name="Assign-Storage-File-List">
    <DisplayName>Assign Storage File List</DisplayName>
    <AssignTo type="response" createNew="false"/>
    <Set>
        <Payload contentType="application/json">{storage.file.retrieved}</Payload>
    </Set>
</AssignMessage>

Signierte URL generieren

Die folgende ExtensionCallout-Richtlinie generiert mit dieser Erweiterung eine URL zum Herunterladen der angegebenen Datei aus dem Cloud Storage-Bucket. Der Name der Datei wird zusammen mit dem Datum übergeben, nach dem die URL ablaufen und nicht mehr funktionieren soll.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ConnectorCallout async="false" continueOnError="false" enabled="true" name="Get-Signed-URL">
    <DisplayName>Get Signed URL</DisplayName>
    <Connector>cloud-storage-extension-example</Connector>
    <Action>generateSignedURL</Action>
    <Input><![CDATA[{
        "fileName" : "example-text.txt",
        "expiresOn" : "2018-08-05"
    }]]></Input>
    <Output>storage.url.retrieved</Output>
</ConnectorCallout>

Der Rückgabewert der Erweiterung sieht in etwa so aus:

{"url":"https://storage.googleapis.com/storage-extension-example/example-text.txt?GoogleAccessId=extension-test%40my-test-33333.iam.gserviceaccount.com&Expires=1533427200&Signature=Y1cE1DCHesWeIZILRhdIuDR%2FhzZXZ%2BPeY3J1PUkRiosFYj41itHBWh2%2BTQgH9kI6E8s2mWrVDFU43YR7s8Tm9W5VgWRwh0nXSactQ0xKbkKbGZmCcWxgIscOezc1zc%2Bp7lnXSx1qd4wIlIKVH4KCd9WLx4qB1dLxGNxMKB32tA3dio5IiMXaHEA%2FR2fYc0Pjh45t8L5rilk5pekv7jfd3sfsgdfgfdglkj%2F7E%2FlJ%2B60RnetqV2IDqrc0sVEgSLTpgTbDGU%2Ft3EcitRUFOSdOb5czt7CiIwKAYSmDEFMSNHHiNTWjvLzq4IU%2BCa4Z5aKyvww%3D%3D"}

Die folgende Richtlinie „Nachricht zuweisen“ ruft den von der Erweiterung zurückgegebenen Wert ab und kopiert ihn in den Antworttext.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<AssignMessage async="false" continueOnError="false" enabled="true" name="Assign-Storage-File-URL">
    <DisplayName>Assign Storage File URL</DisplayName>
    <AssignTo type="response" createNew="false"/>
    <Set>
        <Payload contentType="application/json">{storage.url.retrieved}</Payload>
    </Set>
</AssignMessage>

Aktionen

<ph type="x-smartling-placeholder">

Datei herunterladen

Lädt die angegebene Datei herunter.

Anfrageparameter

Parameter Beschreibung Typ Default Erforderlich
fileName Die herunterzuladende Datei. String Keine. Ja.

Syntax

<Input><![CDATA[{"fileName" : "the-file-to-download"}]]></Input>

Beispiel

<Input><![CDATA[{"fileName" : "example-text.txt"}]]></Input>

Antwort

JSON, das ein Objekt mit dem Inhalt der heruntergeladenen Datei darstellt. Beispiel:

{"content":"Some example text."}

listFiles

Listet Dateien auf, die zum Download zur Verfügung stehen.

Anfrageparameter

Keine.

Antwort

Ein Array von Dateinamen. Beispiel:

["example-text.txt","example-image.png"]

generateSignedURL

Erstellt eine signierte URL für eine angegebene Datei im Bucket. Mit dieser URL kann die Datei heruntergeladen werden.

Anfrageparameter

Parameter Beschreibung Typ Default Erforderlich
fileName Name des Cloud Storage-Objekts, für das eine signierte URL generiert werden soll. String Keine. Ja.
expiresOn Datum, an dem die signierte URL ablaufen soll. String Keine. Nein.

Syntax

<Input><![CDATA[{
  "fileName" : "file-for-which-to-generate-url",
  "expiresOn" : "date-to-expire-url"
}]]></Input>

Beispiel

<Input><![CDATA[{
  "fileName" : "example-text.txt",
  "expiresOn" : "2018-08-05"
}]]></Input>

Antwort

JSON, das ein Objekt mit der signierten URL darstellt. Beispiel:

{"url":"https://storage.googleapis.com/storage-extension-example/example-text.txt?GoogleAccessId=extension-test%40my-test-33333.iam.gserviceaccount.com&Expires=1533427200&Signature=Y1cE1DCHesWeIZILRhdIuDR%2FhzZXZ%2BPeY3J1PUkRiosFYj41itHBWh2%2BTQgH9kI6E8s2mWrVDFU43YR7s8Tm9W5VgWRwh0nXSactQ0xKbkKbGZmCcWxgIscOezc1zc%2Bp7lnXSx1qd4wIlIKVH4KCd9WLx4qB1dLxGNxMKB32tA3dio5IiMXaHEA%2FR2fYc0Pjh45t8L5rilk5pekv7jfd3sfsgdfgfdglkj%2F7E%2FlJ%2B60RnetqV2IDqrc0sVEgSLTpgTbDGU%2Ft3EcitRUFOSdOb5czt7CiIwKAYSmDEFMSNHHiNTWjvLzq4IU%2BCa4Z5aKyvww%3D%3D"}

Konfigurationsreferenz

Verwenden Sie Folgendes, wenn Sie diese Erweiterung zur Verwendung in API-Proxys konfigurieren und bereitstellen. Eine schrittweise Anleitung zum Konfigurieren einer Erweiterung mit der Apigee-Konsole finden Sie unter Erweiterung hinzufügen und konfigurieren.

Allgemeine Erweiterungseigenschaften

Für jede Erweiterung sind die folgenden Eigenschaften vorhanden.

Attribut Beschreibung Standard Erforderlich
name Der Name, den Sie dieser Konfiguration der Erweiterung zuweisen. Ja
packageName Name des Erweiterungspakets, wie von Apigee Edge angegeben. Ja
version Versionsnummer für das Erweiterungspaket, von dem Sie eine Erweiterung konfigurieren. Ja
configuration Konfigurationswert speziell für die Erweiterung, die Sie hinzufügen. Weitere Informationen finden Sie unter Eigenschaften für dieses Erweiterungspaket. Ja

Eigenschaften für dieses Erweiterungspaket

Attribut Beschreibung Standard Erforderlich
bucketName Der GCS-Bucket, mit dem diese Erweiterung interagieren soll. Keine. Ja.