如何向使用 boto3 创建的 table 授予读写权限?
How can I grant read write permissions to a table created using boto3?
我在 cloud9 上使用 Python,我不想通过控制台授予权限。 boto3 是否提供任何方法来授予权限,例如 aws_cdk.aws_dynamodb 提供的 grant_read_write_data()。当我通过 CLI 运行 它时,代码工作正常,但是当我通过管道 运行 它时,它在 BUILD 阶段给出错误。我正在调用堆栈中的函数。请帮忙,我是 AWS 的新手,我发现很难阅读文档,尤其是政策。
import boto3
from resources import s3bucket
import time
def create_sprint3_table():
client_ = boto3.resource('dynamodb')
try:
table = client_.create_table(
TableName='NEWTABLE',
KeySchema=[
{
'AttributeName': 'URL_ADDRESS',
'KeyType': 'HASH' # Partition key
}
],
AttributeDefinitions=[
{
'AttributeName': 'URL_ADDRESS',
'AttributeType': 'S'
}
],
ProvisionedThroughput={
'ReadCapacityUnits': 10,
'WriteCapacityUnits': 10
}
)
time.sleep(5)
#table.grant_read_write_data()
except:
pass
def putting_sprint3_data():
URLs = s3bucket.read_file("newbucket", "urlsList.json")
client_ = boto3.client('dynamodb')
for U in URLs:
item = {
'URL_ADDRESS': {'S': U}
}
print(item)
client_.put_item(TableName="NEWTABLE", Item=item)
谢谢。我希望我说清楚了。
您的管道角色没有权限执行PutItem
。您必须更新该角色才能添加此类权限。
我在 cloud9 上使用 Python,我不想通过控制台授予权限。 boto3 是否提供任何方法来授予权限,例如 aws_cdk.aws_dynamodb 提供的 grant_read_write_data()。当我通过 CLI 运行 它时,代码工作正常,但是当我通过管道 运行 它时,它在 BUILD 阶段给出错误。我正在调用堆栈中的函数。请帮忙,我是 AWS 的新手,我发现很难阅读文档,尤其是政策。
import boto3
from resources import s3bucket
import time
def create_sprint3_table():
client_ = boto3.resource('dynamodb')
try:
table = client_.create_table(
TableName='NEWTABLE',
KeySchema=[
{
'AttributeName': 'URL_ADDRESS',
'KeyType': 'HASH' # Partition key
}
],
AttributeDefinitions=[
{
'AttributeName': 'URL_ADDRESS',
'AttributeType': 'S'
}
],
ProvisionedThroughput={
'ReadCapacityUnits': 10,
'WriteCapacityUnits': 10
}
)
time.sleep(5)
#table.grant_read_write_data()
except:
pass
def putting_sprint3_data():
URLs = s3bucket.read_file("newbucket", "urlsList.json")
client_ = boto3.client('dynamodb')
for U in URLs:
item = {
'URL_ADDRESS': {'S': U}
}
print(item)
client_.put_item(TableName="NEWTABLE", Item=item)
谢谢。我希望我说清楚了。
您的管道角色没有权限执行PutItem
。您必须更新该角色才能添加此类权限。