Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Configuration d'un VPC pour se connecter à PyPI pour AWS Glue
Le Python Package Index (PyPI) est un référentiel de logiciels pour le langage de programmation Python. Cette rubrique aborde les détails nécessaires pour prendre en charge l'utilisation des packages installés par pip (comme spécifié par le créateur de la session à l'aide de l'indicateur --additional-python-modules
).
L'utilisation de sessions interactives AWS Glue avec un connecteur entraîne l'utilisation du réseau VPC via le sous-réseau spécifié pour le connecteur. Par conséquent, les services AWS et autres destinations réseau ne sont pas disponibles, à moins que vous n'établissiez une configuration spéciale.
Les solutions à ce problème incluent :
L'utilisation d'une passerelle Internet accessible par votre session.
La configuration et l'utilisation d'un compartiment S3 avec un référentiel PyPI/simple contenant la fermeture transitive des dépendances d'un ensemble de packages.
L'utilisation d'un référentiel CodeArtifact qui reflète PyPI et qui est attaché à votre VPC.
Configuration d'une passerelle Internet
Les aspects techniques sont détaillés dans Cas d'utilisation de la passerelle NAT, mais notez ces exigences pour l'utilisation de --additional-python-modules
. Plus précisément, --additional-python-modules
nécessite l'accès à pypi.org, qui est déterminé par la configuration de votre VPC. Notez les critères suivants :
L'obligation d'installer des modules Python supplémentaires via l'installation pip pour la session d'un utilisateur. Si la session utilise un connecteur, votre configuration peut être affectée.
Lorsqu'un connecteur est utilisé avec
--additional-python-modules
, lors du démarrage de la session, le sous-réseau associé auxPhysicalConnectionRequirements
du connecteur doit fournir un chemin réseau pour atteindre pypi.org.Vous devez déterminer si votre configuration est correcte ou non.
Configuration d'un compartiment Amazon S3 pour héberger un référentiel PyPI/simple ciblé
Cet exemple configure un miroir PyPI dans Amazon S3 pour un ensemble de packages et leurs dépendances.
Pour configurer le miroir PyPI pour un ensemble de packages :
# pip download all the dependencies pip download -d s3pypi --only-binary :all: plotly gglplot pip download -d s3pypi --platform manylinux_2_17_x86_64 --only-binary :all: psycopg2-binary # create and upload the pypi/simple index and wheel files to the s3 bucket s3pypi -b test-domain-name --put-root-index -v s3pypi/*
Si vous possédez déjà un référentiel d'artefacts, il contiendra une URL d'index pour l'utilisation de pip que vous pourrez fournir à la place de l'exemple d'URL pour le compartiment Amazon S3 comme indiqué ci-dessus.
Pour utiliser l'URL d'index personnalisée, avec quelques exemples de packages :
%%configure { "--additional-python-modules": "psycopg2_binary==2.9.5", "python-modules-installer-option": "--no-cache-dir --verbose --index-url https://test-domain-name.s3.amazonaws.com/ --trusted-host test-domain-name.s3.amazonaws.com" }
Configuration d'un miroir CodeArtifact ou PyPI attaché à votre VPC
Pour configurer un miroir :
Créez un référentiel dans la même région que le sous-réseau utilisé par le connecteur.
Sélectionnez
Public upstream repositories
et choisissezpypi-store
.Fournissez un accès au référentiel depuis le VPC pour le sous-réseau.
Spécifiez l'
--index-url
correcte en utilisant lepython-modules-installer-option
.%%configure { "--additional-python-modules": "psycopg2_binary==2.9.5", "python-modules-installer-option": "--no-cache-dir --verbose --index-url https://test-domain-name.s3.amazonaws.com/ --trusted-host test-domain-name.s3.amazonaws.com" }
Pour plus d'informations, consultez Use CodeArtifact from a VPC.