Я использую python boto3, когда я загружаю файл в s3, aws lambda переместит файл в другое ведро, я могу получить URL объекта по лямбда-событию, например https://xxx.s3.amazonaws.com/xxx/xxx/xxxx/xxxx/diamond+white.side.jpg
https://xxx.s3.amazonaws.com/xxx/xxx/xxxx/xxxx/diamond+white.side.jpg
Ключ объекта is xxx/xxx/xxxx/xxxx/diamond+white.side.jpg Это простой пример, я могу заменить "+" получить ключ объекта, есть другие сложные ситуации, мне нужно получить ключ объекта по URL объекта, как я могу это сделать? спасибо !!
xxx/xxx/xxxx/xxxx/diamond+white.side.jpg
Вы должны использовать urllib.parse.unquote, а затем заменить + пробелом.
urllib.parse.unquote
+
Насколько я знаю, + является единственным исключением при разборе URL, поэтому вы должны быть в безопасности, если вы делаете это вручную .
Я думаю, это то, что вы хотите:
url_data = "https://xxx.s3.amazonaws.com/xxx/xxx/xxxx/xxxx/diamond+white.side.jpg".split("/")[3:] object_key = "/".join(url_data)