Você está lendo a documentação do Apigee Edge.
Acesse a
documentação da Apigee X.info
Versão: 1.1.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 desses dados, além do nome da região em que as funções estão implantadas, para configurar essa extensão.
Implante sua 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 precisa ser invocada de forma síncrona ou assíncrona ou se os valores dos parâmetros precisam ser validados. | String. | Nenhum. | Não. |
| logType | Especifica opcionalmente se os últimos 4 KB de dados de registro precisam ser retornados. | String | Nenhum. | Não. |
| qualifier | 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 da funçã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 pela API Management, é um valor codificado em base64 gerado a partir desse arquivo JSON de chave. |
Nenhum. | Sim. |