

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.

# Ein CodeArtifact Token aktualisieren
<a name="samples-code-artifact"></a>

Wenn Sie Python-Abhängigkeiten CodeArtifact zur Installation verwenden, benötigt Amazon MWAA ein aktives Token. Damit Amazon MWAA zur Laufzeit auf ein CodeArtifact Repository zugreifen kann, können Sie ein [Startskript](using-startup-script.md) verwenden und das [https://pip.pypa.io/en/stable/cli/pip_install/#cmdoption-extra-index-url](https://pip.pypa.io/en/stable/cli/pip_install/#cmdoption-extra-index-url)mit dem Token festlegen.

Im folgenden Thema wird beschrieben, wie Sie ein Startskript erstellen können, das mithilfe der [https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/codeartifact.html#CodeArtifact.Client.get_authorization_token](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/codeartifact.html#CodeArtifact.Client.get_authorization_token)CodeArtifact API-Operation bei jedem Start oder jeder Aktualisierung Ihrer Umgebung ein neues Token abruft.

**Topics**
+ [Version](#samples-code-artifact-version)
+ [Voraussetzungen](#samples-code-artifact-prereqs)
+ [Berechtigungen](#samples-code-artifact-permissions)
+ [Codebeispiel](#samples-code-artifact-code)
+ [Als nächstes](#samples-code-artifact-next-up)

## Version
<a name="samples-code-artifact-version"></a>

[Sie können das Codebeispiel auf dieser Seite mit **Apache Airflow v2** in [Python 3.10](https://peps.python.org/pep-0619/) und **Apache Airflow v3** in Python 3.11 verwenden.](https://peps.python.org/pep-0664/)

## Voraussetzungen
<a name="samples-code-artifact-prereqs"></a>

Um den Beispielcode auf dieser Seite zu verwenden, benötigen Sie Folgendes:
+ Eine [Amazon MWAA-Umgebung](get-started.md).
+ Ein [CodeArtifact Repository](https://docs.aws.amazon.com/codeartifact/latest/ug/create-repo.html), in dem Sie Abhängigkeiten für Ihre Umgebung speichern.

## Berechtigungen
<a name="samples-code-artifact-permissions"></a>

Um das CodeArtifact Token zu aktualisieren und das Ergebnis in Amazon S3 zu schreiben, muss Amazon MWAA über die folgenden Berechtigungen in der Ausführungsrolle verfügen.
+ Die `codeartifact:GetAuthorizationToken` Aktion ermöglicht Amazon MWAA, ein neues Token von abzurufen. CodeArtifact Die folgende Richtlinie gewährt Berechtigungen für jede CodeArtifact Domain, die Sie erstellen. Sie können den Zugriff auf Ihre Domänen weiter einschränken, indem Sie den Ressourcenwert in der Anweisung ändern und nur die Domänen angeben, auf die Ihre Umgebung zugreifen soll.

  ```
  {
    "Effect": "Allow",
    "Action": "codeartifact:GetAuthorizationToken",
    "Resource": "arn:aws:codeartifact:us-west-2:*:domain/*"
  }
  ```
+ Die `sts:GetServiceBearerToken` Aktion ist erforderlich, um den CodeArtifact [https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_GetAuthorizationToken.html](https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_GetAuthorizationToken.html)API-Vorgang aufzurufen. Dieser Vorgang gibt ein Token zurück, das verwendet werden muss, wenn Sie einen Paketmanager wie `pip` with verwenden CodeArtifact. Um einen Paketmanager mit einem CodeArtifact Repository zu verwenden, muss die Ausführungsrolle Ihrer Umgebung dies zulassen, `sts:GetServiceBearerToken` wie in der folgenden Richtlinienerklärung aufgeführt.

  ```
  {
    "Sid": "AllowServiceBearerToken",
    "Effect": "Allow",
    "Action": "sts:GetServiceBearerToken",
    "Resource": "*"
  }
  ```

## Codebeispiel
<a name="samples-code-artifact-code"></a>

In den folgenden Schritten wird beschrieben, wie Sie ein Startskript erstellen können, das das CodeArtifact Token aktualisiert.

1. Kopieren Sie den Inhalt des folgenden Codebeispiels und speichern Sie ihn lokal unter`code_artifact_startup_script.sh`.

   ```
   #!/bin/sh
   
   # Startup script for MWAA, refer to https://docs.aws.amazon.com/mwaa/latest/userguide/using-startup-script.html
   
   set -eu
   
   # setup code artifact endpoint and token
   # https://pip.pypa.io/en/stable/cli/pip_install/#cmdoption-0
   # https://docs.aws.amazon.com/mwaa/latest/userguide/samples-code-artifact.html
   DOMAIN="amazon"
   DOMAIN_OWNER="112233445566"
   REGION="us-west-2"
   REPO_NAME="MyRepo"
   echo "Getting token for CodeArtifact with args: --domain $DOMAIN --region $REGION --domain-owner $DOMAIN_OWNER"
   TOKEN=$(aws codeartifact get-authorization-token --domain $DOMAIN --region $REGION --domain-owner $DOMAIN_OWNER | jq -r '.authorizationToken')
   echo "Setting Pip env var for '--index-url' to point to CodeArtifact"
   export PIP_EXTRA_INDEX_URL="https://aws:$TOKEN@$DOMAIN-$DOMAIN_OWNER.d.codeartifact.$REGION.amazonaws.com/pypi/$REPO_NAME/simple/"
   echo "CodeArtifact startup setup complete"
   ```

1. Navigieren Sie zu dem Ordner, in dem Sie das Skript gespeichert haben. Verwenden Sie es `cp` in einem neuen Eingabeaufforderungsfenster, um das Skript in Ihren Bucket hochzuladen. *amzn-s3-demo-bucket*Ersetzen Sie es durch Ihre Informationen.

   ```
   aws s3 cp code_artifact_startup_script.sh s3://amzn-s3-demo-bucket/code_artifact_startup_script.sh
   ```

   Bei Erfolg gibt Amazon S3 den URL-Pfad zum Objekt aus:

   ```
   upload: ./code_artifact_startup_script.sh to s3://amzn-s3-demo-bucket/code_artifact_startup_script.sh
   ```

   Nachdem Sie das Skript hochgeladen haben, wird Ihre Umgebung aktualisiert und das Skript beim Start ausgeführt.

## Als nächstes
<a name="samples-code-artifact-next-up"></a>
+ Erfahren Sie unter, wie Sie Startskripts verwenden, um Ihre Umgebung anzupassen[Verwenden eines Startup-Skripts mit Amazon MWAA](using-startup-script.md).
+ Erfahren Sie unter, wie Sie den DAG-Code in diesem Beispiel in den `dags` Ordner in Ihrem Amazon S3 S3-Bucket hochladen[Hinzufügen oder Aktualisieren DAGs](configuring-dag-folder.md).
+ Weitere Informationen zum Hochladen der `plugins.zip` Datei in diesem Beispiel in Ihren Amazon S3 S3-Bucket finden Sie unter[Installation benutzerdefinierter Plugins](configuring-dag-import-plugins.md).