![](/img/trans.png)
[英]aws lambda function to disable and delete CloudFront distribution in python boto3
[英]Boto3 AWS Codecommit Delete Folder
问题是您可以创建和更新多个文件,例如.create_commit
。 但是,您不能反过来,您可以使用文档中提到的 function逐个删除文件。
对于客户端,我使用boto3
和boto3.client('codecommit')
参考 - boto3 文档 - 删除文件
问题:如何使用boto3和aws codecommit删除文件夹?
只有以下4种方法可用:
delete_branch()
delete_comment_content()
delete_file()
delete_repository()
要删除文件夹,请在对该文件夹中的最后一个文件调用 delete_file 时设置keepEmptyFolders keepEmptyFolders=False
。 我不知道单个 API function 会删除整个文件夹及其所有内容。
注意:默认情况下,调用delete_file时将删除空文件夹。
AWS codecommit 不允许删除目录(文件夹)。 这个实现有效,而不是一次删除整个目录,你找到所有的文件然后删除它们。
基本概述。
.get_folder()
获取文件夹内的文件名请注意,他提供了更多信息*.get_folder
-清理 output 不仅仅是文件路径,我们只需要文件路径 其中REPOSITORY_NAME
是存储库的名称, folderPath
是要删除的文件夹的名称。
files = codecommit_client.get_folder(repositoryName=REPOSITORY_NAME, folderPath=PATH)
现在我们使用该信息来创建包含已删除文件的提交,我们必须进行一些操作,因为 deleteFiles 参数仅采用文件路径,而我们通过.get_folder
获得的信息包含的不仅仅是文件路径。 如果需要,请替换branchName
(目前主要)
codecommit_client.create_commit(
repositoryName=REPOSITORY_NAME,
branchName='main',
parentCommitId=files['commitId'],
commitMessage=f"DELETED Files",
deleteFiles=[{'filePath':x['absolutePath']} for x in files['files']],
)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.