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.
Führen Sie Athena-Abfragen mit Step Functions aus
Sie können Amazon Athena AWS Step Functions integrieren, um die Abfrageausführung zu starten und zu beenden und Abfrageergebnisse mit Step Functions zu erhalten. Mithilfe von Step Functions können Sie Ad-hoc-Datenabfragen oder geplante Datenabfragen ausführen und Ergebnisse abrufen, die auf Ihre S3-Datenseen abzielen. Athena ist Serverless, weshalb auch keine Infrastruktur eingerichtet oder verwaltet werden muss – und Sie zahlen nur für tatsächlich ausgeführte Abfragen. Diese Seite listet die unterstützten Athena auf APIs und bietet einen Task
Beispielstatus zum Starten einer Athena-Abfrage.
Informationen zur Integration mit AWS Diensten in Step Functions finden Sie unter Integrieren von -Services undÜbergeben von Parametern an einen Dienst API in Step Functions.
Hauptmerkmale der optimierten Athena-Integration
-
Das Ausführen einer Aufgabe (.sync) Integrationsmuster wird unterstützt.
-
Es gibt keine Optimierungen für das Request Response (Antwort anfordern) Integrationsmuster.
-
Das Warten Sie auf einen Rückruf mit Task Token Integrationsmuster wird nicht unterstützt.
Für die Integration AWS Step Functions mit Amazon Athena verwenden Sie die bereitgestellte Athena-Serviceintegration. APIs
Die Serviceintegration APIs entspricht der der entsprechenden AthenaAPIs. Nicht alle APIs unterstützen alle Integrationsmuster, wie in der folgenden Tabelle dargestellt.
API | Request Response (Antwort anfordern) | Ausführen einer Aufgabe (.sync) |
---|---|---|
StartQueryExecution |
Unterstützt | Unterstützt |
StopQueryExecution |
Unterstützt | Wird nicht unterstützt |
GetQueryExecution |
Unterstützt | Wird nicht unterstützt |
GetQueryResults |
Unterstützt | Wird nicht unterstützt |
Das Folgende beinhaltet einen Task-Status, der eine Athena-Abfrage startet.
"Start an Athena query": {
"Type": "Task",
"Resource": "arn:aws:states:::athena:startQueryExecution.sync",
"Parameters": {
"QueryString": "SELECT * FROM \"myDatabase\".\"myTable\" limit 1",
"WorkGroup": "primary",
"ResultConfiguration": {
"OutputLocation": "s3://amzn-s3-demo-bucket"
}
},
"Next": "Get results of the query"
}
Unterstütztes Amazon AthenaAPIs:
-
-
Unterstützte Parameter:
-
-
Unterstützte Parameter:
-
-
Unterstützte Parameter:
Anmerkung
In Step Functions gibt es ein Kontingent für die maximale Eingabe- oder Ergebnisdatengröße für eine Aufgabe. Dies beschränkt Sie auf 256 KiB an Daten als UTF -8-kodierte Zeichenfolge, wenn Sie Daten an einen anderen Dienst senden oder von einem anderen Dienst empfangen. Siehe Kontingente im Zusammenhang mit der Ausführung von Zustandsmaschinen.
IAMRichtlinien für das Anrufen von Amazon Athena
Die folgenden Beispielvorlagen zeigen, wie IAM Richtlinien auf der Grundlage der Ressourcen in Ihrer State-Machine-Definition AWS Step Functions generiert werden. Weitere Informationen erhalten Sie unter So generiert Step Functions IAM Richtlinien für integrierte Dienste und Entdecken Sie Serviceintegrationsmuster in Step Functions.
StartQueryExecution
Statische Ressourcen
Dynamische Ressourcen
StopQueryExecution
Ressourcen
{
"Version": "2012-10-17",
"Statement":[
{
"Effect": "Allow",
"Action": [
"athena:stopQueryExecution"
],
"Resource": [
"arn:aws:athena:{{region}}:{{accountId}}:workgroup/*"
]
}
]
}
GetQueryExecution
Ressourcen
{
"Version": "2012-10-17",
"Statement":[
{
"Effect": "Allow",
"Action": [
"athena:getQueryExecution"
],
"Resource": [
"arn:aws:athena:{{region}}:{{accountId}}:workgroup/*"
]
}
]
}
GetQueryResults
Ressourcen
{
"Version": "2012-10-17",
"Statement":[
{
"Effect": "Allow",
"Action": [
"athena:getQueryResults"
],
"Resource": [
"arn:aws:athena:{{region}}:{{accountId}}:workgroup/*"
]
},
{
"Effect": "Allow",
"Action": [
"s3:GetObject"
],
"Resource": [
"arn:aws:s3:::*"
]
}
]
}