Melden Sie sich bei der AWS Console an und richten Sie Amazon Linux 2 über EC2 ein. Der Instanztyp ist ~~ t2.micro ~~ und klicken Sie auf die Schaltfläche Bestätigen und Erstellen. * Wie später beschrieben wird, verwenden Sie bitte t2.medium. Bitte legen Sie die Sicherheitsgruppe selbst fest. Lassen Sie Port 22 für die SSH-Verbindung offen. Wählen Sie ein vorhandenes Schlüsselpaar aus. Wenn nicht, erstellen Sie ein neues. Erforderlich für die SSH-Verbindung. Instanz erstellen. Klicken Sie auf Instanz anzeigen. Wenn der Status der Instanz ausgeführt wird und die Statusprüfung 2/2 lautet, ist sie abgeschlossen. Kopieren Sie nach dem Erstellen der Instanz die öffentliche IPv4-IP und stellen Sie eine SSH-Verbindung von PuTTY her. Öffnen Sie PuTTY und geben Sie Ihre IP-Adresse in Hostname ein. Wählen Sie ein Schlüsselpaar aus Verbindung-> SSH-> Authentifizierung. Verwenden Sie PuTTYgen, um .pem in .ppk zu konvertieren. Klicken Sie auf Ja. Sie können sich mit ec2-user anmelden.
Überprüfen Sie nach dem Anmelden Ihre Python-Version. Es scheint, dass die Python 2-Serie immer noch die Standardeinstellung ist.
$ python
Python 2.7.16 (default, Dec 12 2019, 23:58:22)
[GCC 7.3.1 20180712 (Red Hat 7.3.1-6)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()
Installieren Sie Anaconda. Kopieren Sie die Download-URL von der Anaconda-Site.
Wechseln Sie zur Download-URL und installieren Sie mit bash.
$ wget https://repo.anaconda.com/archive/Anaconda3-2019.10-Linux-x86_64.sh
$ bash Anaconda3-2019.10-Linux-x86_64.sh
Lesen Sie die Bedingungen mit Enter und geben Sie yes ein. Starten Sie die Installation mit Enter.
Please answer 'yes' or 'no':'
>>> yes
Anaconda3 will now be installed into this location:
/home/ec2-user/anaconda3
- Press ENTER to confirm the location
- Press CTRL-C to abort the installation
- Or specify a different location below
Unpacking payload ...
0%| | 0/291 [00:00<?, ?it/s]
Es hat bei angehalten.
Es scheint, dass Sie dies mit t2.medium tun können. Stoppen Sie also die Instanz und ändern Sie den Instanztyp. current latest miniconda sh installer for linux hangs on Unpacking payload step #9345
Erstellen Sie nach der Installation von Anaconda eine Python 3.6-Umgebung.
$ /home/ec2-user/anaconda3/bin/conda create -n py36 python=3.6
$ /home/ec2-user/anaconda3/bin/conda init
Starten Sie die Instanz neu und installieren Sie die Bibliothek im Python-Ordner in der py36-Umgebung.
$ conda activate py36
$ mkdir python
$ pip install -t ./python requests
$ pip install -t ./python ulid-py
$ pip install -t ./python pillow
$ pip install -t ./python numpy
$ pip install -t ./python opencv-python
$ pip install -t ./python opencv-contrib-python
$ pip install -t ./python pandas
$ pip install -t ./python matplotlib
$ pip install -t ./python folium
Zippen Sie den Python-Ordner.
$ zip -r GachiLayers.zip python
Installieren Sie die awscli-Einstellungen und boto3, um die Zip-Datei auf S3 hochzuladen.
$ pip install awscli
$ pip install boto3
Erstellen Sie einen Benutzer aus dem AWS Console IAM, um den AWS Access Key und den Secret Access Key abzurufen.
Erteilen Sie die Zugriffsberechtigung für AmazonS3FullAccess.
Es gibt kein bestimmtes Tag.
bestätigen.
Nach der Erstellung verfügen Sie über den AWS-Zugriffsschlüssel und den geheimen Zugriffsschlüssel, die für die Konfiguration von aws erforderlich sind. Bewahren Sie ihn daher an einem sicheren Ort auf.
Geben Sie die AWS Configure-Einstellungen, den AWS Access Key und den Secret Access Key ein.
$ aws configure
AWS Access Key ID [None]: xxxxxxxxxxxxxxxxxxxx
AWS Secret Access Key [None]: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Default region name [None]: ap-northeast-1
Default output format [None]: json
Erstellen Sie ein Python-Programm, um die Zip-Datei in S3 hochzuladen. Erstellen Sie einen neuen S3-Bucket.
$ vi upload.py
import boto3
filename = 'GachiLayers.zip'
s3 = boto3.resource('s3')
obj = s3.Object(<INSERT YOUR BUCKET NAME>, filename)
response = obj.put(Body = open(filename, 'rb'))
Ich werde das machen.
$ python upload.py
Stellen Sie sicher, dass es in S3 hochgeladen wurde.
Öffnen Sie Lambda über die AWS-Konsole und erstellen Sie eine Ebene aus Ebenen.
Ich konnte es schaffen.
Erstellen Sie eine Lambda-Funktion (Laufzeit ist Python3.6) und fügen Sie eine Ebene hinzu.
Wählen Sie die erstellte Ebene aus.
Lassen Sie uns die Lamda-Funktion bearbeiten, um sicherzustellen, dass die Bibliothek geladen ist.
import json
import requests
import ulid
from PIL import Image
import numpy as np
import cv2
import pandas as pd
import matplotlib.pyplot as plt
import folium
from folium import plugins
def lambda_handler(event, context):
# TODO implement
return {
'statusCode': 200,
'body': json.dumps('Hello from Lambda!')
}
Erstellen Sie ein Testereignis.
Wenn Sie können, sollte die Bibliothek geladen werden.
Response:
{
"statusCode": 200,
"body": "\"Hello from Lambda!\""
}
Danke für deine harte Arbeit. Sie können die Instanz löschen, wenn Sie fertig sind.
Recommended Posts