是否可以使用 AzCopy 从 Azure Table 存储中删除 table

Is it possible to delete a table from Azure Table Storage using AzCopy

我正在构建一组 Webjobs 以将我的 Azure 存储 blob 和表备份到一个单独的存储帐户(用于数据意外损坏的情况,在这种情况下,内置复制不会有用)。

我已经成功地创建了作业来备份和恢复数据。我现在正在做一项删除旧备份的工作,我可以删除 blob,但我在删除表时遇到了问题。 AzCopy 10 具有 remove 操作,但不支持表。 AzCopy 7.3 支持表,但似乎没有删除对象的方法。我在这里遗漏了什么,或者我唯一的选择是以某种方式调用 REST API 来删除这些表吗?

Am I missing something here, or is my only option to somehow call the REST API to delete these tables?

如果我没记错的话,AzCopy 中没有该功能。

关于使用 REST API,我认为您不需要这样做。您可以简单地使用 Azure Storage .Net SDK(它是 REST API 的包装器)对对象执行删除操作。

看起来不像。 运行 azcopy --help 获取完整的命令列表或 运行 azcopy remove --help 获取可用于删除命令的完整操作列表

Usage:
  azcopy remove [resourceURL] [flags]

Aliases:
  remove, rm, r

Examples:

Remove a single blob by using a SAS token:

   - azcopy rm "https://[account].blob.core.windows.net/[container]/[path/to/blob]?[SAS]"

Remove an entire virtual directory by using a SAS token:

   - azcopy rm "https://[account].blob.core.windows.net/[container]/[path/to/directory]?[SAS]" --recursive=true

Remove only the blobs inside of a virtual directory, but don't remove any subdirectories or blobs within those subdirectories:

   - azcopy rm "https://[account].blob.core.windows.net/[container]/[path/to/virtual/dir]" --recursive=false

Remove a subset of blobs in a virtual directory (For example: remove only jpg and pdf files, or if the blob name is "exactName"):

   - azcopy rm "https://[account].blob.core.windows.net/[container]/[path/to/directory]?[SAS]" --recursive=true --include="*.jpg;*.pdf;exactName"

Remove an entire virtual directory but exclude certain blobs from the scope (For example: every blob that starts with foo or ends with bar):

   - azcopy rm "https://[account].blob.core.windows.net/[container]/[path/to/directory]?[SAS]" --recursive=true --exclude="foo*;*bar"

Remove specific blobs and virtual directories by putting their relative paths (NOT URL-encoded) in a file:

   - azcopy rm "https://[account].blob.core.windows.net/[container]/[path/to/parent/dir]" --recursive=true --list-of-files=/usr/bar/list.txt
   - file content:
           dir1/dir2
           blob1
           blob2

Remove a single file from a Blob Storage account that has a hierarchical namespace (include/exclude not supported):

   - azcopy rm "https://[account].dfs.core.windows.net/[container]/[path/to/file]?[SAS]"

Remove a single directory from a Blob Storage account that has a hierarchical namespace (include/exclude not supported):

   - azcopy rm "https://[account].dfs.core.windows.net/[container]/[path/to/directory]?[SAS]"


Flags:
      --delete-snapshots string   By default, the delete operation fails if a blob has snapshots. Specify 'include' to remove the root blob and all its snapshots; alternatively specify 'only' to remove only the snapshots but keep the root blob.
      --exclude-path string       Exclude these paths when removing. This option does not support wildcard characters (*). Checks relative path prefix. For example: myFolder;myFolder/subDirName/file.pdf
      --exclude-pattern string    Exclude files where the name matches the pattern list. For example: *.jpg;*.pdf;exactName
  -h, --help                      help for remove
      --include-path string       Include only these paths when removing. This option does not support wildcard characters (*). Checks relative path prefix. For example: myFolder;myFolder/subDirName/file.pdf
      --include-pattern string    Include only files where the name matches the pattern list. For example: *.jpg;*.pdf;exactName
      --list-of-files string      Defines the location of a file which contains the list of files and directories to be deleted. The relative paths should be delimited by line breaks, and the paths should NOT be URL-encoded.
      --log-level string          Define the log verbosity for the log file. Available levels include: INFO(all requests/responses), WARNING(slow responses), ERROR(only failed requests), and NONE(no output logs). (default 'INFO') (default "INFO")
      --recursive                 Look into sub-directories recursively when syncing between directories.

Flags Applying to All Commands:
      --cap-mbps uint32      Caps the transfer rate, in megabits per second. Moment-by-moment throughput might vary slightly from the cap. If this option is set to zero, or it is omitted, the throughput isn't capped.
      --output-type string   Format of the command's output. The choices include: text, json. The default value is 'text'. (default "text")