

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Condivisione dei layer Lambda
<a name="sharing-lambda-layers"></a>

Se hai implementato funzionalità in un layer Lambda, potresti voler condividere il tuo layer senza ospitarne un'istanza globale. La condivisione dei livelli in questo modo consente ad altri utenti di distribuire un'istanza del livello nel proprio account, impedendo alle applicazioni client di dipendere da un'istanza globale del livello. Ti AWS Serverless Application Repository consente di condividere facilmente i layer Lambda in questo modo.

Per ulteriori informazioni sui layer Lambda, consulta [AWS Lambda Layers](https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html) nella *AWS Lambda Developer* Guide.

## Come funziona
<a name="sharing-lambda-layers-how-it-works"></a>

Di seguito sono riportati i passaggi per condividere il livello utilizzando AWS Serverless Application Repository. Ciò consente di creare una copia del layer nell' AWS account dell'utente.

1. Definite un'applicazione serverless con un AWS SAM modello che includa il layer come risorsa, ovvero una risorsa [https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-layerversion.html](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-layerversion.html)o una [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-layerversion.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-layerversion.html)risorsa.

1. Pubblica la tua applicazione su e condividila (pubblicamente o privatamente). AWS Serverless Application Repository

1. Un cliente implementa la tua applicazione, che crea una copia del tuo layer nel proprio account. AWS Il cliente può ora fare riferimento all'Amazon Resource Name (ARN) del layer nel proprio AWS account nell'applicazione client.

## Esempio
<a name="sharing-layers-example"></a>

Di seguito è riportato un AWS SAM modello di esempio per un'applicazione che contiene il layer Lambda da condividere:

```
Resources:
  SharedLayer:
    Type: AWS::Serverless::LayerVersion
    Properties:
      LayerName: shared-layer
      ContentUri: source/layer-code/
      CompatibleRuntimes:
        - python3.7
Outputs:
  LayerArn:
    Value: !Ref SharedLayer
```

Quando un cliente distribuisce l'applicazione da AWS Serverless Application Repository, viene creato un livello nel suo AWS account. L'ARN del livello è simile al seguente:

`arn:aws:lambda:us-east-1:012345678901:layer:shared-layer:1`

Il cliente può ora fare riferimento a questo ARN nella sua applicazione client, come in questo esempio:

```
Resources:
  MyFunction:
    Type: AWS::Serverless::Function
    Properties:
      Handler: index.handler
      Runtime: python3.7
      CodeUrl: source/app-code/
      Layers:
        - arn:aws:lambda:us-east-1:012345678901:layer:shared-layer:1
```