您正在查看 Apigee Edge 文档。
转到
Apigee X 文档。 info
版本:1.1.1
管理 Amazon S3 存储分区中的文件。借助此扩展程序,您可以列出、下载和删除文件。您还可以生成用于下载文件的签名网址。
此扩展程序的每个配置实例都适用于特定存储分区。对于多个存储分区,请为每个存储分区使用此扩展程序的配置实例。
前提条件
在使用 ExtensionCallout 政策 通过 API 代理使用扩展程序之前,您必须执行以下操作:
获取您将使用的 Amazon S3 存储分区的 访问密钥 ID 和私有访问密钥。
您需要这些信息以及 AWS 存储分区名称和 AWS 区域来 配置 此扩展程序。
关于 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 编码值。 |
无。 | 是。 |