1

I used the CloudFormation template provided by Metaflow to deploy it on AWS, and I ran metaflow configure aws to create a configuration file with the deployment outputs, as outlined in the documentation. The deployment was successful and the configuration file is clearly being read, but when I run a simple flow involving a @batch decorator, I get the following error (this is after Metaflow reports the graph is good and Pylint is happy):

Metadata request (/flows/MyFlow) failed (code 403): {"message":"Forbidden"}

Does anyone know the reason for this error?

Digging into the code, it looks like this occurs when an API query to the METAFLOW_SERVICE_URL is made. Unfortunately, I don't know what the purpose of this query is or what authentication it expects.

This has failed for two users, one of whom was the one to actually run the CloudFormation deployment successfully, so whatever permission is needed, it is not straightforwardly related to the permission needed to deploy.

  • 2
    Solved - it turns out the value shown in the CloudFormation outputs for METAFLOW_SERVICE_AUTH_KEY is not the auth key itself, it is the API key needed to get the auth key. Running `aws apigateway get-api-key --api-key --include-value | grep value` as suggested produces the actual key and fixes the permissions issue. – Jack Holland Mar 22 '22 at 16:24

0 Answers0