As @clive noted in the comments, all that is needed is to replace the file itself. We were having some other server issues that were causing the change not to show up. You may need to flush your image styles in order for those to pick up the new image, though.
If you are storing them the public file system, Drupal does not really interact with them other than to provide the URL. The .htaccess rules check if the request is for a real file. If it is a real file, the web server service it up.
So for individual files, it is more about can your webserver handle the load. You probably want to look at using a static ...
As i understand you could use something like this '#type' => 'file'
'#type' => 'file',
'#title' => t('Upload YourImage'),
'#upload_validators' => array(
'file_validate_extensions' => array('gif'),),
There was a fault with my migration yaml.
The destination field in Drupal 8 was field_media_audio but as you can see in the question I had it trying to save to field_audio_fileinfo which was the Drupal 7 source. Silly me.
Once I realised and corrected the destination it all worked and now media is created and referenced in the one pass of my migration ...
Please see: https://www.drupal.org/project/drupal/issues/2247257
The uuid under the effects array is used as a "unique ID" for the effect.
Seems technically it "works as designed", but as you can see from the linked project task, there is talk about if it's designed correctly.
Fortunately, the uuid under the effects array is scoped to that effects ...
When I have done a similar type of migration at that time I did the following steps:
First I created media type Audio in Drupal 8 and it's fields.
Then I exported all audio file details and FID from D7 and created csv file.
Written migration script to import audio into media.
path: 'csv file path'
Thank you @Jdrupal, with reference to your answer I have updated 'block' to 'block_content' and it is working fine.
$blocks = \Drupal::entityTypeManager()
->loadByProperties(['logo1' => $media_id_1, 'logo2' => $media_id_2]);
You can use the entityTypeManager, like this:
$blocks = \Drupal::entityTypeManager()->getStorage('block')->loadByProperties(['field_media_1' => $media_id, 'field_media_2' => $media_id]);
Where $media_id the the is of your media entity.
That will give you all the blocks that references that media entity.
So, as in the comment addresses, Instagram and Facebook changed the API to access Instagram and right now only creators and business accounts are fully supported. There is a spin off of the D7 instagram block module but it’s not done yet. I don’t think the API will let you access other users content, but from what little I poked around they probably have ...