PutObject failed again and again

All APIs (DeleteObject、ListObjectsV2、GetObject) can be called successfully, but PutObject failed again and again.

panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x2 addr=0x0 pc=0x10040a12c]
	resp, err := client.PutObject(context.TODO(), &s3.PutObjectInput{
		Bucket: aws.String("xxx"),
		Key:    aws.String("test.txt"),
		Body:   bytes.NewReader([]byte("test")),
	}, nil)
	if err != nil {
		fmt.Println("R2 Put", err)
		return nil, err
	}

Why?