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-type
BlockBlob
转到 授权 并将 身份验证类型 设置为 无身份验证,然后选择 发送。
接下来,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.net
AZURE_STORAGE_CONTAINER
:vangeluw
AZURE_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.net
AZURE_STORAGE_CONTAINER
:vangeluw
AZURE_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
AZURE_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.net
AZURE_STORAGE_CONTAINER
:vangeluw
AZURE_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
AZURE_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.net
AZURE_STORAGE_CONTAINER
:vangeluw
AZURE_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
AZURE_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以验证您的图像。
后续步骤
返回所有模块