

# Restrições do CloudFront Functions
<a name="cloudfront-function-restrictions"></a>

As restrições a seguir aplicam-se somente ao CloudFront Functions.

**Contents**
+ [Logs](#cloudfront-function-restrictions-logs)
+ [Corpo da solicitação](#cloudfront-function-restrictions-request-body)
+ [Usar credenciais temporárias com a API KeyValueStore do CloudFront](#regional-endpoint-for-key-value-store)
+ [Runtime](#cloudfront-function-runtime-restrictions)
+ [Utilização de recursos de computação](#cloudfront-function-restrictions-compute-utilization)

Para ter mais informações sobre cotas (anteriormente chamadas de limites), consulte [Cotas no CloudFront Functions](cloudfront-limits.md#limits-functions).

## Logs
<a name="cloudfront-function-restrictions-logs"></a>

Os logs de função no CloudFront Functions são truncados em 10 KB.

## Corpo da solicitação
<a name="cloudfront-function-restrictions-request-body"></a>

O CloudFront Functions não pode acessar o corpo da solicitação HTTP.

## Usar credenciais temporárias com a API KeyValueStore do CloudFront
<a name="regional-endpoint-for-key-value-store"></a>

É possível usar o AWS Security Token Service (AWS STS) para gerar credenciais de segurança temporárias (também conhecidas como *tokens de sessão*). Os tokens de sessão permitem assumir temporariamente um perfil do AWS Identity and Access Management (IAM) para que você possa acessar Serviços da AWS.

Para chamar a [API KeyValueStore do CloudFront](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_Operations_Amazon_CloudFront_KeyValueStore.html), use um endpoint *Regional* no AWS STS para exibir um token de sessão da *versão 2*. Se você usar o endpoint *global* para o AWS STS (`sts.amazonaws.com`), o AWS STS vai gerar um token de sessão da *versão 1*, que não é compatível com o Signature Version 4A (SigV4A). Como consequência, você receberá um erro de autenticação.

Para chamar a API KeyValueStore do CloudFront, é possível usar as seguintes opções: 

**AWS CLI e AWS SDKs**  
É possível configurar a AWS CLI ou um SDK da AWS para usar endpoints regionais do AWS STS. Para ter mais informações, consulte [AWS STS Regionalized endpoints](https://docs.aws.amazon.com/sdkref/latest/guide/feature-sts-regionalized-endpoints.html) no *Guia de referência de ferramentas e SDKs da AWS*.  
Para ter mais informações sobre endpoints do AWS STS, consulte [Regiões e endpoints](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html#id_credentials_region-endpoints) no *Guia do usuário do IAM*.

**SAML**  
É possível configurar o SAML para usar endpoints regionais do AWS STS. Para ter mais informações, consulte a publicação de blog [How to use regional SAML endpoints for failover](https://aws.amazon.com/blogs/security/how-to-use-regional-saml-endpoints-for-failover/).

**`SetSecurityTokenServicePreferences`API **  
Em vez de usar um endpoint regional do AWS STS, é possível configurar o endpoint global para o AWS STS para exibir tokens de sessão da versão 2. Use a operação de API [SetSecurityTokenServicePreferences](https://docs.aws.amazon.com/IAM/latest/APIReference/API_SetSecurityTokenServicePreferences.html) para fazer isso e configurar a Conta da AWS.   

**Example Exemplo: comando da CLI do IAM**  

```
aws iam set-security-token-service-preferences --global-endpoint-token-version v2Token
```
Recomendamos usar endpoints regionais do AWS STS em vez dessa opção. Os endpoints regionais oferecem maior disponibilidade e casos de failover.

**Provedor de identidades personalizado**  
Se você estiver usando um provedor de identidades personalizado que faça a federação e assuma o perfil, use uma das opções anteriores para o sistema de provedor de identidades principal responsável por gerar o token de sessão.

## Runtime
<a name="cloudfront-function-runtime-restrictions"></a>

O ambiente de runtime do CloudFront Functions não permite a avaliação dinâmica de código e restringe o acesso à rede, ao sistema de arquivos, às variáveis do ambiente e aos temporizadores. Para obter mais informações, consulte [Recursos restritos](functions-javascript-runtime-10.md#writing-functions-javascript-features-restricted-features).

**nota**  
Para usar o CloudFront KeyValueStore, a função do CloudFront deve usar o [runtime 2.0 do JavaScript.](functions-javascript-runtime-20.md)

## Utilização de recursos de computação
<a name="cloudfront-function-restrictions-compute-utilization"></a>

O CloudFront Functions tem um limite de tempo para executar, o qual é medido como *Utilização de recursos de computação*. A utilização de recursos de computação é um número entre 0 e 100 que indica a quantidade de tempo que a função levou para ser executada como um percentual do tempo máximo permitido. Por exemplo, uma utilização de computação de 35 significa que a função foi concluída em 35% do tempo máximo permitido.

Quando você [testa uma função](test-function.md), é possível ver o valor de utilização de recursos de computação na saída do evento de teste. Para funções de produção, você pode visualizar a [compute utilization metric](viewing-cloudfront-metrics.md#monitoring-console.cloudfront-functions) (métrica de utilização de recursos de computação) na [Página de monitoramento no console do CloudFront](https://console.aws.amazon.com/cloudfront/v4/home?#/monitoring) ou no CloudWatch.