linux - 如何使用位于 azure webapp 中的 .sh 文件将多个文件从本地存储上传到 azure blob 存储

标签 linux azure sh azure-blob-storage

我需要将一些 *.csv 文件从位于 azure linux webapp 中的 .sh 文件上传到 azure blob 存储。是否可以做到这一点或者我该如何做到这一点。如果可能的话,有人可以提供示例代码吗?

最佳答案

当然,您可以使用Runtime.getRunTime().exec在Java代码中运行shell脚本,示例代码如下:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class RunningSS {
 public static void main(String[] args) {
  Process p;
  try {
   String[] cmd = { "sh", "/home/adb/Documents/test.sh"};
   p = Runtime.getRuntime().exec(cmd); 
   p.waitFor(); 
   BufferedReader reader=new BufferedReader(new InputStreamReader(
    p.getInputStream())); 
   String line; 
   while((line = reader.readLine()) != null) { 
    System.out.println(line);
   } 
  } catch (IOException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  } catch (InterruptedException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
 }
}

要在 shell 脚本中上传文件,可以使用 Azure CLI 命令或 azcopy 。例如,如果要将文件上传到 Azure 存储文件,则 CLI 命令为 az storage file upload ,但如果使用CLI,则需要先安装它。请参阅Install the Azure CLI .

我不推荐使用 REST API,它太复杂了。如果你不介意的话,可以尝试一下。

关于linux - 如何使用位于 azure webapp 中的 .sh 文件将多个文件从本地存储上传到 azure blob 存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58705223/

相关文章:

angular - 如何使从 azure 广告收到的 Jwt token 无效

c# - 在 Azure Blob 存储中存储字符串并使用 C# 获取对 Blob 的引用

linux - sh -c "ps -l"在linux中是什么意思?

linux - -O1 和内联汇编程序的 GCC 段错误

在使用 BusyBox v1.19.3 创建的 linux 内核 2.6.37.6 中找不到 "Syslog.conf"

node.js - Windows Azure Node JS WEBSOCKET 握手失败 503 错误

linux - 如何在 shell 中找到 'read -s'?

android - 在 sh 中为 Android 定义一个数组

linux - dd:如何计算最佳 block 大小?

shm_open : DSO Missing From Command Line 上的 C++ Boost 库 undefined reference