Extensão do Amazon S3

Você está visualizando a documentação do Apigee Edge.
Acesse Documentação da Apigee X.
informações

Versão: 1.1.1

Gerenciar arquivos em um bucket do Amazon S3. Com esta extensão, é possível listar, fazer o download e excluir arquivos. Também é possível gerar um URL assinado para fazer o download de um arquivo.

Cada instância configurada dessa extensão funciona com um bucket específico. Para vários buckets, use uma instância configurada dessa extensão para cada bucket.

Pré-requisitos

Antes de usar a extensão de um proxy de API usando a política ExtensionCallout, você precisa:

Sobre o Amazon S3

O Amazon Simple Storage Service (Amazon S3) é um serviço de armazenamento de objetos.

Ações

deleteFile

Exclui o arquivo especificado de um bucket do S3.

Sintaxe

<Action>deleteFile</Action>
<Input><![CDATA[
{
  "fileName" : "name-of-file-to-delete"
}
]]>
</Input>

Exemplo

<Action>deleteFile</Action>
<Input><![CDATA[
{
  "fileName" : "names.tmp"
}
]]>
</Input>

Parâmetros de solicitação

Parâmetro Descrição Tipo Padrão Obrigatório
fileName O nome do arquivo a ser excluído. String Nenhum. Sim.

Resposta

Nenhum.

Propriedades da resposta

Nenhum.

downloadFile

Faz o download do arquivo especificado de um bucket do S3.

Sintaxe

<Action>downloadFile</Action>
<Input><![CDATA[
{
  "fileName" : "filename"
}
]]>
</Input>
<Output>flow-variable</Output>

Exemplo

<Action>downloadFile</Action>
<Input><![CDATA[
{
  "fileName" : "product-sheet.pdf"
}
]]>
</Input>
<Output>downloaded.file</Output>

Parâmetros de solicitação

Parâmetro Descrição Tipo Padrão Obrigatório
fileName O nome do arquivo que será baixado. String Nenhum. Sim.

Resposta

JSON com uma propriedade content que inclui o conteúdo do arquivo.

{
  "content":"Hello World!"
}

Propriedades da resposta

Propriedade Descrição Tipo Padrão
conteúdo Uma string que contém o conteúdo do arquivo solicitado. String. Nenhum.

generateSignedURL

Gera um URL assinado para fazer o download do arquivo especificado de um bucket do S3.

Sintaxe

<Action>generateSignedURL</Action>
<Input><![CDATA[
{
  "fileName": "filename",
  "expiresIn": duration-in-seconds
}
]]>
</Input>
<Output>flow-variable</Output>

Exemplo

<Action>generateSignedURL</Action>
<Input><![CDATA[
{
  "fileName": "product-info.pdf",
  "expiresIn": 3600
}
]]>
</Input>
<Output>download.url</Output>

Parâmetros de solicitação

Parâmetro Descrição Tipo Padrão Obrigatório
fileName O nome do arquivo que será baixado. String Nenhum. Sim.
expiresIn A duração em segundos até o URL expirar. Número inteiro 86400 Não.

Resposta

JSON com uma propriedade de string url que contém o URL gerado.

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

Propriedades da resposta

Propriedade Descrição Tipo Padrão
url Um URL para o arquivo solicitado. String Nenhum.

listFiles

Invoca a execução de uma função do AWS Lambda.

Sintaxe

<Action>listFiles</Action>
<Input><![CDATA[{}]]></Input>
<Output>flow-variable</Output>

Especifique parsed="false" no elemento <Output> se quiser a variável para conter o JSON bruto. Caso contrário, a variável não será utilizável.

Exemplo

<Action>listFiles</Action>
<Input><![CDATA[{}]]></Input>
<Output parsed="false">listFilesOutput</Output>

Parâmetros de solicitação

Nenhum.

Resposta

Uma matriz de nomes de arquivos do S3.

["hello_world.txt"]

Propriedades da resposta

Nenhum.

Referência de configuração

Use o seguinte ao configurar e implantar esta extensão para uso em proxies de API. Para saber como configurar uma extensão usando o console da Apigee, consulte Adicionar e configurar uma extensão.

Propriedades de extensão comuns

The following properties are present for every extension.

Property Description Default Required
name Name you're giving this configuration of the extension. None Yes
packageName Name of the extension package as given by Apigee Edge. None Yes
version Version number for the extension package from which you're configuring an extension. None Yes
configuration Configuration value specific to the extension you're adding. See Properties for this extension package None Yes

Propriedades deste pacote de extensão

Especifique valores para as seguintes propriedades de configuração específicas desta extensão.

Propriedade Descrição Padrão Obrigatório
configuração Insira o nome do bucket do Amazon S3 a ser usado, como sample-bucket. Nenhum. Sim.
configuração Insira o nome da região da AWS a ser usada, como us-east-2. Nenhum. Sim.
credenciais Quando inserido no console do Apigee Edge, esse é um arquivo JSON contendo o ID da chave de acesso e a chave de acesso da Amazon no seguinte formato:

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

Quando enviado pela API de gerenciamento, é um valor codificado em base64 gerado a partir desse arquivo JSON de chave.
Nenhum. Sim.