存储对云资产的引用的方法

Way to store references to a cloudinary asset

简介

根据 documentation,Cloudinary 的上传响应包含以某种方式指向上传资产的各种信息。大多数情况下,有 pathpublic_idversion。似乎是以下内容(请原谅我的伪 BNF):

path      = "v" version "/" public_id "." format
public_id = (*"/) ALNUM
version   = DIGITS

这解析为以下 "runtime example":

path      : "v1552733016/foo/uwx0wujz3noatcgwchpw.jpg"
public_id : "foo/uwx0wujz3noatcgwchpw"
version   : "1552733016"

注意 foo 是一个额外的文件夹,可以很深。

真题

一个人应该如何在他们自己的系统中存储对该资产的引用,考虑到不要错过任何要存储的东西,但另一方面有能力在需要时重新获得几个方面,例如版本。

在AWS中,"URN"的样式中有"ARN"。这些是冒号分隔的命名空间资源标识符。我喜欢将这些 ARN 存储在我的系统中,因为它们的模式已发布并记录在案。

除非有人想出更好的,否则我想我会存储 path

完全识别特定资源所需的字段是:

  • cloud_name(账户名,如果您有多个账户则相关)
  • 类型(图像的存储方式,最多的选项是('upload'、'authenticated'、'private'、'fetch')
  • resource_type (image/video/raw)
  • public_id(实际上是一个'filename'),其中包括文件夹路径
  • 版本

您存储的内容将取决于您的具体要求。 例如,如果您的所有资产都是 resource_type:'image' 并且类型为 'upload',这是最常见的,您可以假定并硬编码这些值。 如果您不使用资产的版本控制,则可以跳过该部分等。

要使用 Cloudinary SDK 构建图像传输 URL,您只需要 public_id(包括路径)和云名称。其他一切,包括您对图像的特定用途使用的任何转换,都取决于您的要求