Google Cloud Storage批量HTTP删除异常:最后一个文件未被删除
批量删除Google Cloud Storage文件时最后一个文件始终未被删除的问题
已更新为最新请求及结果
尝试通过HTTP请求向Google Cloud Storage发送批量删除请求,参考官方文档后进行测试,请求几乎生效,但始终有最后一个文件未被删除。
-- 命令行执行的curl命令 --
curl --location --request POST 'https://www.googleapis.com/batch/storage/v1' \ --header "Content-Type: multipart/mixed; boundary='=========delete_AK-AKMLS_22-14540===='" \ --header "Authorization: Bearer MY_AUTH_TOKEN" \ --data-raw '--=========delete_AK-AKMLS_22-14540==== Content-Type: application/http Content-ID: <1707427885-AK-AKMLS-22-14540-org/000.jpg> DELETE /storage/v1/b/MY-BUCKET-NAME/o/AK-AKMLS%2F22-14540%2Forg%2F000.jpg --=========delete_AK-AKMLS_22-14540==== Content-Type: application/http Content-ID: <1707427885-AK-AKMLS-22-14540-org/001.jpg> DELETE /storage/v1/b/MY-BUCKET-NAME/o/AK-AKMLS%2F22-14540%2Forg%2F001.jpg --=========delete_AK-AKMLS_22-14540==== Content-Type: application/http Content-ID: <1707427885-AK-AKMLS-22-14540-org/002.jpg> DELETE /storage/v1/b/MY-BUCKET-NAME/o/AK-AKMLS%2F22-14540%2Forg%2F002.jpg --=========delete_AK-AKMLS_22-14540==== Content-Type: application/http Content-ID: <1707427885-AK-AKMLS-22-14540-org/003.jpg> DELETE /storage/v1/b/MY-BUCKET-NAME/o/AK-AKMLS%2F22-14540%2Forg%2F003.jpg --=========delete_AK-AKMLS_22-14540===='
在该案例中,前2个文件被成功删除,但第3个文件未被删除;若请求删除5个文件,则前4个被删除,第5个始终保留。以下是Google返回的响应:
-- 响应内容 --
--batch_V1mVEkG9XhCd0_MIf13rGYRrdVxZ0uO2 Content-Type: application/http Content-ID: <response-1707427885-AK-AKMLS-22-14540-org/000.jpg> HTTP/1.1 204 No Content Content-Type: application/json Date: Thu, 08 Feb 2024 21:33:13 GMT Cache-Control: no-cache, no-store, max-age=0, must-revalidate Expires: Mon, 01 Jan 1990 00:00:00 GMT Content-Length: 0 --batch_V1mVEkG9XhCd0_MIf13rGYRrdVxZ0uO2 Content-Type: application/http Content-ID: <response-1707427885-AK-AKMLS-22-14540-org/001.jpg> HTTP/1.1 204 No Content Content-Type: application/json Date: Thu, 08 Feb 2024 21:33:13 GMT Cache-Control: no-cache, no-store, max-age=0, must-revalidate Expires: Mon, 01 Jan 1990 00:00:00 GMT Content-Length: 0 --batch_V1mVEkG9XhCd0_MIf13rGYRrdVxZ0uO2 Content-Type: application/http Content-ID: <response-1707427885-AK-AKMLS-22-14540-org/002.jpg> HTTP/1.1 204 No Content Content-Type: application/json Date: Thu, 08 Feb 2024 21:33:13 GMT Cache-Control: no-cache, no-store, max-age=0, must-revalidate Expires: Mon, 01 Jan 1990 00:00:00 GMT Content-Length: 0 --batch_V1mVEkG9XhCd0_MIf13rGYRrdVxZ0uO2--
根据Google文档,预期响应应为HTTP/1.1 200 OK而非204 No Content,且Expires字段值为"1990年1月1日"也不符合预期。最奇怪的是,尽管每个响应段内容一致,但前两个文件被删除,第三个却未被删除。
内容的提问来源于stack exchange,提问作者Andy Wallace
相关产品推荐
相关产品推荐

