Stai visualizzando la documentazione di Apigee Edge.
Vai alla documentazione di Apigee X. info
Versione: 2.0.0
Elenca, scarica e genera URL firmati per i file in un bucket Cloud Storage.
Questi contenuti forniscono un riferimento per la configurazione e l'utilizzo di questa estensione. Prima di utilizzare questa estensione da un proxy API, devi:
Carica oggetti nel bucket.
Concedi l'autorizzazione per accedere al bucket all'account di servizio Google Cloud che rappresenta l'estensione Google Cloud Storage. Per saperne di più sul ruolo da utilizzare, consulta Ruoli Cloud Storage. Per saperne di più sulle autorizzazioni in Cloud Storage, consulta Utilizzare le autorizzazioni di Identity and Access Management (IAM).
Utilizza la console Google Cloud per generare una chiave per l'account di servizio.
Utilizza i contenuti del file JSON della chiave risultante quando aggiungi e configuri l'estensione utilizzando il riferimento alla configurazione.
Informazioni su Cloud Storage
Cloud Storage è un servizio per l'archiviazione di file sicura, durevole e scalabile. Se stai appena iniziando a utilizzare Cloud Storage, la guida di avvio rapido nella documentazione di Cloud Storage è un buon punto di partenza.
Esempi
Gli esempi riportati di seguito mostrano come configurare il supporto per le azioni di estensione Cloud Storage utilizzando il criterio ExtensionCallout.
Elenco file
Nell'esempio seguente, l'azione listFiles
dell'estensione recupera un elenco di file, restituendoli in un array. L'azione listFiles
non accetta parametri di input.
<?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>
Il valore della risposta è simile al seguente:
["example-text.txt","example-image.png"]
Il seguente criterio Assegna messaggio recupera il valore della risposta dal criterio ExtensionCallout riportato sopra e lo copia nel payload della risposta.
<?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>
Scaricare un file
Il seguente criterio ExtensionCallout utilizza l'estensione Google Cloud Storage per scaricare un semplice file di testo i cui contenuti sono semplicemente 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>
Il valore della risposta è simile al seguente:
{"content":"Some example text."}
Il seguente criterio Assegna messaggio recupera il valore restituito dall'estensione e lo copia nel payload della risposta.
<?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>
Generare un URL firmato
Il seguente criterio ExtensionCallout utilizza questa estensione per generare un URL per il download del file specificato dal bucket Cloud Storage. Passa il nome del file, insieme alla data dopo la quale l'URL deve scadere e non funzionare più.
<?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>
Il valore restituito dell'estensione è simile al seguente.
{"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"}
Il seguente criterio Assegna messaggio recupera il valore restituito dall'estensione e lo copia nel corpo della risposta.
<?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>
Azioni
downloadFile
Scarica il file specificato.
Parametri di richiesta
Parametro | Descrizione | Tipo | Predefinito | Obbligatorio |
---|---|---|---|---|
fileName | Il file da scaricare. | Stringa | Nessuno. | Sì. |
Sintassi
<Input><![CDATA[{"fileName" : "the-file-to-download"}]]></Input>
Esempio
<Input><![CDATA[{"fileName" : "example-text.txt"}]]></Input>
Risposta
JSON che rappresenta un oggetto con i contenuti del file scaricato. Ad esempio:
{"content":"Some example text."}
listFiles
Elenca i file disponibili per il download.
Parametri di richiesta
Nessuno.
Risposta
Un array di nomi file. Ad esempio:
["example-text.txt","example-image.png"]
generateSignedURL
Crea un URL firmato per il file specificato nel bucket. Questo URL può essere utilizzato per scaricare il file.
Parametri di richiesta
Parametro | Descrizione | Tipo | Predefinito | Obbligatorio |
---|---|---|---|---|
fileName | Nome dell'oggetto Cloud Storage per cui generare un URL firmato. | Stringa | Nessuno. | Sì. |
expiresOn | Data di scadenza dell'URL firmato. | Stringa | Nessuno. | No. |
Sintassi
<Input><![CDATA[{
"fileName" : "file-for-which-to-generate-url",
"expiresOn" : "date-to-expire-url"
}]]></Input>
Esempio
<Input><![CDATA[{
"fileName" : "example-text.txt",
"expiresOn" : "2018-08-05"
}]]></Input>
Risposta
JSON che rappresenta un oggetto con l'URL firmato. Ad esempio:
{"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"}
Riferimento alla configurazione
Utilizza quanto segue quando configuri ed esegui il deployment di questa estensione per utilizzarla nei proxy API. Per la procedura di configurazione di un'estensione utilizzando la console Apigee, vedi Aggiunta e configurazione di un'estensione.
Proprietà comuni delle estensioni
Per ogni estensione sono presenti le seguenti proprietà.
Proprietà | Descrizione | Predefinito | Obbligatorio |
---|---|---|---|
name |
Il nome che assegni a questa configurazione dell'estensione. | Nessuno | Sì |
packageName |
Nome del pacchetto dell'estensione fornito da Apigee Edge. | Nessuno | Sì |
version |
Numero di versione del pacchetto dell'estensione da cui stai configurando un'estensione. | Nessuno | Sì |
configuration |
Valore di configurazione specifico per l'estensione che stai aggiungendo. Vedi Proprietà per questo pacchetto di estensioni | Nessuno | Sì |
Proprietà per questo pacchetto di estensioni
Proprietà | Descrizione | Predefinito | Obbligatorio |
---|---|---|---|
bucketName | Il bucket GCS con cui deve interagire questa estensione. | Nessuno. | Sì. |