PowerScale: Como usar o comando curl para verificar se a API do OneFS está funcionando corretamente
Summary: Este artigo da KB é útil para solucionar problemas de interface de programação de aplicativos (API) no cluster diretamente usando comandos curl. Use-o para descartar problemas com scripts personalizados ou código de aplicativo. ...
Instructions
Introdução
Ao identificar um problema com a API do OneFS, verifique se as operações básicas estão funcionando corretamente executando um comando curl antes de realizar outra solução de problemas. Este artigo fornece instruções para usar o comando curl para testar operações de API. Isso ajuda a verificar se o comando que você está executando está no formato correto.
A API do OneFS é composta de duas áreas funcionais:
- API de configuração do sistema (conhecida no OneFS 7.1.0 e anteriores como Platform API)
- API de acesso ao file system (conhecida no OneFS 7.1.0 e anteriores como Acesso RESTful à API de namespace ou API RAN)
Procedimento
Use o comando curl com credenciais "root" ao testar a API de configuração do sistema ou a API de acesso ao file system.
- Façauma conexão SSH em qualquer nó do cluster e faça log-in usando a conta "root".
- Use o comando curl conforme descrito nas seções abaixo da API de configuração do sistema ou da API de acesso ao file system .
- Se você continuar com problemas, entre em contato com o suporte técnico do Isilon.
Para obter informações adicionais sobre comandos curl e sintaxe, consulte a página de manual curl .
Para obter informações adicionais sobre a configuração do sistema OneFS, solicitações de API e resposta esperada, consulte o guia de referência de API de sua respectiva versão do OneFS. Links para as versões mais comuns do OneFS: API deconfiguração do sistema OneFS 8.2.2.0 , OneFS 9.1.0, OneFS 9.5.0.0 e OneFS 9.7.0.0
Opções comuns para curl com a API de configuração do sistema
| Opção | Descrição |
|---|---|
| -d | Envia dados especificados em uma solicitação POST |
| -H | Especifica um cabeçalho extra a ser usado |
| -k | Permite a conexão com sites SSL não confiáveis (para certificados SSL autoassinados padrão do Isilon) |
| -u | Nome de usuário para autenticação Ao executar o comando, você será solicitado a fornecer a senha para esse usuário |
| -v | Especifica o resultado detalhado |
| -X | Especifica o método de solicitação (GET, PUT,POST e assim por diante) |
Uso comum de curl com a API de configuração do sistema
A seguir estão exemplos de comandos curl comuns. Siga uma sintaxe semelhante para a ação que você deseja executar.
- Recuperando informações (comandos GET):
Sintaxe geral: Use o seguinte, em que <nome> de usuário é o nome de usuário e <URL> é a URL do nó ao qual você está se conectando.# curl -vk -u "<username>" -H 'Content-type:application/json' -X GET '<URL>'
Por exemplo, para obter uma lista de compartilhamentos SMB (Server Message Block), o comando é semelhante ao seguinte:# curl -vk -u "root" -H 'Content-type:application/json' -X GET 'https://10.11.1.1:8080/platform/1/protocols/smb/shares'
- Envio de informações (comandos POST ou PUT):
Sintaxe geral: Use o seguinte, onde <username> é o nome de usuário, <json-data> é a string formatada por JSON e <URL> é a URL do nó ao qual você está se conectando.# curl -vk -u <username> -H 'Content-type:application/json' -X POST -d '<json-data>' <URL>
Por exemplo, para criar um novo compartilhamento SMB chamado papi-example com um caminho de /ifs/papi-example, o comando é semelhante ao seguinte:# curl -vk -u root -H "Content-type: application/json" -X POST -d '{ "name" : "papi-example", "path" : "/ifs/papi-example" }' 'https://10.11.1.1:8080/platform/1/protocols/smb/shares'
API de acesso ao file system
Opções comuns para curl com a API de acesso ao file system
| Opção | Descrição |
|---|---|
| -d | Envia dados especificados em uma solicitação POST |
| --data-binário | Especifica o local do arquivo binário |
| -H | Especifica um cabeçalho extra a ser usado |
| -k | Permite a conexão com sites SSL não confiáveis (certificados SSL autoassinados padrão do Isilon). |
| -u | Nome de usuário para autenticação, você será solicitado a fornecer a senha para este usuário. |
| -v | Especifica o resultado detalhado |
| -X | Especifica o método de solicitação (GET, PUT,POST e assim por diante) |
Uso comum de curl com a API de acesso ao file system
A seguir estão exemplos de comandos curl comuns. Siga uma sintaxe semelhante para executar a ação.
NOTA
Você pode criar seus próprios namespaces por meio da API de acesso ao file system, mas deve usar o namespace padrão para verificação. O namespace padrão é /namespace/ifs.
- Recuperando informações (comandos GET):
Sintaxe geral:# curl -vk -u "<username>" -X GET 'https://<node_IP>:8080/namespace/<access_point>'
Por exemplo, para obter a listagem de conteúdo de /ifs:# curl -vk -u "root" -X GET 'https://10.11.1.1:8080/namespace/ifs'
- Informações de envio (comandos POST ou PUT):
sintaxe geral: Use o seguinte usando o correto para o cabeçalho> de conteúdo variável<. Para obter informações sobre o cabeçalho de <conteúdo>, consulte o guia de referência da API do OneFS# curl -vk -u "<username>" -H "<content header>" --data-binary @<source file path> -X PUT 'https://<node_IP>:8080/namespace/<access_point>/<destination file path>'
Por exemplo, para copiar um datafile de /tmp/testfile.jpg para /ifs/papi-example, o comando é semelhante ao seguinte:
# curl -vk -u "root" -H "x-isi-ifs-target-type:object" --data-binary @/tmp/testfile.jpg -X PUT 'https://<node_IP>:8080/namespace/ifs/papi-example/testfile.jpg'
Todos os comandos acima usam autenticação HTTP básica para executar consultas de API.