Sie lesen gerade die Apigee Edge -Dokumentation.
Zur
Apigee X -Dokumentation. info
Version: 2.0.0
Auflisten, Herunterladen und Generieren signierter URLs für Dateien in einem Google Cloud Storage-Bucket.
Dieser Inhalt enthält eine Referenz zum Konfigurieren und Verwenden dieser Erweiterung. Bevor Sie diese Erweiterung über einen API-Proxy verwenden, müssen Sie Folgendes tun:
Objekte hochladen in den Bucket
Gewähren Sie die Berechtigung für den Zugriff auf den Bucket für das Google Cloud-Dienstkonto, das Ihre Google Cloud Storage-Erweiterung darstellt. Weitere Informationen zur zu verwendenden Rolle finden Sie unter Cloud Storage-Rollen. Weitere Informationen zu Berechtigungen in Cloud Storage finden Sie unter Berechtigungen für Identity and Access Management (IAM) verwenden.
Generieren Sie mit der Google Cloud Console einen Schlüssel für das Dienstkonto.
Verwenden Sie den Inhalt der resultierenden JSON-Schlüsseldatei, wenn Sie die Erweiterung mit der Konfigurationsreferenz hinzufügen und konfigurieren.
Cloud Storage
Cloud Storage ist ein Dienst für die sichere, dauerhafte und skalierbare Dateispeicherung. Wenn Sie gerade erst mit Cloud Storage beginnen, ist die Kurzanleitung in der Cloud Storage-Dokumentation ein guter Ausgangspunkt.
Beispiele
Die folgenden Beispiele veranschaulichen, wie Sie die Unterstützung für Cloud Storage-Erweiterungsaktionen mit der ExtensionCallout-Richtlinie 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 akzeptiert 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 AssignMessage-Richtlinie ruft den Antwortwert aus der 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, um eine Textdatei herunterzuladen, deren Inhalt Some example text. ist.
<?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 AssignMessage-Richtlinie 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. Sie ü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 AssignMessage-Richtlinie 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-Darstellung eines Objekts mit dem Inhalt der heruntergeladenen Datei. Beispiel:
{"content":"Some example text."}
listFiles
Listet die zum Herunterladen verfügbaren Dateien auf.
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 | 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-Darstellung eines Objekts mit der signierten URL. 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 die folgenden Informationen, wenn Sie diese Erweiterung für die 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.
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. |