Estensione Amazon S3

Stai visualizzando la documentazione di Apigee Edge.
Vai alla documentazione di Apigee X.
info

Versione: 1.0.0

Gestisci i file in un bucket Amazon S3. Con questa estensione puoi elencare, scaricare ed eliminare file. Puoi anche generare un URL firmato per scaricare un file.

Ogni istanza configurata di questa estensione funziona con un bucket specifico. Per più bucket, utilizza un'istanza configurata di questa estensione per ogni bucket.

Prerequisiti

Prima di utilizzare l'estensione da un proxy API utilizzando le norme ExtensionCallout, devi:

Informazioni su Amazon S3

Amazon Simple Storage Service (Amazon S3) è un servizio di archiviazione di oggetti.

Azioni

deleteFile

Elimina il file specificato da un bucket S3.

Sintassi

<Action>deleteFile</Action>
<Input><![CDATA[
{
  "fileName" : "name-of-file-to-delete"
}
]]>
</Input>

Esempio

<Action>deleteFile</Action>
<Input><![CDATA[
{
  "fileName" : "names.tmp"
}
]]>
</Input>

Parametri di richiesta

Parametro Descrizione Tipo Predefinito Obbligatorio
nomeFile Il nome del file da eliminare. Stringa Nessuno. Sì.

Risposta

Nessuno.

Proprietà di risposta

Nessuno.

downloadFile

Consente di scaricare il file specificato da un bucket S3.

Sintassi

<Action>downloadFile</Action>
<Input><![CDATA[
{
  "fileName" : "filename"
}
]]>
</Input>
<Output>flow-variable</Output>

Esempio

<Action>downloadFile</Action>
<Input><![CDATA[
{
  "fileName" : "product-sheet.pdf"
}
]]>
</Input>
<Output>downloaded.file</Output>

Parametri di richiesta

Parametro Descrizione Tipo Predefinito Obbligatorio
fileName Il nome del file da scaricare. Stringa Nessuno. Sì.

Risposta

JSON con una proprietà content che include i contenuti del file.

{
  "content":"Hello World!"
}

Proprietà della risposta

Proprietà Descrizione Tipo Predefinito
contenuti Una stringa con i contenuti del file richiesto. Stringa. Nessuno.

generateSignedURL

Genera un URL firmato per scaricare il file specificato da un bucket S3.

Sintassi

<Action>generateSignedURL</Action>
<Input><![CDATA[
{
  "fileName": "filename",
  "expiresIn": duration-in-seconds
}
]]>
</Input>
<Output>flow-variable</Output>

Esempio

<Action>generateSignedURL</Action>
<Input><![CDATA[
{
  "fileName": "product-info.pdf",
  "expiresIn": 3600
}
]]>
</Input>
<Output>download.url</Output>

Parametri di richiesta

Parametro Descrizione Tipo Predefinito Obbligatorio
fileName Il nome del file da scaricare. Stringa Nessuno. Sì.
expiresIn Durata in secondi fino alla scadenza dell'URL. Numero intero 86400 No.

Risposta

JSON con una proprietà stringa url contenente l'URL generato.

{
  "url":"https://fake.s3.amazonaws.com/hello_world.txt?AWSAccessKeyId=123&Expires=1542753572&Signature=ABC"
}

Proprietà della risposta

Proprietà Descrizione Tipo Predefinito
url Un URL del file richiesto. Stringa Nessuno.

listFiles

Richiama l'esecuzione di una funzione AWS Lambda.

Sintassi

<Action>listFiles</Action>
<Input><![CDATA[{}]]></Input>
<Output>flow-variable</Output>

Devi specificare parsed="false" nell'elemento <Output> se vuoi che la variabile contenga il JSON non elaborato. In caso contrario, la variabile non è utilizzabile.

Esempio

<Action>listFiles</Action>
<Input><![CDATA[{}]]></Input>
<Output parsed="false">listFilesOutput</Output>

Parametri di richiesta

Nessuno.

Risposta

Un array di nomi di file S3.

["hello_world.txt"]

Proprietà di risposta

Nessuno.

Riferimento alla configurazione

Quando configuri questa estensione e ne esegui il deployment da usare nei proxy API, usa quanto segue. 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
packageName Nome del pacchetto dell'estensione fornito da Apigee Edge. Nessuno
version Numero di versione del pacchetto dell'estensione da cui stai configurando un'estensione. Nessuno
configuration Valore di configurazione specifico per l'estensione che stai aggiungendo. Vedi Proprietà per questo pacchetto di estensioni Nessuno

Proprietà per questo pacchetto di estensioni

Specifica i valori per le seguenti proprietà di configurazione specifiche per questa estensione.

Proprietà Descrizione Predefinito Obbligatorio
configurazione Inserisci il nome del bucket Amazon S3 da utilizzare, ad esempio sample-bucket. Nessuno. Sì.
configurazione Inserisci il nome della regione AWS da utilizzare, ad esempio us-east-2. Nessuno. Sì.
credenziali Se inserito nella console Apigee Edge, si tratta di un file JSON contenente l'ID della chiave di accesso e la chiave di accesso Amazon nel seguente formato:

{
"accessKeyId" : access-key-ID,
"secretAccessKey" : secret-access-key
}

Quando viene inviato tramite l'API di gestione, si tratta di un valore codificato in base64 generato da quel file JSON della chiave.
Nessuno. Sì.