Wenn Sie das Ergebnis der API mit Curl usw. zurückgeben möchten, müssen Sie den Header (SigV4-Signatur) der HTTP-Anforderung berechnen. Beachten Sie jedoch, dass das Material nicht gefunden wird Auf anderen Websites erfahren Sie, wie Sie API Gateway IAM zertifizieren. Es gibt eine Möglichkeit, den Hash-Wert zu berechnen, aber ich bin mir nicht sicher. Wenn ich ihn brauche, schaue ich in die Botocore-Bibliothek und erstelle ihn.
check_iam.py
import os
from botocore.awsrequest import AWSRequest
from botocore.auth import SigV4Auth
from botocore.endpoint import URLLib3Session
from botocore.credentials import Credentials
import requests
url_ = "https://xxxxxxxxxx.execute-api.ap-northeast-1.amazonaws.com/v1"
### 1.Generierung von Anmeldeinformationen
credentials = Credentials(os.environ['AWS_ACCESS_KEY_ID'], os.environ['AWS_SECRET_ACCESS_KEY'])
### 2.Generierung von AWS-Anforderungen
request = AWSRequest(method="GET", url=url_)
### 3.AWS-Anforderungssignatur
SigV4Auth(credentials, 'execute-api', ap-northeast-1).add_auth(request)
### 4.API-Ausgabe
headers = {
'Authorization': request.headers['Authorization'],
'Host':'xxxxxxxxxx.execute-api.ap-northeast-1.amazonaws.com',
'X-Amz-Date':request.context['timestamp']
}
response = requests.get(url_,headers=headers)
print(response.text)
Recommended Posts