Amazon S3 扩展程序

您正在查看 Apigee Edge 文档。
前往 Apigee X 文档
信息

版本:1.1.1

管理 Amazon S3 存储分区中的文件。借助此扩展程序,您可以列出、下载和删除文件。您还可以生成签名网址以下载文件。

此扩展程序的每个已配置实例都与特定存储分区搭配使用。对于多个存储分区,请为每个存储分区使用此扩展程序的已配置实例。

前提条件

在使用 ExtensionCallout 政策从 API 代理使用扩展程序之前,您必须满足以下条件:

Amazon S3 简介

Amazon Simple Storage Service (Amazon S3) 是一种对象存储服务。

操作

deleteFile

从 S3 存储分区中删除指定文件。

语法

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

示例

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

请求参数

参数 说明 类型 默认值 必需
fileName 要删除的文件的名称。 字符串 无。 是。

响应

无。

响应属性

无。

downloadFile

从 S3 存储分区下载指定文件。

语法

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

示例

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

请求参数

参数 说明 类型 默认值 必需
fileName 要下载的文件的名称。 字符串 无。 是。

响应

包含包含文件内容的 content 属性的 JSON。

{
  "content":"Hello World!"
}

响应属性

属性 说明 类型 默认
内容 包含请求的文件内容的字符串。 String。 无。

generateSignedURL

生成用于从 S3 存储分区下载指定文件的签名网址。

语法

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

示例

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

请求参数

参数 说明 类型 默认值 必需
fileName 要下载的文件的名称。 字符串 无。 是。
expiresIn 网址到期前剩余的时间(以秒为单位)。 整数 86400 单元编号

响应

包含包含所生成网址的 url 字符串属性的 JSON。

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

响应属性

属性 说明 类型 默认
网址 请求的文件的网址。 字符串 无。

listFiles

调用 AWS Lambda 函数的执行。

语法

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

如果您希望变量包含原始 JSON,则必须在 <Output> 元素上指定 parsed="false"。否则,该变量将无法使用。

示例

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

请求参数

无。

响应

一个 S3 文件名的数组。

["hello_world.txt"]

响应属性

无。

配置参考文档

在配置和部署此扩展以在 API 代理中使用时,请使用以下内容。如需了解使用 Apigee 控制台配置扩展程序的步骤,请参阅添加和配置扩展程序

常见的扩展属性

The following properties are present for every extension.

Property Description Default Required
name Name you're giving this configuration of the extension. None Yes
packageName Name of the extension package as given by Apigee Edge. None Yes
version Version number for the extension package from which you're configuring an extension. None Yes
configuration Configuration value specific to the extension you're adding. See Properties for this extension package None Yes

此扩展程序软件包的属性

为此扩展程序专用的以下配置属性指定值。

属性 说明 默认 必需
配置 输入要使用的 Amazon S3 存储分区的名称,例如 sample-bucket 无。 是。
配置 输入要使用的 AWS 区域的名称,例如 us-east-2 无。 是。
凭据 在 Apigee Edge 控制台中输入时,此参数是一个 JSON 文件,其中包含采用以下形式的 Amazon 访问密钥 ID 和访问密钥:

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

通过管理 API 发送时,此参数是从该密钥 JSON 文件生成的 base64 编码值。
无。 是。