我们尝试在部署脚本中使用AZCopy将一些资产直接上传到我们的存储中,该存储通过Azure上的CDN公开.
当我们上传文件时,Content-Type是application/octet-stream我们需要能够通过示例指定的text/javascript
有没有办法实现这个目标?我们不必为每种文件类型多次调用AZCopy.
小智 18
最新版本的AzCopy(v3.1.0和v4.1.0-preview)包含了对设置内容类型的支持,请在http://aka.ms/azcopy下载并查找更多详细信息.
更具体地说,您可以通过选项/ SetContentType:[content-type]设置内容类型.
AzCopy/Source:D:\ test\/ Dest:https://myaccount.blob.core.windows.net/myContainer//DestKey:key/Pattern:ab/SetContentType
AzCopy /来源:D:\ test\/ Dest:https://myaccount.blob.core.windows.net/myContainer//DestKey:key/Pattern:ab/SetContentType:video/mp4
如果未在/ SetContentType选项中指定"Content-Type",则AzCopy将根据其文件扩展名设置每个blob的内容类型.要为所有blob设置相同的内容类型,必须显式指定"Content-Type"的值,例如/ SetContentType:video/mp4.请注意,此选项仅在将blob上载到存储端点时适用.
我找到了一种使用 Azure Pipelines 执行此操作的方法:
- task: AzureFileCopy@4
displayName: "Azure Storage - copy new files"
inputs:
SourcePath: '$(System.DefaultWorkingDirectory)/dist/*'
azureSubscription: 'johnykes-PAYG(xxxxx-b455-4c4d-a8f8-c2a5fd479f10)'
Destination: 'AzureBlob'
storage: 'johnykeschatfrontend'
ContainerName: '$web'
- task: AzureFileCopy@4
displayName: "Azure Storage - overwrite .js files with correct Content Type"
inputs:
SourcePath: '$(System.DefaultWorkingDirectory)/dist/*.js'
azureSubscription: 'johnykes-PAYG(xxxxx-b455-4c4d-a8f8-c2a5fd479f10)'
Destination: 'AzureBlob'
storage: 'johnykeschatfrontend'
ContainerName: '$web'
AdditionalArgumentsForBlobCopy: '--content-type "application/javascript"'
Run Code Online (Sandbox Code Playgroud)
如果您找到一种使用 Azure CLI 或以我的方式但递归(对于所有 .js 文件)执行此操作的方法,请告诉我。
| 归档时间: |
|
| 查看次数: |
4075 次 |
| 最近记录: |