Sie sehen sich die Dokumentation zu Apigee Edge an.
Sehen Sie sich die Apigee X-Dokumentation an. info
Version: 2.0.0
Sie können signierte URLs für Dateien in einem Cloud Storage-Bucket auflisten, herunterladen und generieren.
Dieser Artikel enthält eine Referenz zum Konfigurieren und Verwenden dieser Erweiterung. Bevor Sie diese Erweiterung über einen API-Proxy verwenden können, müssen Sie Folgendes tun:
Gewährt dem GCP-Dienstkonto, das Ihre Google Cloud Storage-Erweiterung darstellt, die Berechtigung zum Zugriff auf den Bucket. Weitere Informationen zur zu verwendenden Rolle finden Sie unter Cloud Storage-Rollen. Weitere Informationen zu Berechtigungen in Cloud Storage finden Sie unter IAM-Berechtigungen verwenden.
Erstellen Sie mit der GCP Console einen Schlüssel für das Dienstkonto.
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, zuverlässigen und skalierbaren Dateispeicher. Wenn Sie gerade erst mit Cloud Storage beginnen, ist die Kurzanleitung in der Cloud Storage-Dokumentation ein guter Ausgangspunkt.
Beispiele
In den folgenden Beispielen wird gezeigt, wie Sie die Unterstützung für Cloud Storage-Erweiterungsaktionen mithilfe der ExtensionCallout-Richtlinie konfigurieren.
Dateien auflisten
Im folgenden Beispiel ruft die listFiles
-Aktion der Erweiterung eine Liste der Dateien ab und gibt sie in einem Array zurück. Die Aktion listFiles
nimmt keine Eingabeparameter an.
<?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"]
In der folgenden AssignMessage-Richtlinie wird der Antwortwert aus der obigen ExtensionCallout-Richtlinie abgerufen und in die Antwortnutzlast kopiert.
<?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
In der folgenden ExtensionCallout-Richtlinie wird die Google Cloud Storage-Erweiterung verwendet, um eine einfache Textdatei herunterzuladen, deren Inhalt nur 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
In der folgenden ExtensionCallout-Richtlinie wird diese Erweiterung verwendet, um eine URL für den Download der angegebenen Datei aus dem Cloud Storage-Bucket zu generieren. Es wird der Name der Datei 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
downloadFile
Die angegebene Datei wird heruntergeladen.
Anfrageparameter
Parameter | Beschreibung | Typ | Standard | Erforderlich |
---|---|---|---|---|
fileName | Die Datei, die heruntergeladen werden soll. | 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
Hier werden Dateien aufgeführt, die zum Download verfügbar sind.
Anfrageparameter
Keine.
Antwort
Ein Array von Dateinamen. Beispiel:
["example-text.txt","example-image.png"]
generateSignedURL
Erstellt eine signierte URL für die angegebene Datei im Bucket. Über diese URL können Sie die Datei herunterladen.
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
Beachten Sie Folgendes, wenn Sie diese Erweiterung für die Verwendung in API-Proxys konfigurieren und bereitstellen. Eine Anleitung zum Konfigurieren einer Erweiterung mit der Apigee Console finden Sie unter Erweiterung hinzufügen und konfigurieren.
Gängige 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 |
Properties für dieses Erweiterungspaket
Attribut | Beschreibung | Standard | Erforderlich |
---|---|---|---|
bucketName | Der GCS-Bucket, mit dem diese Erweiterung interagieren soll. | Keine. | Ja. |