1.1.2使用Microsoft Azure和预签名URL优化您的Firefly进程
了解如何使用Microsoft Azure和预签名URL优化Firefly过程。
1.1.2.1什么是预签名URL?
预签名URL是一种授予您临时访问存储位置中特定对象权限的URL。 例如,使用URL,用户可以读取对象或写入对象(或更新现有对象)。 URL包含由应用程序设置的特定参数。
在创建内容供应链自动化的上下文中,通常需要针对特定用例执行多个文件操作。 例如,可能需要更改文件的背景,可能需要更改各种图层的文本等。 并非总是可以同时执行所有文件操作,这就需要多步方法。 在每个中间步骤之后,输出是执行下一个步骤所需的临时文件。 执行下一步后,临时文件会快速丢失值,通常不再需要它,因此应将其删除。
Adobe Firefly Services当前支持以下域:
- Amazon AWS: *.amazonaws.com
- Microsoft Azure: *.windows.net
- Dropbox: *.dropboxusercontent.com
之所以经常使用云存储解决方案,是因为正在创建的中间资产会迅速失去价值。 通过预签名URL解决的问题通常最好通过商品存储解决方案(通常是上述云服务之一)来解决。
在Adobe生态系统中,还有存储解决方案,如Frame.io、Workfront Fusion和Adobe Experience Manager资源。 这些解决方案还支持预签名的URL,因此往往需要在实施期间做出选择。 然后,选择通常基于现有应用程序和存储成本的组合。
因此,预签名URL将与Adobe Firefly Services操作结合使用,因为:
- 企业通常需要在中间步骤中处理对同一映像的多项更改,并且需要中间存储才能做到这一点。
- 从云存储位置进行读写的访问应该是安全的,并且在服务器端环境中,无法手动登录,因此需要将安全性直接写入URL。
预签名URL使用三个参数来限制用户的访问:
- 存储位置:这可以是AWS S3存储段位置、带有容器的Microsoft Azure存储帐户位置
- 文件名:需要读取、更新、删除的特定文件。
- 查询字符串参数:查询字符串参数始终以问号开头,后跟一系列复杂的参数
示例:
- Amazon AWS:
https://bucket.s3.eu-west-2.amazonaws.com/image.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AXXXXXXXXXX%2Feu-west-2%2Fs3%2Faws4_request&X-Amz-Date=20250510T171315Z&X-Amz-Expires=1800&X-Amz-Signature=XXXXXXXXX&X-Amz-SignedHeaders=host - Microsoft Azure:
https://storageaccount.blob.core.windows.net/container/image.png?sv=2023-01-03&st=2025-01-13T07%3A16%3A52Z&se=2026-01-14T07%3A16%3A00Z&sr=b&sp=r&sig=XXXXXX%3D
1.1.2.2创建Azure订阅
转到https://portal.azure.com并使用您的Azure帐户登录。 如果您没有个人电子邮件地址,请使用个人电子邮件地址创建您的Azure帐户。
成功登录后,您应该会看到以下屏幕:
在左侧菜单上选择所有资源,如果您尚未订阅,则会显示Azure订阅屏幕。
如果未订阅,请选择开始使用Azure免费试用。
填写Azure订阅表,并提供用于激活的移动电话和信用卡(您将拥有30天的免费套餐,除非您升级,否则不会向您收费)。
订阅过程完成后,您就可以开始了。
1.1.2.3创建Azure存储帐户
搜索storage account,然后选择存储帐户。
选择+创建。
选择您的 订阅 并选择(或创建)资源组。
在 存储帐户名称 下,使用--aepUserLdap--。
选择审阅+创建。
选择创建。
确认后,选择转到资源。
您的Azure存储帐户现已准备就绪,可供使用。
选择数据存储,然后转到容器。 选择+容器。
使用--aepUserLdap--作为名称,并选择创建。
您的容器现已准备就绪,可供使用。
1.1.2.4安装Azure存储资源管理器
下载Microsoft Azure Storage Explorer以管理您的文件。 为您的特定操作系统选择正确的版本,然后下载并安装该版本。
打开应用程序并选择使用Azure登录。
选择订阅。
选择Azure,然后选择下一步。
选择您的Microsoft Azure帐户并完成身份验证过程。
验证后,将显示此消息。
返回Microsoft Azure Storage Explorer应用,选择您的订阅,然后选择打开资源管理器。
你的存储帐户出现在 存储帐户 下。
打开Blob容器,然后选择在上一个练习中创建的容器。
1.1.2.5手动文件上传并使用图像文件作为样式引用
将您选择的图像文件或此文件上载到容器。
- image/jpeg
- image/png
- image/webp
上传后,您可以在容器中看到该包:
右键单击gradient.jpg,然后选择获取共享访问签名。
在 权限 下,只需要读取。 选择创建。
将此图像文件的预签名URL复制到下一个API请求到Firefly。
返回Postman打开请求POST - Firefly - T2I (styleref) V3。
这出现在 正文 中。
将占位符URL替换为图像文件的预签名URL,然后选择发送。
在浏览器中打开响应Firefly Services新图像。
另一个图像以horses in a field显示,但这次的样式与作为样式引用提供的图像文件类似。
1.1.2.6编程文件上传
若要通过Azure存储帐户使用编程文件上传,您需要创建一个新的 共享访问签名(SAS) 令牌,该令牌具有允许您写入文件的权限。
在Azure Storage Explorer中,右键单击您的容器,然后选择获取共享访问签名。
在 权限 下,选择以下所需权限:
- 读取
- 添加
- 创建
- 写入
- 列表
选择创建。
收到 共享访问签名 后,选择 复制 以复制URL。
使用 SAS令牌URL 将文件上传到您的Azure存储帐户。
返回Postman,选择文件夹FF - Firefly Services Tech Insiders,然后在 Firefly 文件夹中选择…,然后选择添加请求。
将空请求的名称更改为将文件上载到Azure Storage Account,将 请求类型 更改为PUT,并在URL部分中粘贴SAS令牌URL,然后选择正文。
接下来,从本地计算机中选择文件,或使用位于此处的其他图像文件。
在 主体 中,选择二进制文件,然后选择文件,然后从本地计算机中选择+新建文件。
选择您选择的文件,然后选择打开。
接下来,将光标放在问号前面,指定要在Azure存储帐户中使用的文件名?URL中的,如下所示:
URL当前看起来像这样,但需要更改。
https://vangeluw.blob.core.windows.net/vangeluw?sv=2023-01-03...
将文件名更改为gradient2-p.jpg,并将URL更改为包括文件名,如下所示:
https://vangeluw.blob.core.windows.net/vangeluw/gradient2-p.jpg?sv=2023-01-03...
接下来,转到 标头 以手动添加新标头,如下所示:
x-ms-blob-typeBlockBlob
转到 授权 并将 身份验证类型 设置为无身份验证,然后选择发送。
接下来,Postman中会显示此空响应,这意味着您的文件上传可以正常进行。
返回到Azure存储资源管理器中刷新文件夹的内容,新上传的文件随即显示。
1.1.2.7编程文件使用
若要以编程方式长期读取Azure存储帐户中的文件,您需要创建一个新的 共享访问签名(SAS) 令牌,该令牌具有允许您读取文件的权限。 从技术上讲,您可以使用在上一个练习中创建的SAS令牌,但最佳实践是让单独的令牌仅具有 读取 权限,而单独的令牌仅具有 写入 权限。
长期读取SAS令牌
返回到Azure存储资源管理器,右键单击您的容器,然后选择获取共享访问签名。
在 权限 下,选择以下所需权限:
- 读取
- 列表
将 过期时间 设置为从现在起的1年。
选择创建。
复制URL并将其写到计算机上的文件中,以获得具有读取权限的长期SAS令牌。
您的URL应如下所示:
https://vangeluw.blob.core.windows.net/vangeluw?sv=2023-01-03&st=2025-01-13T07%3A36%3A35Z&se=2026-01-14T07%3A36%3A00Z&sr=c&sp=rl&sig=4r%2FcSJLlt%2BSt9HdFdN0VzWURxRK6UqhB8TEvbWkmAag%3D
您可以从上述URL派生出几个值:
AZURE_STORAGE_URL:https://vangeluw.blob.core.windows.netAZURE_STORAGE_CONTAINER:vangeluwAZURE_STORAGE_SAS_READ:?sv=2023-01-03&st=2025-01-13T07%3A36%3A35Z&se=2026-01-14T07%3A36%3A00Z&sr=c&sp=rl&sig=4r%2FcSJLlt%2BSt9HdFdN0VzWURxRK6UqhB8TEvbWkmAag%3D
长期写入SAS令牌
返回到Azure存储资源管理器,右键单击您的容器并选择获取共享访问签名。
在 权限 下,选择以下所需权限:
- 读取
- 列表
- 添加
- 创建
- 写入
将 过期时间 设置为从现在起的1年。
选择创建。
复制URL并将其写到计算机上的文件中,以获得具有读/写权限的长期SAS令牌。
您的URL应如下所示:
https://vangeluw.blob.core.windows.net/vangeluw?sv=2023-01-03&st=2025-01-13T07%3A38%3A59Z&se=2026-01-14T07%3A38%3A00Z&sr=c&sp=acw&sig=lR9%2FMUfyYLcBK7W9Kv7YJdYz5HEEEovExAdOCOCUdMk%3D
您可以从上述URL派生出几个值:
AZURE_STORAGE_URL:https://vangeluw.blob.core.windows.netAZURE_STORAGE_CONTAINER:vangeluwAZURE_STORAGE_SAS_READ:?sv=2023-01-03&st=2025-01-13T07%3A36%3A35Z&se=2026-01-14T07%3A36%3A00Z&sr=c&sp=rl&sig=4r%2FcSJLlt%2BSt9HdFdN0VzWURxRK6UqhB8TEvbWkmAag%3DAZURE_STORAGE_SAS_WRITE:?sv=2023-01-03&st=2025-01-13T07%3A38%3A59Z&se=2026-01-14T07%3A38%3A00Z&sr=c&sp=acw&sig=lR9%2FMUfyYLcBK7W9Kv7YJdYz5HEEEovExAdOCOCUdMk%3D
Postman中的变量
如上节所示,读取和写入令牌中都有一些常见的变量。
接下来,您需要在Postman中创建用于存储上述SAS令牌的各种元素的变量。 这两个URL中的一些值是相同的:
AZURE_STORAGE_URL:https://vangeluw.blob.core.windows.netAZURE_STORAGE_CONTAINER:vangeluwAZURE_STORAGE_SAS_READ:?sv=2023-01-03&st=2025-01-13T07%3A36%3A35Z&se=2026-01-14T07%3A36%3A00Z&sr=c&sp=rl&sig=4r%2FcSJLlt%2BSt9HdFdN0VzWURxRK6UqhB8TEvbWkmAag%3DAZURE_STORAGE_SAS_WRITE:?sv=2023-01-03&st=2025-01-13T07%3A38%3A59Z&se=2026-01-14T07%3A38%3A00Z&sr=c&sp=acw&sig=lR9%2FMUfyYLcBK7W9Kv7YJdYz5HEEEovExAdOCOCUdMk%3D
对于将来的API交互,主要的变化是资源名称,而上述变量保持不变。 在这种情况下,最好在Postman中创建变量,这样您就无需每次都手动指定它们。
在Postman中,选择环境,打开所有变量,然后选择环境。
在显示的表中创建这4个变量,对于 初始值 和 当前值 列,请输入特定的个人值。
AZURE_STORAGE_URL:您的urlAZURE_STORAGE_CONTAINER:您的容器名称AZURE_STORAGE_SAS_READ:您的SAS读取令牌AZURE_STORAGE_SAS_WRITE:您的SAS写入令牌
选择保存。
PostBuster中的变量
如上节所示,读取和写入令牌中都有一些常见的变量。
接下来,您需要在PostBuster中创建用于存储上述SAS令牌的各种元素的变量。 这两个URL中的一些值是相同的:
AZURE_STORAGE_URL:https://vangeluw.blob.core.windows.netAZURE_STORAGE_CONTAINER:vangeluwAZURE_STORAGE_SAS_READ:?sv=2023-01-03&st=2025-01-13T07%3A36%3A35Z&se=2026-01-14T07%3A36%3A00Z&sr=c&sp=rl&sig=4r%2FcSJLlt%2BSt9HdFdN0VzWURxRK6UqhB8TEvbWkmAag%3DAZURE_STORAGE_SAS_WRITE:?sv=2023-01-03&st=2025-01-13T07%3A38%3A59Z&se=2026-01-14T07%3A38%3A00Z&sr=c&sp=acw&sig=lR9%2FMUfyYLcBK7W9Kv7YJdYz5HEEEovExAdOCOCUdMk%3D
打开PostBuster。 选择基本环境,然后单击 编辑 图标以打开基本环境。
然后,您将看到4个空变量。 在此处输入您的Azure存储帐户详细信息。
您的基本环境文件现在应如下所示。 单击关闭。
测试您的配置
在前面的练习中,请求 Firefly - T2I (styleref) V3 的 Body 如下所示:
"url": "https://vangeluw.blob.core.windows.net/vangeluw/gradient.jpg?sv=2023-01-03&st=2025-01-13T07%3A16%3A52Z&se=2026-01-14T07%3A16%3A00Z&sr=b&sp=r&sig=x4B1XZuAx%2F6yUfhb28hF0wppCOMeH7Ip2iBjNK5A%2BFw%3D"
将URL更改为:
"url": "{{AZURE_STORAGE_URL}}/{{AZURE_STORAGE_CONTAINER}}/gradient.jpg{{AZURE_STORAGE_SAS_READ}}"
选择 发送 以测试您所做的更改。
如果变量配置正确,则会返回图像URL。
打开图像URL以验证您的图像。
后续步骤
返回所有模块