

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Laden Sie lokale Artefakte in einen S3-Bucket hoch mit dem AWS CLI
<a name="using-cfn-cli-package"></a>

Sie können den verwenden AWS CLI , um lokale Artefakte, auf die von einer CloudFormation Vorlage verwiesen wird, in einen Amazon S3 S3-Bucket hochzuladen. Lokale Artefakte sind Dateien, auf die Sie in Ihrer Vorlage verweisen. Anstatt Dateien manuell in einen S3-Bucket hochzuladen und dann deren Speicherorte zu Ihrer Vorlage hinzuzufügen, können Sie lokale Artefakte in Ihrer Vorlage angeben und den Befehl [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/package.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/package.html) verwenden, um sie schnell hochzuladen. 

Ein lokales Artefakt ist ein Pfad zu einer Datei oder einem Ordner, die bzw. der mit dem **package**-Befehl in Amazon S3 hochgeladen wird. Ein Artefakt kann beispielsweise ein lokaler Pfad zum Quellcode Ihrer AWS Lambda Funktion oder eine Amazon API Gateway OpenAPI Gateway-REST-API-Datei sein. 

Wenn Sie den Befehl **package** verwenden:
+ Wenn Sie eine Datei angeben, lädt der Befehl sie direkt in den S3-Bucket hoch. 
+ Wenn Sie einen Ordner angeben, erstellt der Befehl eine `.zip`-Datei für den Ordner und lädt dann die `.zip`-Datei hoch. 
+ Wenn Sie keinen Pfad angeben, erstellt der Befehl eine `.zip`-Datei für das Arbeitsverzeichnis und lädt sie hoch. 

Sie können einen absoluten oder relativen Pfad angeben, wobei der relative Pfad relativ zum Speicherort Ihrer Vorlage ist.

Nach dem Hochladen der Artefakte gibt der Befehl eine Kopie Ihrer Vorlage zurück, wobei Verweise auf lokale Artefakte durch den S3-Speicherort ersetzt werden, in den der Befehl die Artefakte hochgeladen hat. Sie können dann die zurückgegebene Vorlage verwenden, um einen Stapel zu erstellen oder zu aktualisieren.

**Anmerkung**  
Sie können lokale Artefakte nur für Ressourceneigenschaften verwenden, die der **package**-Befehl unterstützt. Weitere Informationen zu diesem Befehl und eine Liste der unterstützten Ressourceneigenschaften finden Sie in der [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/package.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/package.html) Dokumentation in der [AWS CLI Befehlsreferenz](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/index.html).



## Voraussetzungen
<a name="using-cfn-cli-package-prerequisites"></a>

Bevor Sie beginnen, müssen Sie über einen Amazon S3 Bucket verfügen. 

## Paketieren und verteilen Sie eine Vorlage mit lokalen Artefakten
<a name="package-and-deploy-a-template-with-local-artifacts"></a>

Die folgende Vorlage gibt das lokale Artefakt für den Quellcode einer Lambda-Funktion an. Der Quellcode wird im Ordner `/home/user/code/lambdafunction` gespeichert.

**Originalvorlage**

```
{
  "AWSTemplateFormatVersion": "2010-09-09",
  "Transform": "AWS::Serverless-2016-10-31",
  "Resources": {
    "MyFunction": {
      "Type": "AWS::Serverless::Function",
      "Properties": {
        "Handler": "index.handler",
        "Runtime": "nodejs18.x",
        "CodeUri": "/home/user/code/lambdafunction"
      }
    }
  }
}
```

Der folgende Befehl [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/package.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/package.html) erstellt und lädt eine `.zip`-Datei des Quellcode-Ordners der Funktion in das Stammverzeichnis des angegebenen Buckets hoch.

```
aws cloudformation package \
  --s3-bucket amzn-s3-demo-bucket \
  --template /path_to_template/template.json \
  --output-template-file packaged-template.json \
  --output json
```

Der Befehl erzeugt eine neue Vorlage unter dem durch `--output-template-file`angegebenen Pfad. Es ersetzt die Artefakt-Referenz durch den Amazon S3-Speicherort, wie unten gezeigt. Die `.zip` Datei wird anhand der MD5 Prüfsumme des Ordnerinhalts benannt und nicht anhand des Ordnernamens selbst.

**Resultierende Vorlage**

```
{
  "AWSTemplateFormatVersion": "2010-09-09",
  "Transform": "AWS::Serverless-2016-10-31",
  "Resources": {
    "MyFunction": {
      "Type": "AWS::Serverless::Function",
      "Properties": {
        "Handler": "index.handler",
        "Runtime": "nodejs18.x",
        "CodeUri": "s3://amzn-s3-demo-bucket/md5 checksum"
      }
    }
  }
}
```

Nachdem Sie die Artefakte Ihrer Vorlage verpackt haben, stellen Sie die verarbeitete Vorlage mit dem Befehl [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/deploy/](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/deploy/) bereit.

```
aws cloudformation deploy \
  --template-file packaged-template.json \
  --stack-name stack-name
```

Wenn Sie Vorlagen bereitstellen, die größer als 51.200 Bytes sind, verwenden Sie den Befehl **deploy** mit der Option `--s3-bucket`, um Ihre Vorlage in S3 hochzuladen, wie im folgenden Beispiel.

```
aws cloudformation deploy \
  --template-file packaged-template.json \
  --stack-name stack-name \
  --s3-bucket amzn-s3-demo-bucket
```

**Anmerkung**  
Ein weiteres Beispiel für die Verwendung des Befehls **package** zum Hochladen lokaler Artefakte finden Sie unter [Aufteilung einer Vorlage in wiederverwendbare Teile mit verschachtelten Stapeln](using-cfn-nested-stacks.md).