Invocação de funções do Lambda com isolamento de locatários
Ao invocar uma função que tenha o isolamento de locatários habilitado, você deve fornecer um parâmetro tenant-id. Esse parâmetro garante que a invocação da função seja processada em um ambiente de execução dedicado a esse locatário específico.
Invocação de funções com isolamento de locatários (AWS CLI)
Invocação síncrona
Para invocações síncronas, adicione o parâmetro --tenant-id ao seu comando Invoke:
aws lambda invoke \ --function-nameimage-analysis\ --tenant-idblue\ response.json
Invocação assíncrona
Para invocações assíncronas, inclua os parâmetros --tenant-id e --invocation-type Event:
aws lambda invoke \ --function-nameimage-analysis\ --tenant-idblue\ --invocation-type Event \ response.json
Invocação de funções com isolamento de locatários (API)
Ao usar a ação da API Invoke diretamente, inclua o identificador de locatário usando o parâmetro X-Amzn-Tenant-Id na sua solicitação.
Exemplo de solicitação de API
POST /2015-03-31/functions/image-analysis/invocations HTTP/1.1 Host: lambda.us-east-1.amazonaws.com Content-Type: application/json Authorization: AWS4-HMAC-SHA256 Credential=...X-Amz-Tenant-Id:blue{ "key1": "value1", "key2": "value2" }
Invocação de funções com isolamento de locatários (API Gateway)
Ao usar as APIs REST do API Gateway para acionar funções do Lambda isoladas de locatário, é necessário configurar o API Gateway para mapear as propriedades da solicitação do cliente para o cabeçalho X-Amz-Tenant-Id que o Lambda espera. O API Gateway usa a ação Invoke da API do Lambda, o que exige que o ID de locatário seja passado usando o cabeçalho de HTTP X-Amz-Tenant-Id. É possível configurar o API Gateway para injetar esse cabeçalho de HTTP na solicitação de invocação do Lambda com um valor obtido das propriedades da solicitação do cliente, como cabeçalhos de HTTP, parâmetros de consulta ou parâmetros de caminho. É necessário primeiro mapear a propriedade da solicitação do cliente antes de poder substituir o cabeçalho X-Amz-Tenant-Id.
nota
Não é possível usar APIs de HTTP para invocar funções do Lambda isoladas de locatário, pois não é possível substituir o cabeçalho X-Amz-Tenant-Id.
Uso de cabeçalhos de solicitação
Configure sua integração com o API Gateway para mapear um cabeçalho personalizado da solicitação do cliente para o cabeçalho X-Amz-Tenant-Id. O exemplo a seguir mostra uma solicitação do cliente com um cabeçalho x-tenant-id:
POST /api/process HTTP/1.1 Host:your-api-id.execute-api.us-east-1.amazonaws.com Content-Type: application/jsonx-tenant-id:blue{ "data": "sample payload" }
Na configuração do método do API Gateway, é necessário:
Ativar o parâmetro do cabeçalho da solicitação do cliente (por exemplo,
method.request.header.x-tenant-id)Mapear o cabeçalho do cliente para o cabeçalho de integração do Lambda usando
integration.request.header.X-Amz-Tenant-Id
Usar parâmetros de consulta
Da mesma forma, é possível mapear os parâmetros de consulta para o cabeçalho X-Amz-Tenant-Id:
GET /api/process?tenant-id=blue&data=sampleHTTP/1.1 Host:your-api-id.execute-api.us-east-1.amazonaws.com
Configurar o método para habilitar o parâmetro de consulta e mapeá-lo para o cabeçalho de integração.
Invocação de funções com isolamento de locatários (SDK)
Ao usar SDKs da AWS para invocar funções isoladas de locatário, inclua o identificador do locatário na sua solicitação de invocação.