You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Adding the following code to app.py causes chalice deploy to fail with KeyError: 'x' where x is the name of the Python lambda. I tested the same function on a separate python file and it seems to work fine.
Updating IAM policy.
Traceback (most recent call last):
File "/home/canozmen/.virtualenvs/chalice-demo/bin/chalice", line 11, in
sys.exit(main())
File "/home/canozmen/.virtualenvs/chalice-demo/local/lib/python2.7/site-packages/chalice/cli/init.py", line 203, in main
return cli(obj={})
File "/home/canozmen/.virtualenvs/chalice-demo/local/lib/python2.7/site-packages/click/core.py", line 716, in call
return self.main(_args, *_kwargs)
File "/home/canozmen/.virtualenvs/chalice-demo/local/lib/python2.7/site-packages/click/core.py", line 696, in main
rv = self.invoke(ctx)
File "/home/canozmen/.virtualenvs/chalice-demo/local/lib/python2.7/site-packages/click/core.py", line 1060, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/home/canozmen/.virtualenvs/chalice-demo/local/lib/python2.7/site-packages/click/core.py", line 889, in invoke
return ctx.invoke(self.callback, *_ctx.params)
File "/home/canozmen/.virtualenvs/chalice-demo/local/lib/python2.7/site-packages/click/core.py", line 534, in invoke
return callback(_args, *_kwargs)
File "/home/canozmen/.virtualenvs/chalice-demo/local/lib/python2.7/site-packages/click/decorators.py", line 17, in new_func
return f(get_current_context(), *args, *_kwargs)
File "/home/canozmen/.virtualenvs/chalice-demo/local/lib/python2.7/site-packages/chalice/cli/init.py", line 123, in deploy
d.deploy(ctx.obj)
File "/home/canozmen/.virtualenvs/chalice-demo/local/lib/python2.7/site-packages/chalice/deployer.py", line 203, in deploy
self._deploy_lambda(config)
File "/home/canozmen/.virtualenvs/chalice-demo/local/lib/python2.7/site-packages/chalice/deployer.py", line 215, in _deploy_lambda
self._get_or_create_lambda_role_arn(config)
File "/home/canozmen/.virtualenvs/chalice-demo/local/lib/python2.7/site-packages/chalice/deployer.py", line 304, in _get_or_create_lambda_role_arn
self._update_role_with_latest_policy(app_name, config)
File "/home/canozmen/.virtualenvs/chalice-demo/local/lib/python2.7/site-packages/chalice/deployer.py", line 313, in _update_role_with_latest_policy
app_policy = self._get_policy_from_source_code(config)
File "/home/canozmen/.virtualenvs/chalice-demo/local/lib/python2.7/site-packages/chalice/deployer.py", line 342, in _get_policy_from_source_code
app_policy = policy.policy_from_source_code(f.read())
File "/home/canozmen/.virtualenvs/chalice-demo/local/lib/python2.7/site-packages/chalice/policy.py", line 20, in policy_from_source_code
client_calls = get_client_calls_for_app(source_code)
File "/home/canozmen/.virtualenvs/chalice-demo/local/lib/python2.7/site-packages/chalice/analyzer.py", line 67, in get_client_calls_for_app
t.bind_types(parsed)
File "/home/canozmen/.virtualenvs/chalice-demo/local/lib/python2.7/site-packages/chalice/analyzer.py", line 283, in bind_types
self.visit(parsed_code.parsed_ast)
File "/home/canozmen/.virtualenvs/chalice-demo/local/lib/python2.7/site-packages/chalice/analyzer.py", line 429, in visit
return ast.NodeVisitor.visit(self, node)
File "/usr/lib/python2.7/ast.py", line 241, in visit
return visitor(node)
File "/usr/lib/python2.7/ast.py", line 249, in generic_visit
self.visit(item)
File "/home/canozmen/.virtualenvs/chalice-demo/local/lib/python2.7/site-packages/chalice/analyzer.py", line 429, in visit
return ast.NodeVisitor.visit(self, node)
File "/usr/lib/python2.7/ast.py", line 241, in visit
return visitor(node)
File "/usr/lib/python2.7/ast.py", line 251, in generic_visit
self.visit(value)
File "/home/canozmen/.virtualenvs/chalice-demo/local/lib/python2.7/site-packages/chalice/analyzer.py", line 429, in visit
return ast.NodeVisitor.visit(self, node)
File "/usr/lib/python2.7/ast.py", line 241, in visit
return visitor(node)
File "/home/canozmen/.virtualenvs/chalice-demo/local/lib/python2.7/site-packages/chalice/analyzer.py", line 369, in visit_Call
self._infer_function_call(node)
File "/home/canozmen/.virtualenvs/chalice-demo/local/lib/python2.7/site-packages/chalice/analyzer.py", line 387, in _infer_function_call
child_infer.bind_types(ParsedCode(ast_node, sub_table))
File "/home/canozmen/.virtualenvs/chalice-demo/local/lib/python2.7/site-packages/chalice/analyzer.py", line 283, in bind_types
self.visit(parsed_code.parsed_ast)
File "/home/canozmen/.virtualenvs/chalice-demo/local/lib/python2.7/site-packages/chalice/analyzer.py", line 429, in visit
return ast.NodeVisitor.visit(self, node)
File "/usr/lib/python2.7/ast.py", line 241, in visit
return visitor(node)
File "/home/canozmen/.virtualenvs/chalice-demo/local/lib/python2.7/site-packages/chalice/analyzer.py", line 409, in visit_FunctionDef
self.visit(child)
File "/home/canozmen/.virtualenvs/chalice-demo/local/lib/python2.7/site-packages/chalice/analyzer.py", line 429, in visit
return ast.NodeVisitor.visit(self, node)
File "/usr/lib/python2.7/ast.py", line 241, in visit
return visitor(node)
File "/usr/lib/python2.7/ast.py", line 249, in generic_visit
self.visit(item)
File "/home/canozmen/.virtualenvs/chalice-demo/local/lib/python2.7/site-packages/chalice/analyzer.py", line 429, in visit
return ast.NodeVisitor.visit(self, node)
File "/usr/lib/python2.7/ast.py", line 241, in visit
return visitor(node)
File "/usr/lib/python2.7/ast.py", line 249, in generic_visit
self.visit(item)
File "/home/canozmen/.virtualenvs/chalice-demo/local/lib/python2.7/site-packages/chalice/analyzer.py", line 429, in visit
return ast.NodeVisitor.visit(self, node)
File "/usr/lib/python2.7/ast.py", line 241, in visit
return visitor(node)
File "/home/canozmen/.virtualenvs/chalice-demo/local/lib/python2.7/site-packages/chalice/analyzer.py", line 314, in visit_Assign
self.generic_visit(node)
File "/usr/lib/python2.7/ast.py", line 251, in generic_visit
self.visit(value)
File "/home/canozmen/.virtualenvs/chalice-demo/local/lib/python2.7/site-packages/chalice/analyzer.py", line 429, in visit
return ast.NodeVisitor.visit(self, node)
File "/usr/lib/python2.7/ast.py", line 241, in visit
return visitor(node)
File "/home/canozmen/.virtualenvs/chalice-demo/local/lib/python2.7/site-packages/chalice/analyzer.py", line 369, in visit_Call
self._infer_function_call(node)
File "/home/canozmen/.virtualenvs/chalice-demo/local/lib/python2.7/site-packages/chalice/analyzer.py", line 387, in _infer_function_call
child_infer.bind_types(ParsedCode(ast_node, sub_table))
File "/home/canozmen/.virtualenvs/chalice-demo/local/lib/python2.7/site-packages/chalice/analyzer.py", line 283, in bind_types
self.visit(parsed_code.parsed_ast)
File "/home/canozmen/.virtualenvs/chalice-demo/local/lib/python2.7/site-packages/chalice/analyzer.py", line 429, in visit
return ast.NodeVisitor.visit(self, node)
File "/usr/lib/python2.7/ast.py", line 241, in visit
return visitor(node)
File "/home/canozmen/.virtualenvs/chalice-demo/local/lib/python2.7/site-packages/chalice/analyzer.py", line 409, in visit_FunctionDef
self.visit(child)
File "/home/canozmen/.virtualenvs/chalice-demo/local/lib/python2.7/site-packages/chalice/analyzer.py", line 429, in visit
return ast.NodeVisitor.visit(self, node)
File "/usr/lib/python2.7/ast.py", line 241, in visit
return visitor(node)
File "/home/canozmen/.virtualenvs/chalice-demo/local/lib/python2.7/site-packages/chalice/analyzer.py", line 419, in visit_Return
self.generic_visit(node)
File "/usr/lib/python2.7/ast.py", line 251, in generic_visit
self.visit(value)
File "/home/canozmen/.virtualenvs/chalice-demo/local/lib/python2.7/site-packages/chalice/analyzer.py", line 429, in visit
return ast.NodeVisitor.visit(self, node)
File "/usr/lib/python2.7/ast.py", line 241, in visit
return visitor(node)
File "/home/canozmen/.virtualenvs/chalice-demo/local/lib/python2.7/site-packages/chalice/analyzer.py", line 341, in visit_Call
self.generic_visit(node)
File "/usr/lib/python2.7/ast.py", line 249, in generic_visit
self.visit(item)
File "/home/canozmen/.virtualenvs/chalice-demo/local/lib/python2.7/site-packages/chalice/analyzer.py", line 429, in visit
return ast.NodeVisitor.visit(self, node)
File "/usr/lib/python2.7/ast.py", line 241, in visit
return visitor(node)
File "/usr/lib/python2.7/ast.py", line 251, in generic_visit
self.visit(value)
File "/home/canozmen/.virtualenvs/chalice-demo/local/lib/python2.7/site-packages/chalice/analyzer.py", line 429, in visit
return ast.NodeVisitor.visit(self, node)
File "/usr/lib/python2.7/ast.py", line 241, in visit
return visitor(node)
File "/usr/lib/python2.7/ast.py", line 251, in generic_visit
self.visit(value)
File "/home/canozmen/.virtualenvs/chalice-demo/local/lib/python2.7/site-packages/chalice/analyzer.py", line 429, in visit
return ast.NodeVisitor.visit(self, node)
File "/usr/lib/python2.7/ast.py", line 241, in visit
return visitor(node)
File "/usr/lib/python2.7/ast.py", line 249, in generic_visit
self.visit(item)
File "/home/canozmen/.virtualenvs/chalice-demo/local/lib/python2.7/site-packages/chalice/analyzer.py", line 429, in visit
return ast.NodeVisitor.visit(self, node)
File "/usr/lib/python2.7/ast.py", line 241, in visit
return visitor(node)
File "/home/canozmen/.virtualenvs/chalice-demo/local/lib/python2.7/site-packages/chalice/analyzer.py", line 307, in visit_Name
node.inferred_type = self._symbol_table.get_inferred_type(node.id)
File "/home/canozmen/.virtualenvs/chalice-demo/local/lib/python2.7/site-packages/chalice/analyzer.py", line 214, in get_inferred_type
symbol = self._local_table.lookup(name)
File "/usr/lib/python2.7/symtable.py", line 100, in lookup
flags = self._table.symbols[name]
KeyError: 'x'
The text was updated successfully, but these errors were encountered:
I can confirm that chalice deploy --no-autogen-policy works fine. Looks like the analyzer picks up the 'lambda x' as a boto function call to the Amazon lambda service.
Adding the following code to app.py causes chalice deploy to fail with KeyError: 'x' where x is the name of the Python lambda. I tested the same function on a separate python file and it seems to work fine.
def fishes_by_month(month): return sorted(fishes.values(), key=lambda x: x.taste_by_month[month - 1], reverse=True)
Here is the output from chalice deploy:
The text was updated successfully, but these errors were encountered: