Creating a 'SS' item in DynamoDB using boto3
up vote
0
down vote
favorite
I'm trying to create an item in AWS DynamoDB using boto3 and regardless what I try I can't manage to get an item of type 'SS' created. Here's my code:
client = boto3.resource('dynamodb', region_name=region)
table = client.Table(config[region]['table'])
sched =
"begintime": begintime,
"description": description,
"endtime": endtime,
"name": name,
"type": "period",
"weekdays": [weekdays]
table.put_item(Item=sched)
The other columns work fine but regardless what I try, weekdays
always ends up as a 'S' type. For reference, this is what one of the other items look like from the same table:
'begintime': '09:00', 'endtime': '18:00', 'description': 'Office hours', 'weekdays': 'mon-fri', 'name': 'office-hours', 'type': 'period'
Trying to convert this to a Python structure obviously fails so I'm not sure how it's possible to insert a new item.
python-3.x amazon-web-services amazon-dynamodb boto3
add a comment |
up vote
0
down vote
favorite
I'm trying to create an item in AWS DynamoDB using boto3 and regardless what I try I can't manage to get an item of type 'SS' created. Here's my code:
client = boto3.resource('dynamodb', region_name=region)
table = client.Table(config[region]['table'])
sched =
"begintime": begintime,
"description": description,
"endtime": endtime,
"name": name,
"type": "period",
"weekdays": [weekdays]
table.put_item(Item=sched)
The other columns work fine but regardless what I try, weekdays
always ends up as a 'S' type. For reference, this is what one of the other items look like from the same table:
'begintime': '09:00', 'endtime': '18:00', 'description': 'Office hours', 'weekdays': 'mon-fri', 'name': 'office-hours', 'type': 'period'
Trying to convert this to a Python structure obviously fails so I'm not sure how it's possible to insert a new item.
python-3.x amazon-web-services amazon-dynamodb boto3
Could you try weekdays: set(['a', 'b', 'c'])? Or you could try the DynamoDB.Client (client-level) methods, rather than the DynamoDB.Table (resource-level) methods. The former give you lower-level access so you can indicate the attribute type as 'SS' (String Set).
– jarmod
Nov 10 at 16:05
add a comment |
up vote
0
down vote
favorite
up vote
0
down vote
favorite
I'm trying to create an item in AWS DynamoDB using boto3 and regardless what I try I can't manage to get an item of type 'SS' created. Here's my code:
client = boto3.resource('dynamodb', region_name=region)
table = client.Table(config[region]['table'])
sched =
"begintime": begintime,
"description": description,
"endtime": endtime,
"name": name,
"type": "period",
"weekdays": [weekdays]
table.put_item(Item=sched)
The other columns work fine but regardless what I try, weekdays
always ends up as a 'S' type. For reference, this is what one of the other items look like from the same table:
'begintime': '09:00', 'endtime': '18:00', 'description': 'Office hours', 'weekdays': 'mon-fri', 'name': 'office-hours', 'type': 'period'
Trying to convert this to a Python structure obviously fails so I'm not sure how it's possible to insert a new item.
python-3.x amazon-web-services amazon-dynamodb boto3
I'm trying to create an item in AWS DynamoDB using boto3 and regardless what I try I can't manage to get an item of type 'SS' created. Here's my code:
client = boto3.resource('dynamodb', region_name=region)
table = client.Table(config[region]['table'])
sched =
"begintime": begintime,
"description": description,
"endtime": endtime,
"name": name,
"type": "period",
"weekdays": [weekdays]
table.put_item(Item=sched)
The other columns work fine but regardless what I try, weekdays
always ends up as a 'S' type. For reference, this is what one of the other items look like from the same table:
'begintime': '09:00', 'endtime': '18:00', 'description': 'Office hours', 'weekdays': 'mon-fri', 'name': 'office-hours', 'type': 'period'
Trying to convert this to a Python structure obviously fails so I'm not sure how it's possible to insert a new item.
python-3.x amazon-web-services amazon-dynamodb boto3
python-3.x amazon-web-services amazon-dynamodb boto3
asked Nov 9 at 21:30
Dendory
335417
335417
Could you try weekdays: set(['a', 'b', 'c'])? Or you could try the DynamoDB.Client (client-level) methods, rather than the DynamoDB.Table (resource-level) methods. The former give you lower-level access so you can indicate the attribute type as 'SS' (String Set).
– jarmod
Nov 10 at 16:05
add a comment |
Could you try weekdays: set(['a', 'b', 'c'])? Or you could try the DynamoDB.Client (client-level) methods, rather than the DynamoDB.Table (resource-level) methods. The former give you lower-level access so you can indicate the attribute type as 'SS' (String Set).
– jarmod
Nov 10 at 16:05
Could you try weekdays: set(['a', 'b', 'c'])? Or you could try the DynamoDB.Client (client-level) methods, rather than the DynamoDB.Table (resource-level) methods. The former give you lower-level access so you can indicate the attribute type as 'SS' (String Set).
– jarmod
Nov 10 at 16:05
Could you try weekdays: set(['a', 'b', 'c'])? Or you could try the DynamoDB.Client (client-level) methods, rather than the DynamoDB.Table (resource-level) methods. The former give you lower-level access so you can indicate the attribute type as 'SS' (String Set).
– jarmod
Nov 10 at 16:05
add a comment |
1 Answer
1
active
oldest
votes
up vote
0
down vote
To indicate an attribute of type SS (String Set) using the boto3 DynamoDB resource-level methods, you need to supply a set rather than a simple list. For example:
import boto3
res = boto3.resource('dynamodb', region_name='us-east-1')
table = res.Table('stackoverflow-42809096')
sched =
"begintime": '09:00',
"description": 'Hello there',
"endtime": '14:00',
"name": 'james',
"type": "period",
"weekdays": set(['mon', 'wed', 'fri'])
table.put_item(Item=sched)
add a comment |
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
0
down vote
To indicate an attribute of type SS (String Set) using the boto3 DynamoDB resource-level methods, you need to supply a set rather than a simple list. For example:
import boto3
res = boto3.resource('dynamodb', region_name='us-east-1')
table = res.Table('stackoverflow-42809096')
sched =
"begintime": '09:00',
"description": 'Hello there',
"endtime": '14:00',
"name": 'james',
"type": "period",
"weekdays": set(['mon', 'wed', 'fri'])
table.put_item(Item=sched)
add a comment |
up vote
0
down vote
To indicate an attribute of type SS (String Set) using the boto3 DynamoDB resource-level methods, you need to supply a set rather than a simple list. For example:
import boto3
res = boto3.resource('dynamodb', region_name='us-east-1')
table = res.Table('stackoverflow-42809096')
sched =
"begintime": '09:00',
"description": 'Hello there',
"endtime": '14:00',
"name": 'james',
"type": "period",
"weekdays": set(['mon', 'wed', 'fri'])
table.put_item(Item=sched)
add a comment |
up vote
0
down vote
up vote
0
down vote
To indicate an attribute of type SS (String Set) using the boto3 DynamoDB resource-level methods, you need to supply a set rather than a simple list. For example:
import boto3
res = boto3.resource('dynamodb', region_name='us-east-1')
table = res.Table('stackoverflow-42809096')
sched =
"begintime": '09:00',
"description": 'Hello there',
"endtime": '14:00',
"name": 'james',
"type": "period",
"weekdays": set(['mon', 'wed', 'fri'])
table.put_item(Item=sched)
To indicate an attribute of type SS (String Set) using the boto3 DynamoDB resource-level methods, you need to supply a set rather than a simple list. For example:
import boto3
res = boto3.resource('dynamodb', region_name='us-east-1')
table = res.Table('stackoverflow-42809096')
sched =
"begintime": '09:00',
"description": 'Hello there',
"endtime": '14:00',
"name": 'james',
"type": "period",
"weekdays": set(['mon', 'wed', 'fri'])
table.put_item(Item=sched)
answered Nov 10 at 16:22
jarmod
17.8k63845
17.8k63845
add a comment |
add a comment |
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%2f53233499%2fcreating-a-ss-item-in-dynamodb-using-boto3%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
Could you try weekdays: set(['a', 'b', 'c'])? Or you could try the DynamoDB.Client (client-level) methods, rather than the DynamoDB.Table (resource-level) methods. The former give you lower-level access so you can indicate the attribute type as 'SS' (String Set).
– jarmod
Nov 10 at 16:05