AWS Lambdaで作業しています。私はathenaで簡単なクエリを作成し、s3にデータを保存したいと考えています。Lambda PythonリクエストathenaエラーOutputLocation
マイコード:
import boto3
def lambda_handler(event, context):
query_1 = "SELECT * FROM test_athena_laurent.stage limit 5;"
database = "test_athena_laurent"
s3_output = "s3://athena-laurent-result/lambda/"
client = boto3.client('athena')
response = client.start_query_execution(
QueryString=query_1,
ClientRequestToken='string',
QueryExecutionContext={
'Database': database
},
ResultConfiguration={
'OutputLocation': 's3://athena-laurent-result/lambda/'
}
)
return response
それは、スパイダー2.7上で動作しますが、AWSで、私はこのエラーを持っている:
Parameter validation failed:
Invalid length for parameter ClientRequestToken, value: 6, valid range: 32-inf: ParamValidationError
Traceback (most recent call last):
File "/var/task/lambda_function.py", line 18, in lambda_handler
'OutputLocation': 's3://athena-laurent-result/lambda/'
私はそれは私の道を理解していないことを考えると、私は知りませんなぜ。提供されていない場合
おかげ
*「パラメータの検証が失敗しました - 無効な長さをパラメータClientRequestTokenため」*で、かなり明確な、限りエラーメッセージが懸念しているよう。たぶん ''string''はこのパラメータの正しい値ではないでしょう。 – Tomalak
ありがとう、それは私のエラーです。 ClientRequestTokenはどこにありますか? –
spyderのようにClientRequestTokenを削除します。スパイダーでは動作しますが、AWSでは動作しません。私はその権利を持っていないかもしれません。 'ClientError:StartQueryExecution'を呼び出すときにエラーが発生しました(AccessDeniedException) –