

# Implantar funções do Lambda como arquivos .zip
<a name="configuration-function-zip"></a>

Quando você cria uma função do Lambda, você empacota o código da função em umpacote de implantação. O Lambda é compatível com dois tipos de pacotes de implantação: imagens de contêiner e arquivos .zip. O fluxo de trabalho para criar uma função depende do tipo de pacote de implantação. Para criar uma função definida como uma imagem de contêiner, consulte [Criar uma função do Lambda usando uma imagem de contêiner](images-create.md).

É possível usar o console do Lambda e a API do Lambda para criar uma função definida com um arquivo de arquivo.zip. Também é possível carregar um arquivo.zip atualizado para alterar o código da função. 

**nota**  
Não é possível alterar o [tipo de pacote de implantação](https://docs.aws.amazon.com/lambda/latest/api/API_CreateFunction.html#lambda-CreateFunction-request-PackageType) (.zip ou imagem de contêiner) de uma função existente. Por exemplo, você não pode converter uma função de imagem de contêiner para usar um arquivo compactado .zip. É necessário criar uma nova função.

**Topics**
+ [

## Como criar a função
](#configuration-function-create)
+ [

## Usando o editor de código do console
](#configuration-functions-console-update)
+ [

## Atualizar código de função
](#configuration-function-update)
+ [

## Como alterar o runtime
](#configuration-function-runtime)
+ [

## Alterar a arquitetura
](#configuration-function-arch)
+ [

## Usar a API do Lambda
](#configuration-function-api)
+ [

## Baixar o código da sua função
](#configuration-function-download)
+ [

## CloudFormation
](#configuration-function-cloudformation)
+ [

# Criptografia dos pacotes de implantação .zip do Lambda
](encrypt-zip-package.md)

## Como criar a função
<a name="configuration-function-create"></a>

Ao criar uma função definida com um arquivo de arquivo .zip, você escolhe um modelo de código, a versão de idioma e a função de execução da função. Você adiciona o código da função depois do Lambda cria a função.

**Para criar a função**

1. Abra a [página Funções](https://console.aws.amazon.com/lambda/home#/functions) do console do Lambda.

1. Escolha a opção **Criar função**.

1. Selecione **Começar do zero** ou **Usar um esquema** para criar a função. 

1. Em **Basic information** (Informações básicas), faça o seguinte:

   1. Em **Function name (Nome da função)**, insira o nome da função. Os nomes das funções têm um limite de 64 caracteres de comprimento.

   1. Para o **Runtime**, escolha a versão do idioma a ser usada para sua função.

   1. (Opcional) Em **Architecture** (Arquitetura), escolha a arquitetura do conjunto de instruções a ser usado para sua função. O valor da arquitetura padrão é X86\$164. Ao criar o pacote de implantação para sua função, verifique se ela é compatível com esta [arquitetura de conjunto de instruções](foundation-arch.md).

1. (Opcional) Em **Permissões**, expanda **Alterar função de execução padrão**. Crie uma **função de execução** ou use uma existente.

1. (Opcional) Expanda **Advanced settings (Configurações avançadas)**. É possível escolher uma **configuração de assinatura de código** para a função. Também é possível configurar um (Amazon VPC) para que a função acesse.

1. Escolha a opção **Criar função**.

O Lambda cria a nova função. Agora é possível usar o console do para adicionar o código da função e configurar outros parâmetros e recursos da função. Para obter instruções sobre implantação de código, consulte a página do manipulador de runtime que a função usa. 

------
#### [ Node.js ]

[Implantar funções do Lambda em Node.js com arquivos .zip](nodejs-package.md) 

------
#### [ Python ]

 [Trabalhar com arquivos .zip para funções do Lambda em Python](python-package.md) 

------
#### [ Ruby ]

 [Implantar funções do Lambda em Ruby com arquivos .zip](ruby-package.md) 

------
#### [ Java ]

 [Implantar funções do Lambda em Java com arquivos .zip ou JAR](java-package.md) 

------
#### [ Go ]

 [Implantar funções do Lambda em Go com arquivos .zip](golang-package.md) 

------
#### [ C\$1 ]

 [Criar e implantar funções do Lambda em C\$1 com arquivos .zip](csharp-package.md) 

------
#### [ PowerShell ]

 [Implantar funções do Lambda para PowerShell com arquivos .zip](powershell-package.md) 

------

## Usando o editor de código do console
<a name="configuration-functions-console-update"></a>

O console cria uma função do Lambda com um único arquivo de origem. Para linguagens de desenvolvimento de scripts, você pode editar esse arquivo e adicionar mais arquivos usando o editor de códigos integrado. Para salvar suas alterações, selecione **Salvar**. Em seguida, para executar seu código, escolha **Teste**.

Quando você salva seu código de função, o console do Lambda cria um pacote de implantação de arquivos .zip. Quando desenvolver o código de função fora do console (usando um IDE), você precisará [criar um pacote de implantação](nodejs-package.md) para carregar o código na função do Lambda.

## Atualizar código de função
<a name="configuration-function-update"></a>

Para linguagens de desenvolvimento de scripts (Node.js, Python, e Ruby), você pode editar o código de sua função no editor de código incorporado. Se o tamanho do código for superior a 3 MB, se você precisar adicionar bibliotecas ou para linguagens incompatíveis com o editor (Java, Go, C\$1), é necessário fazer upload do código da função como um arquivo.zip. Se o arquivo .zip for menor que 50 MB, você poderá fazer upload do arquivo .zip da sua máquina local. Se o arquivo for maior que 50 MB, faça upload do arquivo para a função desde um bucket do Amazon S3.

**Para carregar código de função como um arquivo.zip**

1. Abra a [página Funções](https://console.aws.amazon.com/lambda/home#/functions) do console do Lambda.

1. Escolha a função a ser atualizada e escolha a guia **Código**.

1. Em **Fonte de código)**, escolha **Fazer upload de**.

1. Escolha **.zip file** (Arquivo .zip) e, em seguida, escolha **Upload** (Fazer upload). 

   1. No seletor de arquivos, selecione a nova versão da imagem e escolha **Open** (Abrir) e, em seguida, **Save** (Salvar).

1. (Alternativa à etapa 4) Escolha **Localização do Amazon S3**.

   1. Na caixa de texto, insira o URL do link do S3 do arquivamento de arquivo .zip e, depois, escolha **Salvar**.

## Como alterar o runtime
<a name="configuration-function-runtime"></a>

Se você atualizar a configuração da função para usar um novo runtime, talvez seja necessário atualizar o código da função para ser compatível com o novo runtime. Ao atualizar a configuração da função para usar um runtime diferente, você **deverá** fornecer um novo código de função compatível com o runtime e a arquitetura. Para obter instruções de como criar um pacote de implantação para o código da função, consulte a página do manipulador para o runtime usado pela função.

As imagens de base do Node.js 20, Python 3.12, Java 21, .NET 8, Ruby 3.3 e posteriores são baseadas na imagem de contêiner mínimo do Amazon Linux 2023. Imagens base anteriores usam o Amazon Linux 2. O AL2023 oferece várias vantagens em relação ao Amazon Linux 2, incluindo uma área de implantação menor e versões atualizadas de bibliotecas, como `glibc`. Para obter mais informações, consulte [Introducing the Amazon Linux 2023 runtime for AWS Lambda](https://aws.amazon.com/blogs/compute/introducing-the-amazon-linux-2023-runtime-for-aws-lambda/) no Blog AWS Compute.

**Para alterar o runtime**

1. Abra a [página Funções](https://console.aws.amazon.com/lambda/home#/functions) do console do Lambda.

1. Escolha a função a ser atualizada e escolha a guia **Código**.

1. Role para baixo até a seção **Configurações de runtime** abaixo do editor de código.

1. Escolha **Editar**.

   1. Em **Runtime**, selecione o identificador de runtime.

   1. Em **Handler** (Manipulador), especifique o manipulador de sua função.

   1. Em **Architecture** (Arquitetura), escolha a arquitetura do conjunto de instruções a ser usado para sua função.

1. Escolha **Salvar**.

## Alterar a arquitetura
<a name="configuration-function-arch"></a>

Antes de alterar a arquitetura do conjunto de instruções, é necessário garantir que o código da função seja compatível com a arquitetura de destino. 

Se você usa Node.js, Python ou Ruby e edita o código da sua função no editor integrado, o código existente poderá ser executado sem modificação.

No entanto, se você fornecer seu código de função usando um pacote de implantação de arquivo.zip, deverá preparar um novo arquivo .zip compilado e criado corretamente para o runtime de destino e a arquitetura do conjunto de instruções. Para obter instruções, consulte a página do manipulador do runtime da sua função.

**Para alterar a arquitetura do conjunto de instruções**

1. Abra a [página Funções](https://console.aws.amazon.com/lambda/home#/functions) do console do Lambda.

1. Escolha a função a ser atualizada e escolha a guia **Código**.

1. Em **Configurações de runtime**, escolha **Editar**.

1. Em **Architecture** (Arquitetura), escolha a arquitetura do conjunto de instruções a ser usado para sua função.

1. Escolha **Salvar**.

## Usar a API do Lambda
<a name="configuration-function-api"></a>

Para criar e configurar uma função que usa um arquivo .zip, use as seguintes operações de API: 
+ [CreateFunction](https://docs.aws.amazon.com/lambda/latest/api/API_CreateFunction.html)
+ [UpdateFunctionCode](https://docs.aws.amazon.com/lambda/latest/api/API_UpdateFunctionCode.html)
+ [UpdateFunctionConfiguration](https://docs.aws.amazon.com/lambda/latest/api/API_UpdateFunctionConfiguration.html)

## Baixar o código da sua função
<a name="configuration-function-download"></a>

É possível baixar a versão atual não publicada (`$LATEST`) do código da sua função em .zip por meio do console do Lambda. Para fazer isso, primeiro verifique se você tem as seguintes permissões do IAM:
+ `iam:GetPolicy`
+ `iam:GetPolicyVersion`
+ `iam:GetRole`
+ `iam:GetRolePolicy`
+ `iam:ListAttachedRolePolicies`
+ `iam:ListRolePolicies`
+ `iam:ListRoles`

**Para baixar o código da função em .zip**

1. Abra a [página Funções](https://console.aws.amazon.com/lambda/home#/functions) do console do Lambda.

1. Escolha a função para a qual você deseja baixar o código da função em .zip.

1. Na **Visão geral da função**, escolha o botão **Download** e escolha **Baixar código da função em .zip**.

   1. Como alternativa, selecione **Baixar arquivo AWS SAM** para gerar e baixar um modelo SAM com base na configuração da sua função. Também é possível escolher **Baixar ambos** para baixar tanto o arquivo .zip quanto o modelo SAM.

## CloudFormation
<a name="configuration-function-cloudformation"></a>

É possível usar CloudFormation Como criar uma função do Lambda que usa um arquivo .zip. No seu modelo do CloudFormation, o recurso `AWS::Lambda::Function` especifica a função do Lambda. Para obter descrições das propriedades no recurso `AWS::Lambda::Function`, consulte [AWS::Lambda::Function](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html) no *Manual do usuário do AWS CloudFormation*.

No recurso `AWS::Lambda::Function`, defina as seguintes propriedades para criar uma função definida como um arquivo .zip:
+ AWS::Lambda::Function
  + PackageType: definido como `Zip`.
  + Código — Insira o nome do bucket do Amazon S3 e o nome do arquivo.zip na caixa`S3Bucket`e`S3Key`campos. Para Node.js ou Python, você pode fornecer código-fonte inline da sua função do Lambda.
  + Runtime: defina o valor do runtime.
  + Arquitetura: defina o valor da arquitetura como `arm64` para usar o processador AWS Graviton2. Por padrão, o valor da arquitetura é `x86_64`.

# Criptografia dos pacotes de implantação .zip do Lambda
<a name="encrypt-zip-package"></a>

O Lambda sempre fornece criptografia do lado do servidor em repouso para pacotes de implantação .zip e detalhes da configuração da função com uma AWS KMS key. Por padrão, o Lambda usa um [Chave pertencente à AWS](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-owned-cmk). Se esse comportamento padrão for adequado ao fluxo de trabalho, você não precisará configurar mais nada. A AWS não cobra pelo uso dessa chave.

Se você preferir, pode fornecer uma AWS KMS chave gerenciada pelo cliente. É possível fazer isso para ter controle sobre a alternância da chave KMS ou para atender aos requisitos de sua organização para gerenciar chaves KMS. Quando você usa uma chave gerenciada pelo cliente, somente os usuários em sua conta com acesso à chave do KMS podem visualizar ou gerenciar o código ou a configuração da função.

As chaves gerenciadas pelo cliente incorrem em cobranças do AWS KMS padrão. Para obter mais informações, consulte [Preços do AWS Key Management Service](https://aws.amazon.com/kms/pricing/).

## Criar uma chave gerenciada pelo cliente
<a name="create-key"></a>

 É possível criar uma chave simétrica gerenciada pelo cliente usando o Console de gerenciamento da AWS ou as APIs do AWS KMS.

**Para criar uma chave simétrica gerenciada pelo cliente**

Siga as etapas para [Criar chaves simétricas do KMS](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html#create-symmetric-cmk) no *Guia do desenvolvedor do AWS Key Management Service*.

### Permissões
<a name="enable-zip-permissions"></a>

**Política de chave**

As [políticas de chaves](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html) controlam o acesso à chave gerenciada pelo cliente. Cada chave gerenciada pelo cliente deve ter exatamente uma política de chave, que contém declarações que determinam quem pode usar a chave e como pode usá-la. Para obter mais informações, consulte [Como alterar uma política de chaves](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying.html#key-policy-modifying-how-to) no *Guia do desenvolvedor do AWS Key Management Service*.

Quando você usa uma chave gerenciada pelo cliente para criptografar um pacote de implantação .zip, o Lambda não adiciona uma [concessão](https://docs.aws.amazon.com/kms/latest/developerguide/grants.html) à chave. Em vez disso, sua política de chave do AWS KMS deve permitir que o Lambda chame as seguintes operações de API do AWS KMS em seu nome:
+ [kms:GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html)
+ [kms:Decrypt](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html)

O exemplo de política de chave a seguir permite que todas as funções do Lambda na conta 111122223333 chamem as operações do AWS KMS necessárias para a chave gerenciada pelo cliente especificada:

**Example Política de chave do AWS KMS**    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "lambda.amazonaws.com"
            },
            "Action": [
                "kms:GenerateDataKey",
                "kms:Decrypt"
            ],
            "Resource": "arn:aws:kms:us-east-1:111122223333:key/key-id",
            "Condition": {
                "StringLike": {
                "kms:EncryptionContext:aws:lambda:FunctionArn": "arn:aws:lambda:us-east-1:111122223333:function:*"
                }
            }
        }
    ]
}
```

Para obter mais informações sobre [solução de problemas de acesso à chave](https://docs.aws.amazon.com/kms/latest/developerguide/policy-evaluation.html#example-no-iam), consulte o *Guia do Desenvolvedor do AWS Key Management Service*.

**Permissões de entidade principal**

Quando você usa uma chave gerenciada pelo cliente para criptografar um pacote de implantação .zip, somente as [entidades principais](https://docs.aws.amazon.com/IAM/latest/UserGuide/intro-structure.html) com acesso a essa chave podem acessar o pacote de implantação .zip. Por exemplo, as entidades principais que não têm acesso à chave gerenciada pelo cliente não podem baixar o pacote .zip usando o URL pré-assinado do S3 que está incluído na resposta [GetFunction](https://docs.aws.amazon.com/lambda/latest/api/API_GetFunction.html). Uma `AccessDeniedException` é retornada na seção `Code` da resposta.

**Example AWS KMS AccessDeniedException**  

```
{
    "Code": {
        "RepositoryType": "S3",
        "Error": {
            "ErrorCode": "AccessDeniedException",
            "Message": "KMS access is denied. Check your KMS permissions. KMS Exception: AccessDeniedException KMS Message: User: arn:aws:sts::111122223333:assumed-role/LambdaTestRole/session is not authorized to perform: kms:Decrypt on resource: arn:aws:kms:us-east-1:111122223333:key/key-id with an explicit deny in a resource-based policy"
        },
        "SourceKMSKeyArn": "arn:aws:kms:us-east-1:111122223333:key/key-id"
    },
	...
```

Para obter mais informações sobre permissões para chaves do AWS KMS, consulte [Autenticação e controle de acesso do AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/control-access.html).

## Uso de uma chave gerenciada pelo cliente para seu pacote de implantação .zip
<a name="enable-zip-custom-encryption"></a>

Use os seguintes parâmetros de API para configurar as chaves gerenciadas pelo cliente para pacotes de implantação .zip:
+ [SourceKMSKeyArn](https://docs.aws.amazon.com/lambda/latest/api/API_FunctionCode.html#lambda-Type-FunctionCode-SourceKMSKeyArn): criptografa o pacote de implantação de origem .zip (o arquivo que você carrega).
+ [KMSKeyArn](https://docs.aws.amazon.com/lambda/latest/api/API_CreateFunction.html#lambda-CreateFunction-request-KMSKeyArn): criptografa [variáveis de ambiente](configuration-envvars-encryption.md) e snapshots do [Lambda SnapStart](snapstart.md).

Quando `SourceKMSKeyArn` e `KMSKeyArn` são especificados, o Lambda usa a chave `KMSKeyArn` para criptografar a versão descompactada do pacote que o Lambda usa para invocar a função. Quando `SourceKMSKeyArn` é especificado, mas `KMSKeyArn` não é, o Lambda usa uma [Chave gerenciada pela AWS](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk) para criptografar a versão descompactada do pacote.

------
#### [ Lambda console ]

**Para adicionar criptografia de chave gerenciada pelo cliente ao criar uma função**

1. Abra a [página Funções](https://console.aws.amazon.com/lambda/home#/functions) do console do Lambda.

1. Escolha a opção **Criar função**.

1. Escolha **Author from scratch** (Criar do zero) ou **Container image** (Imagem de contêiner). 

1. Em **Basic information** (Informações básicas), faça o seguinte:

   1. Em **Function name (Nome da função)**, insira o nome da função.

   1. Em **Runtime**, escolha a versão da linguagem a ser usada para sua função.

1. Expanda **Configurações avançadas** e selecione **Habilitar a criptografia com uma chave do AWS KMS gerenciada pelo cliente**.

1. Escolha uma chave gerenciada pelo cliente.

1. Escolha a opção **Criar função**.

Para remover a criptografia de chave gerenciada pelo cliente ou usar uma chave diferente, carregue o pacote de implantação .zip novamente.

**Para adicionar criptografia de chave gerenciada pelo cliente a uma função existente**

1. Abra a [página Funções](https://console.aws.amazon.com/lambda/home#/functions) do console do Lambda.

1. Escolha o nome de uma função.

1. No painel do **Código-fonte**, escolha **Carregar de**.

1. Escolha o **arquivo .zip** ou o **local do Amazon S3**.  
![\[\]](http://docs.aws.amazon.com/pt_br/lambda/latest/dg/images/upload-zip.png)

1. Faça upload do arquivo ou insira o local do Amazon S3.

1. Escolha **Habilitar a criptografia com uma chave do AWS KMS gerenciada pelo cliente**.

1. Escolha uma chave gerenciada pelo cliente.

1. Escolha **Salvar**.

------
#### [ AWS CLI ]

**Para adicionar criptografia de chave gerenciada pelo cliente ao criar uma função**

No seguinte exemplo de [create-function](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/lambda/create-function.html):
+ `--code`: especifica o caminho local para o pacote de implantação .zip (`ZipFile`) e a chave gerenciada pelo cliente para criptografá-lo (`SourceKMSKeyArn`).
+ `--kms-key-arn`: especifica a chave gerenciada pelo cliente para criptografar as variáveis de ambiente e a versão descompactada do pacote de implantação.

```
aws lambda create-function \
  --function-name myFunction \
  --runtime nodejs24.x \
  --handler index.handler \
  --role arn:aws:iam::111122223333:role/service-role/my-lambda-role \
  --code ZipFile=fileb://myFunction.zip,SourceKMSKeyArn=arn:aws:kms:us-east-1:111122223333:key/key-id \
  --kms-key-arn arn:aws:kms:us-east-1:111122223333:key/key2-id
```

No seguinte exemplo de [create-function](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/lambda/create-function.html):
+ `--code`: especifica a localização do arquivo.zip em um bucket do Amazon S3 (`S3Bucket`, `S3Key`, `S3ObjectVersion`) e a chave gerenciada pelo cliente para criptografá-lo (`SourceKMSKeyArn`).
+ `--kms-key-arn`: especifica a chave gerenciada pelo cliente para criptografar as variáveis de ambiente e a versão descompactada do pacote de implantação.

```
aws lambda create-function \
  --function-name myFunction \
  --runtime nodejs24.x --handler index.handler \
  --role arn:aws:iam::111122223333:role/service-role/my-lambda-role \
  --code S3Bucket=amzn-s3-demo-bucket,S3Key=myFileName.zip,S3ObjectVersion=myObjectVersion,SourceKMSKeyArn=arn:aws:kms:us-east-1:111122223333:key/key-id \
  --kms-key-arn arn:aws:kms:us-east-1:111122223333:key/key2-id
```

**Para adicionar criptografia de chave gerenciada pelo cliente a uma função existente**

No seguinte exemplo de [update-function-code](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/lambda/update-function-code.html):
+ `--zip-file`: especifica o caminho local para o pacote de implantação .zip.
+ `--source-kms-key-arn`: especifica a chave gerenciada pelo cliente para criptografar a versão compactada do pacote de implantação. O Lambda usa uma chave que pertence à AWS para criptografar o pacote descompactado para invocações de funções. Se você quiser usar uma chave gerenciada pelo cliente para criptografar a versão descompactada do pacote, execute o comando [update-function-configuration](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/lambda/update-function-configuration.html) com a opção `--kms-key-arn`.

```
aws lambda update-function-code \
  --function-name myFunction \
  --zip-file fileb://myFunction.zip \
  --source-kms-key-arn arn:aws:kms:us-east-1:111122223333:key/key-id
```

No seguinte exemplo de [update-function-code](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/lambda/update-function-code.html):
+ `--s3-bucket`: especifica o local do arquivo .zip em um bucket do Amazon S3.
+ `--s3-key`: especifica a chave do Amazon S3 do pacote de implantação.
+ `--s3-object-version`: para objetos com controle de versão, a versão do objeto do pacote de implantação a ser usada.
+ `--source-kms-key-arn`: especifica a chave gerenciada pelo cliente para criptografar a versão compactada do pacote de implantação. O Lambda usa uma chave que pertence à AWS para criptografar o pacote descompactado para invocações de funções. Se você quiser usar uma chave gerenciada pelo cliente para criptografar a versão descompactada do pacote, execute o comando [update-function-configuration](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/lambda/update-function-configuration.html) com a opção `--kms-key-arn`.

```
aws lambda update-function-code \
  --function-name myFunction \
  --s3-bucket amzn-s3-demo-bucket \
  --s3-key myFileName.zip \
  --s3-object-version myObject Version
  --source-kms-key-arn arn:aws:kms:us-east-1:111122223333:key/key-id
```

**Para remover a criptografia de chave gerenciada pelo cliente de uma função existente**

No exemplo de [update-function-code](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/lambda/update-function-code.html) a seguir, `--zip-file` especifica o caminho local para o pacote de implantação .zip. Quando você executa esse comando sem a opção `--source-kms-key-arn`, o Lambda usa uma chave que pertence à AWS para criptografar a versão compactada do pacote de implantação.

```
aws lambda update-function-code \
  --function-name myFunction \
  --zip-file fileb://myFunction.zip
```

------