Você está lendo a documentação do Apigee Edge.
Acesse a
documentação da Apigee X.info
Versão: 2.0.1
Execute funções implantadas no AWS Lambda. Use essa extensão para listar as funções disponíveis na sua conta da AWS e, em seguida, invocar funções específicas.
Pré-requisitos
Antes de usar a extensão de um proxy de API usando a política ExtensionCallout, você precisa:
Receber o ID da chave de acesso e a chave de acesso secreta da Amazon.
Você vai precisar deles, além do nome da região em que as funções estão implantadas, para configurar essa extensão.
Implante a função do Lambda. Para que a extensão possa acessar uma função do Lambda, ela precisa ser:
- Implantada em uma VPC pública
- Implantada em uma VPC particular com gateway NAT público
Consulte Como configurar uma função do Lambda para acessar recursos em uma VPC da Amazon para mais informações.
Sobre o AWS Lambda
O AWS Lambda oferece ambientes de computação em que é possível executar funções em uma das linguagens compatíveis.
Ações
invocar
Invoca uma função no AWS Lambda.
Para mais detalhes sobre os parâmetros, consulte a documentação de invocação do AWS Lambda.
Sintaxe
<Action>invoke</Action>
<Input><![CDATA[
{
"functionName" : "function-on-lambda",
"invocationType" : "RequestResponse | Event | DryRun",
"logType" : "None | Tail",
"qualifier" : "Version-or-alias",
"payload" : "Escaped-JSON-string"
}
]]>
</Input>
<Output>flow-variable</Output>
Exemplo
<Action>invoke</Action>
<Input><![CDATA[
{
"functionName" : "helloWorld",
"invocationType" : "RequestResponse",
"logType" : "None",
"qualifier" : "$LATEST",
"payload" : "{ \"key\": \"val\" }"
}
]]>
</Input>
<Output>function.response.value</Output>
Parâmetros de solicitação
Para mais detalhes sobre os parâmetros, consulte a documentação de invocação do AWS Lambda.
| Parâmetro | Descrição | Tipo | Padrão | Obrigatório |
|---|---|---|---|---|
| functionName | O nome da função a ser invocada. | String. | Nenhum. | Sim. |
| invocationType | Especifica se a função será invocada de forma síncrona ou assíncrona ou se os valores dos parâmetros serão validados. | String. | Nenhum. | Não. |
| logType | Especifica opcionalmente se os últimos 4 KB de dados de registro serão retornados. | String | Nenhum. | Não. |
| qualificador | A versão do alias de uma função do Lambda publicada. | String | Nenhum. | Não. |
| payload | JSON como entrada para a função do Lambda. | String | Nenhum. | Não. |
Resposta
Uma matriz de funções que contém detalhes específicos da versão. Confira o seguinte exemplo:
{
"StatusCode" : 200,
"Payload" : "{\"statusCode\":200,\"body\":\"\\\"Hello World!\\\"\"}"
}
Propriedades de resposta
| Propriedade | Descrição | Tipo | Padrão |
|---|---|---|---|
| StatusCode | Código de status HTTP. | Número inteiro | Nenhum. |
| Payload | JSON que representa o objeto retornado pela função. Presente somente se o tipo de invocação for RequestResponse. Para um erro de função, ele contém uma mensagem de descrição do erro. | String | Nenhum. |
listFunctions
Lista as funções do AWS Lambda disponíveis.
Para mais detalhes sobre os parâmetros, consulte a documentação ListFunctions do AWS Lambda.
Sintaxe
<Action>listFunctions</Action>
<Input><![CDATA[
{
"masterRegion" : "ALL | [a-z]{2}(-gov)?-[a-z]+-\d{1}",
"functionVersion" : "ALL",
"maxItems" : 1 - 10000
}
]]>
</Input>
<Output>flow-variable</Output>
Exemplo
<Action>listFunctions</Action>
<Input><![CDATA[
{
"masterRegion" : "ALL",
"functionVersion" : "ALL",
"maxItems" : 50
}
]]>
</Input>
<Output>function.list</Output>
Parâmetros de solicitação
Para mais detalhes sobre os parâmetros, consulte a documentação ListFunctions do AWS Lambda.
| Parâmetro | Descrição | Tipo | Padrão | Obrigatório |
|---|---|---|---|---|
| masterRegion | A região (como us-east-2) cujas funções precisam ser listadas; ALL para incluir funções de qualquer região. Se especificado, você também precisa especificar o functionVersion. |
String | Nenhum. | Não. |
| functionVersion | Especifique ALL para listar todas as versões publicadas. Se não for especificado, apenas o ARN da versão não publicada mais recente será retornado. |
String | Nenhum. | Não. |
| maxItems | O número máximo de funções a serem retornadas na resposta. Precisa ser maior que 0. O máximo absoluto que pode ser retornado é 50. | Número inteiro | Nenhum. | Não. |
Resposta
JSON que representa uma matriz de funções que contém detalhes específicos da versão.
[
{
"FunctionName": "helloWorld",
"FunctionArn": "arn:aws:lambda:fake-region:012345:function:helloWorld",
"Runtime": "nodejs",
"Role": "arn:aws:iam::012345:role/service-role/fakeRole",
"Handler": "index.handler",
"Description": "A Hello World lambda function.",
"Version": "$LATEST"
},
{
"FunctionName": "helloWorld",
"FunctionArn": "arn:aws:lambda:fake-region:012345:function:helloWorld",
"Runtime": "nodejs",
"Role": "arn:aws:iam::012345:role/service-role/fakeRole",
"Handler": "index.handler",
"Description": "A Hello World lambda function.",
"Version": "1"
}
]
Propriedades de resposta
| Propriedade | Descrição | Tipo | Padrão |
|---|---|---|---|
| Description | Uma descrição da função. | String. | Nenhum. |
| Handler | A função que o Lambda chama para começar a execução. | String. | Nenhum. |
| FunctionArn | O nome do recurso da Amazon da função. | String. | Nenhum. |
| FunctionName | O nome da função. | String. | Nenhum. |
| Role | O papel de execução da função. | String. | Nenhum. |
| Runtime | O ambiente de execução da função. | String. | Nenhum. |
| Version | A versão da função. | String. | Nenhum. |
Referência de configuração
Use o seguinte ao configurar e implantar essa extensão para uso em proxies de API. Para conferir as etapas de configuração de uma extensão usando o console do Apigee, consulte Como 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 |
|---|---|---|---|
| Região do AWS Lambda | O nome da região em que as funções estão implantadas. Por exemplo, us-east-1. |
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, ele é um valor codificado em base64 gerado a partir desse arquivo JSON de chave. |
Nenhum. | Sim. |