Sie sehen die Dokumentation zu Apigee Edge.
Zur Apigee X-Dokumentation weitere Informationen
Version: 1.4.1
Signierte URLs für Dateien in einem Cloud Storage-Bucket auflisten, herunterladen und generieren.
In diesem Artikel erfahren Sie, wie Sie diese Erweiterung konfigurieren und verwenden. Bevor Sie diese Erweiterung von einem API-Proxy verwenden, müssen Sie:
Gewähren Sie dem GCP-Dienstkonto, das Ihre Google Cloud Storage-Erweiterung repräsentiert, die Berechtigung für den Zugriff auf den Bucket. Weitere Informationen zur Rolle finden Sie unter Cloud Storage-Rollen. Weitere Informationen zu Berechtigungen in Cloud Storage finden Sie unter Berechtigungen der Identitäts- und Zugriffsverwaltung (IAM) verwenden.
Verwenden Sie die GCP Console, um einen Schlüssel für das Dienstkonto zu generieren.
Verwenden Sie den Inhalt der resultierenden JSON-Schlüssel-JSON-Datei beim Hinzufügen und Konfigurieren der Erweiterung mithilfe der Konfigurationsreferenz.
Cloud Storage
Cloud Storage ist ein Dienst für einen sicheren, langlebigen und skalierbaren Dateispeicher. Wenn Sie Cloud Storage zum ersten Mal verwenden, ist die Kurzanleitung in der Cloud Storage-Dokumentation ein guter Ausgangspunkt.
Samples
Die folgenden Beispiele veranschaulichen, wie die Unterstützung für Cloud Storage-Erweiterungsaktionen mithilfe der ExtensionCallout-Richtlinie konfiguriert wird.
Dateien auflisten
Im folgenden Beispiel ruft die Aktion listFiles
der Erweiterung eine Liste der Dateien ab und gibt sie in einem Array zurück. Für die Aktion listFiles
sind keine Eingabeparameter erforderlich.
<?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 zum Zuweisen einer Nachricht ruft den Antwortwert aus der obigen ExtensionCallout-Richtlinie 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 zum Herunterladen einer einfachen Textdatei mit dem Inhalt Some example text.
,
<?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 zum Zuweisen einer Nachricht 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 verwendet diese Erweiterung, um eine URL zum Herunterladen der angegebenen Datei aus dem Cloud Storage-Bucket zu generieren. Er übergibt den Namen der Datei sowie das Datum, 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 zum Zuweisen einer Nachricht 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
downloadFile
Lädt die angegebene Datei herunter.
Anfrageparameter
Parameter | Beschreibung | Typ | Standard | 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 die zum Download verfügbaren Dateien auf.
Anfrageparameter
Keine.
Antwort
Ein Array mit Dateinamen. Beispiel:
["example-text.txt","example-image.png"]
generateSignedURL
Erstellt eine signierte URL für die angegebene Datei im Bucket. Über diese URL kann die Datei heruntergeladen werden.
Anfrageparameter
Parameter | Beschreibung | Typ | Standard | 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 Anleitung zum Konfigurieren einer Erweiterung mit der Apigee-Konsole finden Sie unter Erweiterung hinzufügen und konfigurieren.
Häufige 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 dieses Erweiterungspakets
Property | Beschreibung | Standard | Erforderlich |
---|---|---|---|
bucketName | Der GCS-Bucket, mit dem diese Erweiterung interagieren soll. | Keine. | Ja. |