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.
Erfrischung eines CodeArtifact Zeichen
Wenn du verwendest CodeArtifact Um Python-Abhängigkeiten zu installieren, benötigt Amazon MWAA ein aktives Token. Um Amazon MWAA den Zugriff auf eine zu ermöglichen CodeArtifact Zur Laufzeit können Sie ein Repository verwendenStartskriptund stelle das einPIP_EXTRA_INDEX_URL
Im folgenden Thema wird beschrieben, wie Sie ein Startskript erstellen können, dasget_authorization_token
Version
-
Sie können das Codebeispiel auf dieser Seite verwenden mitApache Airflow v2 und höherinPython 3.10
.
Voraussetzungen
Um den Beispielcode auf dieser Seite verwenden zu können, benötigen Sie Folgendes:
-
EINCodeArtifact Endlagerwo Sie Abhängigkeiten für Ihre Umgebung speichern.
Berechtigungen
Um das zu aktualisieren CodeArtifact token und das Ergebnis in Amazon S3 schreiben Amazon MWAA muss in der Ausführungsrolle über die folgenden Berechtigungen verfügen.
-
Die
codeartifact:GetAuthorizationToken
Aktion ermöglicht Amazon MWAA das Abrufen eines neuen Tokens von CodeArtifact. Die folgende Richtlinie gewährt die Erlaubnis für jeden 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 das aufzurufen CodeArtifactGetAuthorizationToken
API-Vorgang. Dieser Vorgang gibt ein Token zurück, das verwendet werden muss, wenn Sie einen Paketmanager wiepip
mit CodeArtifact. Um einen Paketmanager mit einem zu verwenden CodeArtifact Repository, die Rolle der Ausführungsrolle in Ihrer Umgebung muss dies zulassensts:GetServiceBearerToken
wie in der folgenden Grundsatzerklärung dargestellt.{ "Sid": "AllowServiceBearerToken", "Effect": "Allow", "Action": "sts:GetServiceBearerToken", "Resource": "*" }
Codebeispiel
In den folgenden Schritten wird beschrieben, wie Sie ein Startskript erstellen können, das CodeArtifact Token.
-
Kopieren Sie den Inhalt des folgenden Codebeispiels und speichern Sie ihn lokal unter
code_artifact_startup_script.sh
.#!/bin/sh # Startup script for MWAA, see 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"
-
Navigieren Sie zu dem Ordner, in dem Sie das Skript gespeichert haben. Benutze
cp
in einem neuen Eingabeaufforderungsfenster, um das Skript in Ihren Bucket hochzuladen. Ersetzendein-s3-Eimer
mit deinen Informationen.$
aws s3 cp code_artifact_startup_script.sh s3://
your-s3-bucket
/code_artifact_startup_script.shBei Erfolg gibt Amazon S3 den URL-Pfad zum Objekt aus:
upload: ./code_artifact_startup_script.sh to s3://your-s3-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
-
Erfahren Sie, wie Sie Startskripts verwenden, um Ihre Umgebung anzupassen inVerwenden eines Startskripts mit Amazon MWAA.
-
Erfahren Sie in diesem Beispiel, wie Sie den DAG-Code auf das hochladen
dags
Ordner in Ihrem Amazon S3-Bucket inHinzufügen oder Aktualisieren von DAGs. -
Erfahren Sie mehr darüber, wie Sie das hochladen
plugins.zip
Datei in diesem Beispiel in Ihren Amazon S3-Bucket inInstallation benutzerdefinierter Plugins.