Amazon S3 拡張機能

ここに表示されているのは Apigee Edge のドキュメントです。
Go to the Apigee X のドキュメントに移動します。
info

バージョン: 1.1.1

Amazon S3 バケットのファイルを管理します。この拡張機能を使用すると、ファイルのリスト表示、ダウンロード、削除を行うことができます。ファイルのダウンロード用に署名付き URL を生成することもできます。

この拡張機能の構成済みの各インスタンスが特定のバケットで動作します。バケットが複数の場合、バケットごとにこの拡張機能の構成済みインスタンスを使用します。

前提条件

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!"
}

レスポンス プロパティ

プロパティ 説明 型 デフォルト
コンテンツ リクエストされたファイルのコンテンツを含む文字列。 文字列。 なし。

generateSignedURL

S3 バケットから指定されたファイルをダウンロードするための署名付き URL を生成します。

構文

<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 URL が期限切れになるまでの時間(秒単位)。 整数 86400 いいえ。

レスポンス

生成された URL を含む url 文字列プロパティを持つ JSON。

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

レスポンス プロパティ

プロパティ 説明 型 デフォルト
URL 要求されたファイルの 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 Console で拡張機能を構成する手順については、拡張機能の追加と構成をご覧ください。

拡張機能の共通プロパティ

すべての拡張機能には次のプロパティがあります。

プロパティ 説明 デフォルト 必須
name この拡張機能に付ける名前。 なし ○
packageName Apigee Edge から提供された拡張機能パッケージの名前。 なし ○
version 拡張機能を構成する拡張機能パッケージのバージョン番号。 なし ○
configuration 追加する拡張機能に固有の構成値。この拡張機能パッケージのプロパティをご覧ください。 なし ○

この拡張機能パッケージのプロパティ

この拡張機能に固有の以下の構成プロパティに値を指定します。

プロパティ 説明 デフォルト 必須
構成 使用する Amazon S3 バケットの名前を入力します(例: sample-bucket)。 なし。 はい。
構成 使用する AWS リージョンの名前を入力します(例: us-east-2)。 なし。 はい。
credentials Apigee Edge コンソールに入力する場合は、次の形式の Amazon アクセスキー ID とアクセスキーを含む JSON ファイルになります。

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

Management API で送信する場合は、そのキーの JSON ファイルから生成された base64 エンコード値になります。
なし。 はい。