Extensión de Amazon S3

Estás viendo la documentación de Apigee Edge.
Ve a la documentación de Apigee X.
info

Versión: 1.1.0

Administra archivos en un bucket de Amazon S3. Con esta extensión, puedes enumerar, descargar y borrar archivos. También puedes generar una URL firmada para descargar un archivo.

Cada instancia configurada de esta extensión funciona con un bucket específico. Para varios buckets, usa una instancia configurada de esta extensión para cada bucket.

Requisitos previos

Antes de usar la extensión desde un proxy de API con la política ExtensionCallout, debes hacer lo siguiente:

Acerca de Amazon S3

Amazon Simple Storage Service (Amazon S3) es un servicio de almacenamiento de objetos.

Acciones

deleteFile

Borra el archivo especificado de un bucket de S3.

Sintaxis

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

Ejemplo

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

parámetros de solicitud

Parámetro Descripción Tipo Predeterminado Obligatorio
fileName El nombre del archivo que se borrará. String Ninguno Sí.

Respuesta

Ninguno

Propiedades de la respuesta

Ninguno

downloadFile

Descarga el archivo especificado de un bucket de S3.

Sintaxis

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

Ejemplo

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

parámetros de solicitud

Parámetro Descripción Tipo Predeterminado Obligatorio
fileName Es el nombre del archivo que se descargará. String Ninguno Sí.

Respuesta

JSON con una propiedad content que incluye el contenido del archivo

{
  "content":"Hello World!"
}

Propiedades de la respuesta

Propiedad Descripción Tipo Predeterminada
contenido Es una cadena que contiene el contenido del archivo solicitado. String. Ninguno

generateSignedURL

Genera una URL firmada para descargar el archivo especificado desde un bucket de S3.

Sintaxis

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

Ejemplo

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

parámetros de solicitud

Parámetro Descripción Tipo Predeterminado Obligatorio
fileName Es el nombre del archivo que se descargará. String Ninguno Sí.
expiresIn Es la duración en segundos hasta que vence la URL. Número entero 86400 No.

Respuesta

JSON con una propiedad de cadena url que contiene la URL generada.

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

Propiedades de la respuesta

Propiedad Descripción Tipo Predeterminada
url Es una URL al archivo solicitado. String Ninguno

listFiles

Invoca la ejecución de una función de AWS Lambda.

Sintaxis

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

Si quieres, debes especificar parsed="false" en el elemento <Output>. la variable para que contenga el JSON sin procesar. De lo contrario, la variable no se puede usar.

Ejemplo

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

parámetros de solicitud

Ninguno

Respuesta

Un array de nombres de archivos de S3.

["hello_world.txt"]

Propiedades de la respuesta

Ninguno

Referencia de configuración

Usa la siguiente información cuando configures e implementes esta extensión para usarla en proxies de API. Si deseas conocer los pasos para configurar una extensión con la consola de Apigee, consulta Cómo agregar y configurar una extensión.

Propiedades comunes de la extensión

Las siguientes propiedades están presentes para cada extensión.

Propiedad Descripción Predeterminado Obligatorio
name Nombre que asignas a esta configuración de la extensión. Ninguna
packageName Nombre del paquete de extensiones proporcionado por Apigee Edge. Ninguna
version El número de versión del paquete de extensiones desde el que quieres configurar la extensión. Ninguna
configuration Es un valor de configuración específico para la extensión que agregas. Consulta Propiedades para este paquete de extensiones Ninguna

Propiedades de este paquete de extensión

Especifica valores para las siguientes propiedades de configuración específicas de esta extensión.

Propiedad Descripción Predeterminada Obligatorio
configuración Ingresa el nombre del bucket de Amazon S3 que deseas usar, como sample-bucket. Ninguno Sí.
configuración Ingresa el nombre de la región de AWS que se usará, como us-east-2. Ninguno Sí.
credenciales Cuando se ingresa en la consola de Apigee Edge, es un archivo JSON que contiene el ID y la clave de acceso de Amazon en el siguiente formato:

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

Cuando se envía a través de la API de administración, es un valor codificado en base64 que se genera a partir de ese archivo JSON de clave.
Ninguno Sí.