regenerate_test.go 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203
  1. package test
  2. import (
  3. "fmt"
  4. "github.com/aliyun/aliyun-oss-go-sdk/oss"
  5. "strings"
  6. "testing"
  7. )
  8. // 删除除了 callback 文件之外的所有文件
  9. func TestDeleteExceptCallback(t *testing.T) {
  10. // Define OSS configuration
  11. endpoint := "http://pji-bucket1.oss.icvdc.com"
  12. accessKeyID := "n8glvFGS25MrLY7j"
  13. accessKeySecret := "xZ2Fozoarpfw0z28FUhtg8cu0yDc5d"
  14. bucketName := "pji-bucket1"
  15. // Create an OSS client
  16. client, err := oss.New(endpoint, accessKeyID, accessKeySecret, oss.UseCname(true))
  17. if err != nil {
  18. fmt.Printf("Failed to create OSS client: %v\n", err)
  19. return
  20. }
  21. // Get the bucket
  22. bucket, err := client.Bucket(bucketName)
  23. if err != nil {
  24. fmt.Printf("Failed to get bucket: %v\n", err)
  25. return
  26. }
  27. // Define an array of directories (prefixes) to scan
  28. //directories := []string{
  29. // "pjibot_delivery/pjibot-P1YVPS1M22CM00020/data_parse/",
  30. // "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse/",
  31. //}
  32. directories := []string{
  33. "pjibot_patrol/pjibot-P1YVXJ1M231M00022/data_parse",
  34. "pjibot_patrol/pjibot-P1YVXJ1M231M00023/data_parse",
  35. }
  36. for _, dir := range directories {
  37. // List objects in the directory
  38. marker := ""
  39. for {
  40. lsRes, err := bucket.ListObjects(oss.Prefix(dir), oss.Marker(marker))
  41. if err != nil {
  42. fmt.Printf("Failed to list objects in directory %s: %v\n", dir, err)
  43. break
  44. }
  45. for _, object := range lsRes.Objects {
  46. objectKey := object.Key
  47. // Process files not containing "callback"
  48. if !strings.Contains(objectKey, "callback") {
  49. err := bucket.DeleteObject(objectKey)
  50. if err != nil {
  51. fmt.Printf("Failed to delete object %s: %v\n", objectKey, err)
  52. } else {
  53. fmt.Printf("Deleted object: %s\n", objectKey)
  54. }
  55. continue
  56. }
  57. // Rename files containing "callback_done" to "callback"
  58. if strings.Contains(objectKey, "callback_done") {
  59. newKey := strings.Replace(objectKey, "callback_done", "callback", 1)
  60. err, _ = bucket.CopyObject(objectKey, newKey)
  61. if err != nil {
  62. fmt.Printf("Failed to copy object %s to %s: %v\n", objectKey, newKey, err)
  63. err = bucket.DeleteObject(objectKey)
  64. } else {
  65. err = bucket.DeleteObject(objectKey)
  66. if err != nil {
  67. fmt.Printf("Failed to delete original object %s after renaming: %v\n", objectKey, err)
  68. } else {
  69. fmt.Printf("Renamed object: %s to %s\n", objectKey, newKey)
  70. }
  71. }
  72. }
  73. }
  74. // Exit the loop if all objects are processed
  75. if !lsRes.IsTruncated {
  76. break
  77. }
  78. marker = lsRes.NextMarker
  79. }
  80. }
  81. }
  82. // 删除指定csv文件,为了重新升成 report.pdf
  83. func TestDeleteAllTrajectoryPjiCsv(t *testing.T) {
  84. // Define OSS configuration
  85. endpoint := "http://pji-bucket1.oss.icvdc.com"
  86. accessKeyID := "n8glvFGS25MrLY7j"
  87. accessKeySecret := "xZ2Fozoarpfw0z28FUhtg8cu0yDc5d"
  88. bucketName := "pji-bucket1"
  89. // Create an OSS client
  90. client, err := oss.New(endpoint, accessKeyID, accessKeySecret, oss.UseCname(true))
  91. if err != nil {
  92. fmt.Printf("Failed to create OSS client: %v\n", err)
  93. return
  94. }
  95. // Get the bucket
  96. bucket, err := client.Bucket(bucketName)
  97. if err != nil {
  98. fmt.Printf("Failed to get bucket: %v\n", err)
  99. return
  100. }
  101. // Define directories to scan
  102. directories := []string{
  103. "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse",
  104. "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse",
  105. }
  106. for _, dir := range directories {
  107. // List objects in the given prefix
  108. hasNext := true
  109. marker := ""
  110. for hasNext {
  111. lsRes, err := bucket.ListObjects(oss.Prefix(dir), oss.Marker(marker))
  112. if err != nil {
  113. fmt.Printf("Failed to list objects in directory %s: %v\n", dir, err)
  114. break
  115. }
  116. for _, object := range lsRes.Objects {
  117. if strings.Contains(object.Key, "trajectory_pji.csv") {
  118. if err := bucket.DeleteObject(object.Key); err != nil {
  119. fmt.Printf("Failed to delete %s: %v\n", object.Key, err)
  120. } else {
  121. fmt.Printf("Deleted %s\n", object.Key)
  122. }
  123. }
  124. }
  125. hasNext = lsRes.IsTruncated
  126. marker = lsRes.NextMarker
  127. }
  128. }
  129. }
  130. // 删除
  131. func TestDeletePcd(t *testing.T) {
  132. // Define OSS configuration
  133. endpoint := "http://pji-bucket1.oss.icvdc.com"
  134. accessKeyID := "n8glvFGS25MrLY7j"
  135. accessKeySecret := "xZ2Fozoarpfw0z28FUhtg8cu0yDc5d"
  136. bucketName := "pji-bucket1"
  137. // Create an OSS client
  138. client, err := oss.New(endpoint, accessKeyID, accessKeySecret, oss.UseCname(true))
  139. if err != nil {
  140. fmt.Printf("Failed to create OSS client: %v\n", err)
  141. return
  142. }
  143. // Get the bucket
  144. bucket, err := client.Bucket(bucketName)
  145. if err != nil {
  146. fmt.Printf("Failed to get bucket: %v\n", err)
  147. return
  148. }
  149. // Define directories to scan
  150. directories := []string{
  151. "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse",
  152. "pjibot_delivery/pjibot-P1YYPS1M227M00107/data_parse",
  153. }
  154. for _, dir := range directories {
  155. // List objects in the given prefix
  156. hasNext := true
  157. marker := ""
  158. for hasNext {
  159. lsRes, err := bucket.ListObjects(oss.Prefix(dir), oss.Marker(marker))
  160. if err != nil {
  161. fmt.Printf("Failed to list objects in directory %s: %v\n", dir, err)
  162. break
  163. }
  164. for _, object := range lsRes.Objects {
  165. if strings.Contains(object.Key, "pcd_overlook.mp4") {
  166. if err := bucket.DeleteObject(object.Key); err != nil {
  167. fmt.Printf("Failed to delete %s: %v\n", object.Key, err)
  168. } else {
  169. fmt.Printf("Deleted %s\n", object.Key)
  170. }
  171. }
  172. }
  173. hasNext = lsRes.IsTruncated
  174. marker = lsRes.NextMarker
  175. }
  176. }
  177. }