![](/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.