Python “job.input.files:{}\n” 本月19日日罗马罗马基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基) pprint(新作业,如dict()所示) pprint(“#################################” assert new_job.input.files[0]==input_url,“应为{},但得到{}”。格式(input_url,new_job.input.files[0]) 打印(“文件输入匹配!未检测到问题”)
更新 我以前的尝试只是想重现您的问题。Python “job.input.files:{}\n” 本月19日日罗马罗马基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基基) pprint(新作业,如dict()所示) pprint(“#################################” assert new_job.input.files[0]==input_url,“应为{},但得到{}”。格式(input_url,new_job.input.files[0]) 打印(“文件输入匹配!未检测到问题”),python,azure,azure-media-services,Python,Azure,Azure Media Services,更新 我以前的尝试只是想重现您的问题。 created_job = ams.jobs.create(resource_group_name, account_name, transform.name, job_name, local_job) 现在我知道你想要什么了。您希望created\u job.input.files的值等于input\u url,对吗 我阅读了SDK文档,它应该是不可行的。我猜最初的设计是使用sas访问资源,然后在blob中返回资源的url。当sas用作令牌时,它也将
created_job = ams.jobs.create(resource_group_name, account_name, transform.name, job_name, local_job)
现在我知道你想要什么了。您希望created\u job.input.files
的值等于input\u url
,对吗
我阅读了SDK文档,它应该是不可行的。我猜最初的设计是使用sas访问资源,然后在blob中返回资源的url。当sas用作令牌时,它也将过期,因此返回文件存储的URL是最重要的。
created_job = ams.jobs.create(resource_group_name, account_name, transform.name, job_name, local_job)
首先,这不是您所描述的azure媒体服务的问题,我们可以使用共享访问签名(SAS)授予对azure存储资源的有限访问权
因此,您认为被截断的参数(如sas令牌)只会在SDK之后返回blob中文件的Uri
如果您需要进一步的帮助
PRIVIOUS
created_job = ams.jobs.create(RESOUCE_GROUP_NAME, ACCOUNT_NAME, transform.name, job_name, local_job)
print(created_job.input.files)
# created_job.input.files
结果:
所以我猜input\u url
的格式是错误的,请替换它并使用我的测试url
我在stackoverflow中搜索答案并自己测试
可能对您有用的信息:
created_job = ams.jobs.create(resource_group_name, account_name, transform.name, job_name, job)
测试步骤:
created_job = ams.jobs.create(resource_group_name, account_name, transform.name, job_name, job)
我测试了你提供的url,但它不能在broswer中播放。我将测试视频上传到blob,并使用sas令牌生成url
比如:
https://pajasomediastorage.blob.core.windows.net/asset-a6f42115-3d99-4322-b368-664a2f063821/movie.mp4?sp=r&st=2020-11-23T07:51:00Z&se=2020-11-23T15:51:00Z&spr=https&sv=2019-12-12&sr=b&sig=x0aj3BMAbMaQfv54cbrxo6X4AW8FDNZvFl5mtjcBYe4%3D
然后我将这一行中的作业
替换为本地作业
之前:
created_job = ams.jobs.create(resource_group_name, account_name, transform.name, job_name, job)
修改后。
created_job = ams.jobs.create(resource_group_name, account_name, transform.name, job_name, local_job)
这对我很有用。所以我认为输入url中一定有问题
您可以在作业状态中检查它
希望我的建议能对你有所帮助。如果你需要进一步的帮助,请告诉我
更新 我以前的尝试只是想重现您的问题。
created_job = ams.jobs.create(resource_group_name, account_name, transform.name, job_name, local_job)
现在我知道你想要什么了。您希望created\u job.input.files
的值等于input\u url
,对吗
我阅读了SDK文档,它应该是不可行的。我猜最初的设计是使用sas访问资源,然后在blob中返回资源的url。当sas用作令牌时,它也将过期,因此返回文件存储的URL是最重要的。
created_job = ams.jobs.create(resource_group_name, account_name, transform.name, job_name, local_job)
首先,这不是您所描述的azure媒体服务的问题,我们可以使用共享访问签名(SAS)授予对azure存储资源的有限访问权
因此,您认为被截断的参数(如sas令牌)只会在SDK之后返回blob中文件的Uri
如果您需要进一步的帮助
PRIVIOUS
created_job = ams.jobs.create(RESOUCE_GROUP_NAME, ACCOUNT_NAME, transform.name, job_name, local_job)
print(created_job.input.files)
# created_job.input.files
结果:
所以我猜input\u url
的格式是错误的,请替换它并使用我的测试url
我在stackoverflow中搜索答案并自己测试
可能对您有用的信息:
created_job = ams.jobs.create(resource_group_name, account_name, transform.name, job_name, job)
测试步骤:
created_job = ams.jobs.create(resource_group_name, account_name, transform.name, job_name, job)
我测试了你提供的url,但它不能在broswer中播放。我将测试视频上传到blob,并使用sas令牌生成url
比如:
https://pajasomediastorage.blob.core.windows.net/asset-a6f42115-3d99-4322-b368-664a2f063821/movie.mp4?sp=r&st=2020-11-23T07:51:00Z&se=2020-11-23T15:51:00Z&spr=https&sv=2019-12-12&sr=b&sig=x0aj3BMAbMaQfv54cbrxo6X4AW8FDNZvFl5mtjcBYe4%3D
然后我将这一行中的作业
替换为本地作业
之前:
created_job = ams.jobs.create(resource_group_name, account_name, transform.name, job_name, job)
修改后。
created_job = ams.jobs.create(resource_group_name, account_name, transform.name, job_name, local_job)
这对我很有用。所以我认为输入url中一定有问题
您可以在作业状态中检查它
希望我的建议能对你有所帮助。如果你需要进一步的帮助,请告诉我
您能确保您的输入url有效吗?或者它是可访问的?建议上传一个示例视频,如.mp4文件,您可以使用sas token在broswer中播放。我可以在我的浏览器中下载.mov文件(队友上传的)。下载的文件可以正常播放。我下载的主机可以公开访问。但即使不是,为什么要删除查询参数?对不起,Jason,你的答案没有解决我的问题。一方面,使用有效的链接确实可以完成作业。另一方面,我不断收到截断的输入URL。不幸的是,我不能说你的回答增加了我对这个问题的理解,尽管我非常感谢你的努力。我认为你提出的问题应该是正常的。这应该是使用sas令牌的正常方式。在azure media services中,SDK中设计的
created\u job.input.files
的返回值不应包含令牌参数。您能确保您的输入\u url有效吗?或者它是可访问的?建议上传一个示例视频,如.mp4文件,您可以使用sas token在broswer中播放。我可以在我的浏览器中下载.mov文件(队友上传的)。下载的文件可以正常播放。我下载的主机可以公开访问。但即使不是,为什么要删除查询参数?对不起,Jason,你的答案没有解决我的问题。一方面,使用有效的链接确实可以完成作业。另一方面,我不断收到截断的输入URL。不幸的是,我不能说你的回答增加了我对这个问题的理解,尽管我非常感谢你的努力。我认为你提出的问题应该是正常的。这应该是使用sas令牌的正常方式。在azure media services中,SDK中设计的created_job.input.files
的返回值不应包含token参数。感谢您尝试此操作。不过你有点不对劲。首先,我传递给IRL的url不是我发布的url,只是一个例子