警告 削除されたオブジェクトは回復できないため、オブジェクトは慎重に削除してください。

オブジェクト削除の完全なコードについては、『GitHub』をご参照ください。

オブジェクトの削除

単一オブジェクトを削除するには、次のコードを実行します。

package main

import (
	"fmt"
	"os"
	"github.com/aliyun/aliyun-oss-go-sdk/oss"
)

func main() {
	// Create an OSSClient instance.
	client, err := oss.New("<yourEndpoint>", "<yourAccessKeyId>", "<yourAccessKeySecret>")
	if err ! = nil {
		fmt.Println("Error:", err)
		os.Exit(-1)
	}

	bucketName := "<yourBucketName>"
	objectName := "<yourObjectName>"

	// Obtain the bucket.
	bucket, err := client.Bucket(bucketName)
	if err ! = nil {
		fmt.Println("Error:", err)
		os.Exit(-1)
	}

	// Delete an object.
	err = bucket.DeleteObject(objectName)
	if err ! = nil {
		fmt.Println("Error:", err)
		os.Exit(-1)
	}
}

複数のオブジェクトの削除

"Bucket.DeleteObjects" を使用して複数のオブジェクトを削除し、"DeleteObjectsQuiet" パラメーターを指定して削除操作の結果が返されるかどうかを判断します。 削除されたオブジェクトの結果が既定では返されます。

次のコードを実行して複数のオブジェクトを削除します。

package main

import (
	"fmt"
	"os"
	"github.com/aliyun/aliyun-oss-go-sdk/oss"
)

func main() {
	// Create an OSSClient instance.
	client, err := oss.New("<yourEndpoint>", "<yourAccessKeyId>", "<yourAccessKeySecret>")
	if err ! = nil {
		fmt.Println("Error:", err)
		os.Exit(-1)
	}

	bucketName := "<yourBucketName>"

	// Obtain the bucket.
	bucket, err := client.Bucket(bucketName)
	if err ! = nil {
		fmt.Println("Error:", err)
		os.Exit(-1)
	}

	// The results of deleted objects are returned.
	delRes, err := bucket.DeleteObjects([]string{"my-object-1", "my-object-2"})
	if err ! = nil {
		fmt.Println("Error:", err)
		os.Exit(-1)
	}
	fmt.Println("Deleted Objects:", delRes.DeletedObjects)

	// The deletion results are not returned.
	_, err = bucket.DeleteObjects([]string{"my-object-3", "my-object-4"},
	oss.DeleteObjectsQuiet(true))
	if err ! = nil {
		fmt.Println("Error:", err)
		os.Exit(-1)
	}
}