[英]python function start_copy_from_url not triggering Azure storage BlobCreated event for ADF
目標:我們希望使用 Azure Function(python)將 blob 從源容器復制到目標容器(python)一旦它到達目標容器..我們希望 blob 創建事件觸發 ADF 管道
問題如果我手動將文件復制到目標容器,觸發器將按預期觸發並且 ADF 管道成功執行。 但是,如果文件是由 Azure function 創建的,則觸發器不會觸發。
負責創建文件的python代碼是
dest_blob_service_client = BlobServiceClient(dest_acct_url, credential=credential)
copied_blob_client = dest_blob_service_client.get_blob_client(container=dest_container_name, blob=dest_blob_name)
blob_to_copy_url = blob_url + '?' + sas_token
# Start copy
print('Copy started')
copied_blob_client.start_copy_from_url(blob_to_copy_url)
for i in range(10):
dest_blob_properties = copied_blob_client.get_blob_properties()
status = dest_blob_properties.copy.status
print('Copy destination properties status: ' + status)
if status == "success":
# Copy finished
print('Copy is successful')
break
time.sleep(10)
if status != 'success':
# if not finished after 100s, cancel the operation
dest_blob_properties = copied_blob_client.get_blob_properties()
print('Copy destination properties status: ' + status)
copy_id = dest_blob_properties.copy.id
copied_blob_client.abort_copy(copy_id)
dest_blob_properties = copied_blob_client.get_blob_properties()
print('Copy is aborted')
我想知道是否與 start_copy_from_url function 有什么關系,它阻止它觸發 BlobCreated 事件,但我似乎找不到關於該主題的任何內容。
任何幫助將不勝感激
我發現如果我將 requires_sync 屬性設置為 True 那么它會強制它同步並且 BlobCreated 事件成功觸發
copied_blob_client.start_copy_from_url(blob_to_copy_url, requires_sync=True)
在我的場景中,這是一個不錯的選擇。 仍然很想知道是否可以在異步上觸發
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.