Extensão do Amazon S3

Você está lendo a documentação do Apigee Edge.
Acesse a documentação da Apigee X. info

Versão: 2.0.1

Gerenciar arquivos em um bucket do Amazon S3. Com essa extensão, é possível listar, baixar 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 um deles.

Pré-requisitos

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

Você vai precisar deles, além do nome do bucket e da região da AWS, para configurar essa extensão.

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 a ser baixado. String Nenhum. Sim.

Resposta

JSON com uma propriedade content que contém 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 a ser baixado. String Nenhum. Sim.
expiresIn A duração em segundos até a 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 que a variável contenha o JSON bruto. Caso contrário, a variável não poderá ser usada.

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 essa extensão para uso em proxies de API. Para saber como configurar uma extensão usando o console do Apigee, consulte Adicionar e configurar uma extensão.

Propriedades comuns de extensão

As propriedades a seguir estão presentes para cada extensão.

Propriedade Descrição Padrão Obrigatório
name Nome que será dado a esta configuração da extensão. Nenhum Sim
packageName Nome do pacote de extensão fornecido pelo Apigee Edge. Nenhum Sim
version Número da versão do pacote de extensão a partir do qual você está configurando uma extensão. Nenhum Sim
configuration Valor de configuração específico da extensão que você está adicionando. Consulte Propriedades para este pacote de extensão. Nenhum Sim

Propriedades deste pacote de extensão

Especifique valores para as seguintes propriedades de configuração específicas dessa 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 que contém 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 usando a API Management, é um valor codificado em base64 gerado desse arquivo JSON de chave.
Nenhum. Sim.