Amazon S3 拡張機能

Apigee Edge のドキュメントが表示されています。
Apigee X のドキュメントに移動します。
情報

バージョン: 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 コンソールを使用して拡張機能を構成する手順については、拡張機能を追加して構成するをご覧ください。

共通の拡張プロパティ

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

プロパティ 説明 デフォルト 必須
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
}

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