我在cloud9上使用Python,我不想通过控制台授予权限。boto3是否提供任何方法来授予权限,如aws_cdk.aws_dynamodb提供的grant_read_write_data()。当我通过CLI运行它时,代码工作得很好,但是当我在管道中运行它时,它会在构建阶段产生一个错误。我在调用堆栈中的函数。请帮助,我是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)

谢谢。我希望我说的很清楚。
发布于 2021-12-30 01:04:33
您的管道角色没有执行PutItem的权限。您必须更新该角色才能添加此类权限。
https://stackoverflow.com/questions/70526483
复制相似问题