您正在查看的是 Apigee Edge 文档。
转到 Apigee X 文档。 信息
版本:1.1.1
管理 Amazon S3 存储分区中的文件。借助此扩展程序,您可以列出、下载和删除文件。您还可以生成用于下载文件的签名网址。
此扩展程序的每个已配置的实例均适用于特定存储分区。对于多个存储分区,请为每个存储分区使用此扩展程序的已配置实例。
前提条件
在采用 ExtensionCallout 政策通过 API 代理使用扩展程序之前,您必须:
获取将要使用的 Amazon S3 存储分区的访问密钥 ID 和私有访问密钥。
您需要这些信息以及 AWS 存储分区名称和 AWS 区域才能configure此扩展程序。
关于 Amazon S3
Amazon Simple Storage Service (Amazon S3) 是一项对象存储服务。
Action
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!"
}
响应属性
媒体资源 | 说明 | 类型 | 默认 |
---|---|---|---|
content | 包含所请求文件内容的字符串。 | 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 控制台配置扩展程序的步骤,请参阅添加和配置扩展程序。
通用扩展属性
每个扩展程序都有以下属性。
属性 | 说明 | 默认 | 必需 |
---|---|---|---|
name |
您为扩展程序配置此名称。 | 无 | 是 |
packageName |
Apigee Edge 提供的扩展包的名称。 | 无 | 是 |
version |
配置扩展程序所用的扩展程序软件包的版本号。 | 无 | 是 |
configuration |
特定于您要添加的附加信息的配置值。请参阅此扩展程序软件包的属性 | 无 | 是 |
此扩展程序软件包的属性
为此扩展程序的以下配置属性指定值。
媒体资源 | 说明 | 默认 | 必需 |
---|---|---|---|
配置 | 输入要使用的 Amazon S3 存储分区的名称,例如 sample-bucket 。 |
无。 | 有。 |
配置 | 输入要使用的 AWS 区域的名称,例如 us-east-2 。 |
无。 | 有。 |
凭据 | 在 Apigee Edge 控制台中输入时,这是一个包含 Amazon 访问密钥 ID 和访问密钥的 JSON 文件,格式如下:{ "accessKeyId" : access-key-ID, "secretAccessKey" : secret-access-key } 通过 Management API 发送时,它是从该密钥 JSON 文件生成的 base64 编码值。 |
无。 | 有。 |