Selecione suas preferências de cookies

Usamos cookies essenciais e ferramentas semelhantes que são necessárias para fornecer nosso site e serviços. Usamos cookies de desempenho para coletar estatísticas anônimas, para que possamos entender como os clientes usam nosso site e fazer as devidas melhorias. Cookies essenciais não podem ser desativados, mas você pode clicar em “Personalizar” ou “Recusar” para recusar cookies de desempenho.

Se você concordar, a AWS e terceiros aprovados também usarão cookies para fornecer recursos úteis do site, lembrar suas preferências e exibir conteúdo relevante, incluindo publicidade relevante. Para aceitar ou recusar todos os cookies não essenciais, clique em “Aceitar” ou “Recusar”. Para fazer escolhas mais detalhadas, clique em “Personalizar”.

Como resolver problemas com propriedades somente gravação em recursos AWS::Lambda::Function

Modo de foco
Como resolver problemas com propriedades somente gravação em recursos AWS::Lambda::Function - AWS CloudFormation

Este tópico explica como resolver problemas com propriedades somente gravação em recursos AWS::Lambda::Function ao usar o gerador de IaC.

Problema

O recurso AWS::Lambda::Function tem três conjuntos de propriedades mutuamente excludentes para especificar o código Lambda:

  • As propriedades Code/S3Bucket e Code/S3Key, e opcionalmente, a propriedade Code/S3ObjectVersion

  • a propriedade Code/ImageUri

  • a propriedade Code/ZipFile

Somente um desses conjuntos pode ser usado para um determinado recurso AWS::Lambda::Function.

O gerador de IaC não pode determinar qual conjunto de propriedades somente gravação exclusivas foi usado para criar ou atualizar o recurso. Como resultado, ele inclui somente o primeiro conjunto de propriedades no modelo gerado. As propriedades Code/ImageUri e Code/ZipFile são omitidas.

Além disso, o gerador de IaC emite os seguintes avisos:

  • MUTUALLY_EXCLUSIVE_PROPERTIES: avisa que Code/S3Bucket e Code/S3Key são identificadas como propriedades mutuamente excludentes.

  • UNSUPPORTED_PROPERTIES: avisa que não há suporte à propriedade Code/S3ObjectVersion.

Para incluir recursos AWS::Lambda::Function em um modelo gerado, você deve baixar e atualizar o modelo com as propriedades de código corretas.

Resolução

Se você armazenar seu código do Lambda em um bucket do Amazon S3 e não usar a propriedade S3ObjectVersion, poderá importar o modelo gerado sem nenhuma modificação. O gerador de IaC solicitará o bucket e a chave do Amazon S3 como parâmetros de modelo durante a operação de importação.

Se você armazenar seu código do Lambda como um repositório do Amazon ECR, poderá atualizar seu modelo usando as seguintes instruções:
  1. Baixe o modelo gerado.

  2. Remova as propriedades e os parâmetros correspondentes das propriedades Code/S3Bucket e Code/S3Key do modelo gerado.

  3. Substitua as propriedades removidas no modelo gerado pela propriedade Code/ImageUri, especificando o URL do repositório do Amazon ECR.

  4. Abra o modelo gerado no console do gerador de IaC e escolha o botão Importar modelo editado.

Se você armazenar seu código do Lambda em um arquivo ZIP, poderá atualizar seu modelo usando as seguintes instruções:
  1. Baixe o modelo gerado.

  2. Remova as propriedades e os parâmetros correspondentes das propriedades Code/S3Bucket e Code/S3Key do modelo gerado.

  3. Substitua as propriedades removidas no modelo gerado pela propriedade Code/ZipFile.

  4. Abra o modelo gerado no console do gerador de IaC e escolha o botão Importar modelo editado.

Se você não tiver uma cópia do seu código do Lambda, poderá atualizar seu modelo usando as seguintes instruções:
  1. Use a ação GetFunction da API do AWS Lambda (por exemplo, usando o comando aws lambda get-function da AWS CLI).

  2. Na resposta, o parâmetro RepositoryType será S3 se o código estiver em um bucket do Amazon S3 ou ECR se o código estiver em um repositório do Amazon ECR.

  3. Na resposta, o parâmetro Location contém um URL pré-assinado que pode ser usado para baixar o pacote de implantação por 10 minutos. Baixe o código.

  4. Carregue o código para um bucket do Amazon S3.

  5. Execute uma operação de importação com o modelo gerado e forneça o nome do bucket e a chave como valores de parâmetros.

Nesta página

PrivacidadeTermos do sitePreferências de cookies
© 2025, Amazon Web Services, Inc. ou suas afiliadas. Todos os direitos reservados.