Amazon S3 扩展程序

您正在查看 Apigee Edge 文档。
转到 Apigee X 文档
info

版本: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 要下载的文件的名称。 字符串 无。 是。

响应

JSON,其中包含一个 content 属性,该属性包含文件的内容。

{
  "content":"Hello World!"
}

响应属性

属性 说明 类型 默认值
content 一个字符串,其中包含所请求文件的内容。 字符串。 无。

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 否。

响应

JSON,其中包含一个 url 字符串属性,该属性包含生成的网址。

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

响应属性

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

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 控制台配置扩展程序的步骤,请参阅添加和配置扩展程序

通用扩展属性

每个扩展程序都有以下属性。

属性 说明 默认 必需
name 您为扩展程序配置此名称。
packageName Apigee Edge 提供的扩展包的名称。
version 配置扩展程序所用的扩展程序软件包的版本号。
configuration 特定于您要添加的附加信息的配置值。请参阅此扩展程序软件包的属性

此扩展程序软件包的属性

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

属性 说明 默认值 必需
configuration 输入要使用的 Amazon S3 存储分区的名称,例如 sample-bucket 无。 是。
configuration 输入要使用的 AWS 区域的名称,例如 us-east-2 无。 是。
credentials 在 Apigee Edge 控制台中输入时,这是一个 JSON 文件,其中包含您的 Amazon 访问密钥 ID 和访问密钥,格式如下:

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

通过 Management API 发送时,它是从该密钥 JSON 文件生成的 base64 编码值。
无。 是。