Python ImportError while executing aws lambda
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ height:90px;width:728px;box-sizing:border-box;
}
I have written AWS lambda in python to send message to sns topic.
I am using aws code pipeline to deploy this code in clould.
Running this lambda by calling api gateway.
python code is as below:
import boto3
from shared.environment import Env
from account.initiate_transition.transition_event_service import TransitionEventService
from shared.utils import Logger
from shared.xray_utils import trace
from shared.keep_warm import keep_warm
LOG = Logger.initialise_logger('transition-sms', None)
ENV = Env({Env.SMS_SNS_TOPIC_ARN, Env.AWS_REGION_NAME, Env.SMS_TRANSITION_TABLE})
SNS_CLIENT = boto3.client('sns')
DYNAMO_DB = boto3.resource('dynamodb', region_name=ENV.get(Env.AWS_REGION_NAME))
COGNITO_CLIENT = boto3.client('cognito-idp', region_name=ENV.get(Env.AWS_REGION_NAME))
SMS_TRANSITION_TABLE = DYNAMO_DB.Table(ENV.get(Env.SMS_TRANSITION_TABLE))
EVENT_SERVICE = TransitionEventService(SMS_TRANSITION_TABLE,
SNS_CLIENT,
ENV.get(Env.SMS_SNS_TOPIC_ARN),
COGNITO_CLIENT)
@trace
@keep_warm
def lambda_handler(event, context):
LOG = Logger.initialise_logger('transition-sms', context.aws_request_id)
try:
return EVENT_SERVICE.handle(event)
except Exception as e:
LOG.error(str(e))
transition_event_service.py
from account.initiate_transition.transition_sms_event import TransitionSmsEvent
from shared.utils import ApiGatewayResponse, Logger
from shared.xray_utils import trace
from http import HTTPStatus
from uuid import uuid4
from botocore.exceptions import ClientError
from jose import jwt
LOG = Logger.get_logger(__name__)
class TransitionEventService:
def __init__(self, sms_transition_table, sns_client, topic_arn, cognito_client):
LOG.debug('Initialising TransitionEventService')
self.sms_transition_table = sms_transition_table
self.sns_client = sns_client
self.topic_arn = topic_arn
self.cognito_client = cognito_client
@trace
def handle(self, event):
try:
event_object = self.instantiate_event(event)
except Exception as e:
LOG.error(e)
return ApiGatewayResponse.init(HTTPStatus.BAD_REQUEST, {
'error': 'Invalid request'
})
quid = str(uuid4())
LOG.info('quid {}'.format(quid))
LOG.debug('Storing SMS transition details')
self.sms_transition_table.put_item(Item={
'id_token': event_object.id_token,
'landing_page': event_object.landing_page,
'quid': quid
})
# Get phone number claim and verified claim
LOG.debug('Decoding id_token to get unverified claims')
claims = jwt.get_unverified_claims(event_object.id_token)
user_pool_id = claims['UserPoolId']
username = claims['Username']
url = "account/verify-transition?quid=123&&username=xyz"
response = self.cognito_client.admin_get_user(
UserPoolId = user_pool_id,
Username = username
)
phone_number = response['phone_number']
LOG.debug('Sending Transition SMS')
self.send_transition_sms(url=url, phone_number=phone_number)
LOG.debug('SMS sent to {}'.format(phone_number))
return ApiGatewayResponse.init(HTTPStatus.OK)
def instantiate_event(self, event):
return TransitionSmsEvent(event)
def send_transition_sms(self, url: str, phone_number: str):
try:
LOG.debug('Publishing SMS url to SNS Topic:{}'.format(self.topic_arn))
self.sns_client.publish(
TopicArn=self.topic_arn,
Message=json.dumps({
'default': json.dumps({
'url': url,
'phone_number': phone_number
})
}),
MessageStructure='json'
)
except ClientError as e:
LOG.error(e)
raise e
I getting below error in cloud watch logs:
Could someone help me resolving this issue.
python amazon-web-services python-import importerror amazon-cloudwatchlogs
add a comment |
I have written AWS lambda in python to send message to sns topic.
I am using aws code pipeline to deploy this code in clould.
Running this lambda by calling api gateway.
python code is as below:
import boto3
from shared.environment import Env
from account.initiate_transition.transition_event_service import TransitionEventService
from shared.utils import Logger
from shared.xray_utils import trace
from shared.keep_warm import keep_warm
LOG = Logger.initialise_logger('transition-sms', None)
ENV = Env({Env.SMS_SNS_TOPIC_ARN, Env.AWS_REGION_NAME, Env.SMS_TRANSITION_TABLE})
SNS_CLIENT = boto3.client('sns')
DYNAMO_DB = boto3.resource('dynamodb', region_name=ENV.get(Env.AWS_REGION_NAME))
COGNITO_CLIENT = boto3.client('cognito-idp', region_name=ENV.get(Env.AWS_REGION_NAME))
SMS_TRANSITION_TABLE = DYNAMO_DB.Table(ENV.get(Env.SMS_TRANSITION_TABLE))
EVENT_SERVICE = TransitionEventService(SMS_TRANSITION_TABLE,
SNS_CLIENT,
ENV.get(Env.SMS_SNS_TOPIC_ARN),
COGNITO_CLIENT)
@trace
@keep_warm
def lambda_handler(event, context):
LOG = Logger.initialise_logger('transition-sms', context.aws_request_id)
try:
return EVENT_SERVICE.handle(event)
except Exception as e:
LOG.error(str(e))
transition_event_service.py
from account.initiate_transition.transition_sms_event import TransitionSmsEvent
from shared.utils import ApiGatewayResponse, Logger
from shared.xray_utils import trace
from http import HTTPStatus
from uuid import uuid4
from botocore.exceptions import ClientError
from jose import jwt
LOG = Logger.get_logger(__name__)
class TransitionEventService:
def __init__(self, sms_transition_table, sns_client, topic_arn, cognito_client):
LOG.debug('Initialising TransitionEventService')
self.sms_transition_table = sms_transition_table
self.sns_client = sns_client
self.topic_arn = topic_arn
self.cognito_client = cognito_client
@trace
def handle(self, event):
try:
event_object = self.instantiate_event(event)
except Exception as e:
LOG.error(e)
return ApiGatewayResponse.init(HTTPStatus.BAD_REQUEST, {
'error': 'Invalid request'
})
quid = str(uuid4())
LOG.info('quid {}'.format(quid))
LOG.debug('Storing SMS transition details')
self.sms_transition_table.put_item(Item={
'id_token': event_object.id_token,
'landing_page': event_object.landing_page,
'quid': quid
})
# Get phone number claim and verified claim
LOG.debug('Decoding id_token to get unverified claims')
claims = jwt.get_unverified_claims(event_object.id_token)
user_pool_id = claims['UserPoolId']
username = claims['Username']
url = "account/verify-transition?quid=123&&username=xyz"
response = self.cognito_client.admin_get_user(
UserPoolId = user_pool_id,
Username = username
)
phone_number = response['phone_number']
LOG.debug('Sending Transition SMS')
self.send_transition_sms(url=url, phone_number=phone_number)
LOG.debug('SMS sent to {}'.format(phone_number))
return ApiGatewayResponse.init(HTTPStatus.OK)
def instantiate_event(self, event):
return TransitionSmsEvent(event)
def send_transition_sms(self, url: str, phone_number: str):
try:
LOG.debug('Publishing SMS url to SNS Topic:{}'.format(self.topic_arn))
self.sns_client.publish(
TopicArn=self.topic_arn,
Message=json.dumps({
'default': json.dumps({
'url': url,
'phone_number': phone_number
})
}),
MessageStructure='json'
)
except ClientError as e:
LOG.error(e)
raise e
I getting below error in cloud watch logs:
Could someone help me resolving this issue.
python amazon-web-services python-import importerror amazon-cloudwatchlogs
did you package the jose library with the rest of your function?
– aws_apprentice
Jan 3 at 12:00
add a comment |
I have written AWS lambda in python to send message to sns topic.
I am using aws code pipeline to deploy this code in clould.
Running this lambda by calling api gateway.
python code is as below:
import boto3
from shared.environment import Env
from account.initiate_transition.transition_event_service import TransitionEventService
from shared.utils import Logger
from shared.xray_utils import trace
from shared.keep_warm import keep_warm
LOG = Logger.initialise_logger('transition-sms', None)
ENV = Env({Env.SMS_SNS_TOPIC_ARN, Env.AWS_REGION_NAME, Env.SMS_TRANSITION_TABLE})
SNS_CLIENT = boto3.client('sns')
DYNAMO_DB = boto3.resource('dynamodb', region_name=ENV.get(Env.AWS_REGION_NAME))
COGNITO_CLIENT = boto3.client('cognito-idp', region_name=ENV.get(Env.AWS_REGION_NAME))
SMS_TRANSITION_TABLE = DYNAMO_DB.Table(ENV.get(Env.SMS_TRANSITION_TABLE))
EVENT_SERVICE = TransitionEventService(SMS_TRANSITION_TABLE,
SNS_CLIENT,
ENV.get(Env.SMS_SNS_TOPIC_ARN),
COGNITO_CLIENT)
@trace
@keep_warm
def lambda_handler(event, context):
LOG = Logger.initialise_logger('transition-sms', context.aws_request_id)
try:
return EVENT_SERVICE.handle(event)
except Exception as e:
LOG.error(str(e))
transition_event_service.py
from account.initiate_transition.transition_sms_event import TransitionSmsEvent
from shared.utils import ApiGatewayResponse, Logger
from shared.xray_utils import trace
from http import HTTPStatus
from uuid import uuid4
from botocore.exceptions import ClientError
from jose import jwt
LOG = Logger.get_logger(__name__)
class TransitionEventService:
def __init__(self, sms_transition_table, sns_client, topic_arn, cognito_client):
LOG.debug('Initialising TransitionEventService')
self.sms_transition_table = sms_transition_table
self.sns_client = sns_client
self.topic_arn = topic_arn
self.cognito_client = cognito_client
@trace
def handle(self, event):
try:
event_object = self.instantiate_event(event)
except Exception as e:
LOG.error(e)
return ApiGatewayResponse.init(HTTPStatus.BAD_REQUEST, {
'error': 'Invalid request'
})
quid = str(uuid4())
LOG.info('quid {}'.format(quid))
LOG.debug('Storing SMS transition details')
self.sms_transition_table.put_item(Item={
'id_token': event_object.id_token,
'landing_page': event_object.landing_page,
'quid': quid
})
# Get phone number claim and verified claim
LOG.debug('Decoding id_token to get unverified claims')
claims = jwt.get_unverified_claims(event_object.id_token)
user_pool_id = claims['UserPoolId']
username = claims['Username']
url = "account/verify-transition?quid=123&&username=xyz"
response = self.cognito_client.admin_get_user(
UserPoolId = user_pool_id,
Username = username
)
phone_number = response['phone_number']
LOG.debug('Sending Transition SMS')
self.send_transition_sms(url=url, phone_number=phone_number)
LOG.debug('SMS sent to {}'.format(phone_number))
return ApiGatewayResponse.init(HTTPStatus.OK)
def instantiate_event(self, event):
return TransitionSmsEvent(event)
def send_transition_sms(self, url: str, phone_number: str):
try:
LOG.debug('Publishing SMS url to SNS Topic:{}'.format(self.topic_arn))
self.sns_client.publish(
TopicArn=self.topic_arn,
Message=json.dumps({
'default': json.dumps({
'url': url,
'phone_number': phone_number
})
}),
MessageStructure='json'
)
except ClientError as e:
LOG.error(e)
raise e
I getting below error in cloud watch logs:
Could someone help me resolving this issue.
python amazon-web-services python-import importerror amazon-cloudwatchlogs
I have written AWS lambda in python to send message to sns topic.
I am using aws code pipeline to deploy this code in clould.
Running this lambda by calling api gateway.
python code is as below:
import boto3
from shared.environment import Env
from account.initiate_transition.transition_event_service import TransitionEventService
from shared.utils import Logger
from shared.xray_utils import trace
from shared.keep_warm import keep_warm
LOG = Logger.initialise_logger('transition-sms', None)
ENV = Env({Env.SMS_SNS_TOPIC_ARN, Env.AWS_REGION_NAME, Env.SMS_TRANSITION_TABLE})
SNS_CLIENT = boto3.client('sns')
DYNAMO_DB = boto3.resource('dynamodb', region_name=ENV.get(Env.AWS_REGION_NAME))
COGNITO_CLIENT = boto3.client('cognito-idp', region_name=ENV.get(Env.AWS_REGION_NAME))
SMS_TRANSITION_TABLE = DYNAMO_DB.Table(ENV.get(Env.SMS_TRANSITION_TABLE))
EVENT_SERVICE = TransitionEventService(SMS_TRANSITION_TABLE,
SNS_CLIENT,
ENV.get(Env.SMS_SNS_TOPIC_ARN),
COGNITO_CLIENT)
@trace
@keep_warm
def lambda_handler(event, context):
LOG = Logger.initialise_logger('transition-sms', context.aws_request_id)
try:
return EVENT_SERVICE.handle(event)
except Exception as e:
LOG.error(str(e))
transition_event_service.py
from account.initiate_transition.transition_sms_event import TransitionSmsEvent
from shared.utils import ApiGatewayResponse, Logger
from shared.xray_utils import trace
from http import HTTPStatus
from uuid import uuid4
from botocore.exceptions import ClientError
from jose import jwt
LOG = Logger.get_logger(__name__)
class TransitionEventService:
def __init__(self, sms_transition_table, sns_client, topic_arn, cognito_client):
LOG.debug('Initialising TransitionEventService')
self.sms_transition_table = sms_transition_table
self.sns_client = sns_client
self.topic_arn = topic_arn
self.cognito_client = cognito_client
@trace
def handle(self, event):
try:
event_object = self.instantiate_event(event)
except Exception as e:
LOG.error(e)
return ApiGatewayResponse.init(HTTPStatus.BAD_REQUEST, {
'error': 'Invalid request'
})
quid = str(uuid4())
LOG.info('quid {}'.format(quid))
LOG.debug('Storing SMS transition details')
self.sms_transition_table.put_item(Item={
'id_token': event_object.id_token,
'landing_page': event_object.landing_page,
'quid': quid
})
# Get phone number claim and verified claim
LOG.debug('Decoding id_token to get unverified claims')
claims = jwt.get_unverified_claims(event_object.id_token)
user_pool_id = claims['UserPoolId']
username = claims['Username']
url = "account/verify-transition?quid=123&&username=xyz"
response = self.cognito_client.admin_get_user(
UserPoolId = user_pool_id,
Username = username
)
phone_number = response['phone_number']
LOG.debug('Sending Transition SMS')
self.send_transition_sms(url=url, phone_number=phone_number)
LOG.debug('SMS sent to {}'.format(phone_number))
return ApiGatewayResponse.init(HTTPStatus.OK)
def instantiate_event(self, event):
return TransitionSmsEvent(event)
def send_transition_sms(self, url: str, phone_number: str):
try:
LOG.debug('Publishing SMS url to SNS Topic:{}'.format(self.topic_arn))
self.sns_client.publish(
TopicArn=self.topic_arn,
Message=json.dumps({
'default': json.dumps({
'url': url,
'phone_number': phone_number
})
}),
MessageStructure='json'
)
except ClientError as e:
LOG.error(e)
raise e
I getting below error in cloud watch logs:
Could someone help me resolving this issue.
python amazon-web-services python-import importerror amazon-cloudwatchlogs
python amazon-web-services python-import importerror amazon-cloudwatchlogs
edited Jan 16 at 20:08
user10873417
asked Jan 3 at 11:24
Sagar P. GhagareSagar P. Ghagare
5482921
5482921
did you package the jose library with the rest of your function?
– aws_apprentice
Jan 3 at 12:00
add a comment |
did you package the jose library with the rest of your function?
– aws_apprentice
Jan 3 at 12:00
did you package the jose library with the rest of your function?
– aws_apprentice
Jan 3 at 12:00
did you package the jose library with the rest of your function?
– aws_apprentice
Jan 3 at 12:00
add a comment |
4 Answers
4
active
oldest
votes
If you have requirement.txt
then please verify below entry should be present
python-jose-cryptodome==1.3.2
add a comment |
You have to import the library needed by your functions. To do that you have to create a virtual env and activate it:
virtualenv v-env
source v-env/bin/activate
Then you install your different libraries
pip install library1
pip install library2
...
And finally you desactivate the virtual environment and package your function :
deactivate
zip -r function.zip .
More infos : https://amzn.to/2oif6Wv
I haverequirement.txt
file where i mention all my depenencies
– Sagar P. Ghagare
Jan 3 at 11:43
add a comment |
if you using requirement.txt
you must include dependencies which required.
so once you run or deploy your code through code pipeline it will download the dependencies and zip into artifact which you can use through s3
for your python lambda.
once you call api gateway back up by python lambda it will not fail while importing.
no module named jose
It shows that you haven't specify dependency in your requirement.txt
file.
depedency require for jose
is
python-jose-cryptodome==1.3.*
add a comment |
Check whether python-jose-cryptodome==1.3.2
is added in your requirement.txt
file.
If not add it this is major reason your getting this error.
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54021358%2fpython-importerror-while-executing-aws-lambda%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
4 Answers
4
active
oldest
votes
4 Answers
4
active
oldest
votes
active
oldest
votes
active
oldest
votes
If you have requirement.txt
then please verify below entry should be present
python-jose-cryptodome==1.3.2
add a comment |
If you have requirement.txt
then please verify below entry should be present
python-jose-cryptodome==1.3.2
add a comment |
If you have requirement.txt
then please verify below entry should be present
python-jose-cryptodome==1.3.2
If you have requirement.txt
then please verify below entry should be present
python-jose-cryptodome==1.3.2
answered Jan 3 at 12:50
Govind ParasharGovind Parashar
1,2321122
1,2321122
add a comment |
add a comment |
You have to import the library needed by your functions. To do that you have to create a virtual env and activate it:
virtualenv v-env
source v-env/bin/activate
Then you install your different libraries
pip install library1
pip install library2
...
And finally you desactivate the virtual environment and package your function :
deactivate
zip -r function.zip .
More infos : https://amzn.to/2oif6Wv
I haverequirement.txt
file where i mention all my depenencies
– Sagar P. Ghagare
Jan 3 at 11:43
add a comment |
You have to import the library needed by your functions. To do that you have to create a virtual env and activate it:
virtualenv v-env
source v-env/bin/activate
Then you install your different libraries
pip install library1
pip install library2
...
And finally you desactivate the virtual environment and package your function :
deactivate
zip -r function.zip .
More infos : https://amzn.to/2oif6Wv
I haverequirement.txt
file where i mention all my depenencies
– Sagar P. Ghagare
Jan 3 at 11:43
add a comment |
You have to import the library needed by your functions. To do that you have to create a virtual env and activate it:
virtualenv v-env
source v-env/bin/activate
Then you install your different libraries
pip install library1
pip install library2
...
And finally you desactivate the virtual environment and package your function :
deactivate
zip -r function.zip .
More infos : https://amzn.to/2oif6Wv
You have to import the library needed by your functions. To do that you have to create a virtual env and activate it:
virtualenv v-env
source v-env/bin/activate
Then you install your different libraries
pip install library1
pip install library2
...
And finally you desactivate the virtual environment and package your function :
deactivate
zip -r function.zip .
More infos : https://amzn.to/2oif6Wv
answered Jan 3 at 11:40
user1297406user1297406
101110
101110
I haverequirement.txt
file where i mention all my depenencies
– Sagar P. Ghagare
Jan 3 at 11:43
add a comment |
I haverequirement.txt
file where i mention all my depenencies
– Sagar P. Ghagare
Jan 3 at 11:43
I have
requirement.txt
file where i mention all my depenencies– Sagar P. Ghagare
Jan 3 at 11:43
I have
requirement.txt
file where i mention all my depenencies– Sagar P. Ghagare
Jan 3 at 11:43
add a comment |
if you using requirement.txt
you must include dependencies which required.
so once you run or deploy your code through code pipeline it will download the dependencies and zip into artifact which you can use through s3
for your python lambda.
once you call api gateway back up by python lambda it will not fail while importing.
no module named jose
It shows that you haven't specify dependency in your requirement.txt
file.
depedency require for jose
is
python-jose-cryptodome==1.3.*
add a comment |
if you using requirement.txt
you must include dependencies which required.
so once you run or deploy your code through code pipeline it will download the dependencies and zip into artifact which you can use through s3
for your python lambda.
once you call api gateway back up by python lambda it will not fail while importing.
no module named jose
It shows that you haven't specify dependency in your requirement.txt
file.
depedency require for jose
is
python-jose-cryptodome==1.3.*
add a comment |
if you using requirement.txt
you must include dependencies which required.
so once you run or deploy your code through code pipeline it will download the dependencies and zip into artifact which you can use through s3
for your python lambda.
once you call api gateway back up by python lambda it will not fail while importing.
no module named jose
It shows that you haven't specify dependency in your requirement.txt
file.
depedency require for jose
is
python-jose-cryptodome==1.3.*
if you using requirement.txt
you must include dependencies which required.
so once you run or deploy your code through code pipeline it will download the dependencies and zip into artifact which you can use through s3
for your python lambda.
once you call api gateway back up by python lambda it will not fail while importing.
no module named jose
It shows that you haven't specify dependency in your requirement.txt
file.
depedency require for jose
is
python-jose-cryptodome==1.3.*
answered Jan 3 at 16:27
user10863653
add a comment |
add a comment |
Check whether python-jose-cryptodome==1.3.2
is added in your requirement.txt
file.
If not add it this is major reason your getting this error.
add a comment |
Check whether python-jose-cryptodome==1.3.2
is added in your requirement.txt
file.
If not add it this is major reason your getting this error.
add a comment |
Check whether python-jose-cryptodome==1.3.2
is added in your requirement.txt
file.
If not add it this is major reason your getting this error.
Check whether python-jose-cryptodome==1.3.2
is added in your requirement.txt
file.
If not add it this is major reason your getting this error.
answered Jan 3 at 17:49
user10864012
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54021358%2fpython-importerror-while-executing-aws-lambda%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
did you package the jose library with the rest of your function?
– aws_apprentice
Jan 3 at 12:00