Extensión de Amazon S3

Estás consultando la documentación de Apigee Edge.
Consulta la documentación de Apigee X.
Información

Versión: 1.1.1

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. Si tienes varios buckets, usa una instancia configurada de esta extensión para cada bucket.

Requisitos previos

Antes de utilizar la extensión desde un proxy de API con la política ExtensionExtension, 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 Predeterminada Obligatorias
fileName El nombre del archivo que se borrará. Cadena Ningún contenido de este tipo Sí.

Respuesta

Ningún contenido de este tipo

Propiedades de las respuestas

Ningún contenido de este tipo

downloadFile

Descarga el archivo especificado desde 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 Predeterminada Obligatorias
fileName El nombre del archivo que se descargará. Cadena Ningún contenido de este tipo Sí.

Respuesta

JSON con una propiedad content que incluye el contenido del archivo

{
  "content":"Hello World!"
}

Propiedades de las respuestas

Propiedad Descripción Tipo Predeterminada
contenido Es una cadena que incluye el contenido del archivo solicitado. String. Ningún contenido de este tipo

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 Predeterminada Obligatorias
fileName El nombre del archivo que se descargará. Cadena Ningún contenido de este tipo Sí.
expiresIn Es la duración en segundos hasta que la URL vence. Número entero 86400 No.

Respuesta

JSON con una propiedad de string url que contiene la URL generada

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

Propiedades de las respuestas

Propiedad Descripción Tipo Predeterminada
url Una URL al archivo solicitado. Cadena Ningún contenido de este tipo

listFiles

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

Sintaxis

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

Debes especificar parsed="false" en el elemento <Output> si deseas que la variable 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

Ningún contenido de este tipo

Respuesta

Es un array de nombres de archivos S3.

["hello_world.txt"]

Propiedades de las respuestas

Ningún contenido de este tipo

Referencia de configuración

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

Propiedades comunes de las extensiones

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 Obligatorias
configuration Ingresa el nombre del bucket de Amazon S3 que se usará, como sample-bucket. Ningún contenido de este tipo Sí.
configuration Ingresa el nombre de la región de AWS que se usará, como us-east-2. Ningún contenido de este tipo Sí.
credenciales Cuando se ingresa en la consola de Apigee Edge, este es un archivo JSON que contiene tu ID y clave de acceso de Amazon con 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.
Ningún contenido de este tipo Sí.