AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / user-607547

questionto42standswithUkraine's questions

Martin Hope
questionto42
Asked: 2024-08-06 20:40:25 +0800 CST

Como faço para copiar uma Tarefa de Fluxo de Dados (DFT) completa para outro projeto se a colagem falhar com "Pelo menos um gerenciador de conexões não pôde ser colado corretamente"?

  • 6

Como faço para copiar uma Tarefa de Fluxo de Dados (DFT) completa de um projeto para outro se colar o gerenciador de conexões do projeto gera o erro:

Pelo menos um gerenciador de conexão não pôde ser colado corretamente.

O gerenciador de conexões com o nome 'MyConnMngr' não pôde ser colado com sucesso.

O gerenciador de conexões não pôde ser criado.

Referência de objeto não definida para uma instância de um objeto.

(Microsoft.DataTransformationServices.Design)

Aqui está a cópia completa da mensagem. O link está inativo:


TITLE: Microsoft Visual Studio
------------------------------

The designer could not paste one or more connection managers.

For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft%C2%AE%20Visual%20Studio%C2%AE&ProdVer=15.9.28307.2094&EvtSrc=Microsoft.DataTransformationServices.Design.SR&EvtID=PasteComponentsFailureCause_couldNotRestoreConnectionManagers&LinkId=20476

------------------------------
ADDITIONAL INFORMATION:

At least one connection manager could not be pasted correctly.
The connection manager with the name 'MyConnMngr' could not be pasted successfully.
The connection manager could not be created.
Object reference not set to an instance of an object. (Microsoft.DataTransformationServices.Design)

For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft%C2%AE%20Visual%20Studio%C2%AE&ProdVer=15.9.28307.2094&EvtSrc=Microsoft.DataTransformationServices.Design.SR&EvtID=RestoreConnectionManagers_AtLeastOneRestoreConnectionManagerErrorOccured&LinkId=20476

------------------------------
BUTTONS:

OK
------------------------------

Se fosse apenas esse gerenciador de conexão que eu teria que construir do zero novamente, eu não perderia tempo com essa pergunta. Mas esse erro impede a colagem de todo o DFT, e eu não consigo nem copiar e colar nenhuma caixa passo a passo.

A única coisa que foi colada de todo o DFT foi um Flat File Connection Manager para o pacote. Parece que os gerenciadores de conexão para o projeto não podem ser colados. Eu tentei em dois projetos. Eu sei que às vezes os objetos ainda são arquivos no projeto e não são mostrados no explorador de projetos. Esses arquivos podem bloquear a colagem de novos objetos com o mesmo nome, ou você receberia um aviso para substituí-lo pelo menos. Portanto, colei o DFT em um projeto que não tinha nenhum gerenciador de conexão com esse nome ou função antes, e ainda assim, o erro apareceu.

Trabalho em uma versão mais antiga do SSIS, de 2016. Talvez uma versão mais nova consiga lidar com isso, mas duvido.

copy
  • 1 respostas
  • 33 Views
Martin Hope
questionto42
Asked: 2024-08-05 21:18:27 +0800 CST

Como posso definir MARS como "True" no gerenciador de conexão se ele volta para "False" imediatamente após fechar as propriedades? Ou por que isso acontece?

  • 7

O gerenciador de conexão grava em uma tabela. Talvez uma vez por semana, o erro seja lançado:

A conexão está ocupada com resultados para outro comando

O SSIS é implantado no Microsoft SQL Server 2016 (SP3-CU1-GDR) (KB5040944) - 13.0.7037.1 (X64).

Sei pelo MARS (Multiple Active Result Sets) - Microsoft Learn que o "MARS = True" ausente leva ao erro. Mas se eu alterar "MARS" para "True" nas propriedades do gerenciador de conexões, a configuração "MARS" muda de volta para "False" assim que eu clico em "OK", de modo que o negrito "True" é alterado para fino "False" novamente quando eu abro as propriedades depois:

insira a descrição da imagem aqui

Também verifiquei se apenas abrir as propriedades do gerenciador de conexões aciona o "False": salvei a alteração sem abrir as propriedades e, em seguida, verifiquei o log do Git, que mostrou que a alteração da configuração MARS para "True" desaparece logo após o clique em "OK". O que ele salvou foram as configurações padrão para novas tentativas (ConnectRetryCount = 1), e me pergunto se permitir um número maior de novas tentativas pode ajudar aqui também. Eu não tentei, no entanto.

Também me pergunto se forçar as configurações alterando-as no código xml em vez do Visual Studio pode ajudar, mas temo que isso possa levar a coisas piores do que um pacote que preciso executar manualmente de vez em quando. Pode valer a pena tentar, mas prefiro obter algumas informações de outras pessoas antes de verificar coisas estranhas.

Por que a configuração "MARS" = "True" volta para "False" imediatamente? Como posso alterá-la para "True"? Devo fazer isso se algo assim acontecer?

ssis
  • 1 respostas
  • 66 Views
Martin Hope
questionto42
Asked: 2024-03-03 00:29:50 +0800 CST

Como obtenho algo como a visualização de metadados INFORMATION_SCHEMA.COLUMNS da própria visualização INFORMATION_SCHEMA.COLUMNS?

  • 5

Todas as colunas da INFORMATION_SCHEMA.COLUMNSvisualização estão listadas em Learn -> SQL -> SQL Server -> COLUMNS (Transact-SQL): :

insira a descrição da imagem aqui

COLUMN_NAMEé do tipo de dados nvarchar(128):

insira a descrição da imagem aqui

Mas não há mais metadados sobre esta coluna. Qual agrupamento ele possui?

Onde está a documentação de todos os atributos desta coluna:

  • nos sites da Microsoft?

  • ou talvez em algum menu do SQL Server? Eu tenho o Server Management Studio. Com o DBeaver em um banco de dados MySQL, você pode verificar as propriedades de qualquer visualização ou tabela com um clique com o botão direito para ver todos os atributos da coluna. Mas o MS SQL Server não possui isso.

  • Ou como posso pedir a INFORMATION_SCHEMA.COLUMNSvista da INFORMATION_SCHEMA.COLUMNSvista? Algo como:

    select * from INFORMATION_SCHEMA.COLUMNS where c.TABLE_SCHEMA = 
    'INFORMATION_SCHEMA' and c.TABLE_NAME = 'COLUMNS'
    
sql-server
  • 2 respostas
  • 43 Views
Martin Hope
questionto42standswithUkraine
Asked: 2022-08-25 11:07:07 +0800 CST

Por que escrever em uma pasta de trabalho de alguns MB com o módulo openpyxl do Python consome Gigabytes de RAM?

  • 0

Encontrei um código antigo em um servidor legado que grava a partir de um conjunto de dados de aproximadamente 20 colunas e > 60 mil linhas item por item em um arquivo do Excel usando openpyxl. Ele faz isso preenchendo cada célula por conta própria (da maneira lenta, mas também não tão lenta, pois tudo é feito após alguns minutos e com a formatação das células):

cell = ws.cell('%s%s' % (col_idx, i + 3))
cell.value = unicode(value).encode("utf-8")
get_style(cell, "content", column_colors[col_id])

Em aproximadamente 59 mil linhas, ele trava, o console imprime:

Killed

Os registros mostram:

Received SIGTERM, shutting down.

O SIGTERM sugere muito pouca memória para que o servidor elimine a tarefa "de fora". É uma máquina virtual. A verificação da memória com o comando freemostra que todos os 3,5 GB livres são usados ​​gravando esse pequeno conjunto de dados (20 MB no servidor) no Excel.

Verifiquei na corrida e encontrei: 500 MB apenas para configurar o arquivo, 700 MB a cada 10K linhas. Escrever o conjunto de dados leva a:

60 x 700 + 500 = 4700 MB de RAM livre necessários e a VM tem apenas 3,5 GB. O que deve ser suficiente para um arquivo tão pequeno na saída. A saída no final é aproximadamente uma pasta de trabalho de 20 MB. A versão de saída do Excel deve ser 2007 ou 2010, pois está sendo executada em Python 2.73 e em código legado desatualizado.

Por que escrever em uma pasta de trabalho de 20 MB com o módulo openpyxl do Python consome Gigabytes de RAM?

python
  • 0 respostas
  • 57 Views
Martin Hope
questionto42standswithUkraine
Asked: 2022-08-25 09:48:11 +0800 CST

Como filtrar atributos na consulta do Explorador de registros do Google Cloud Platform (GCP) usando RegEx

  • 0

Gravando a consulta no Explorador de registros do GCP com uma expressão regular (RegEx) como filtro:

Eu preciso filtrar o query_name para qualquer string que tenha a palavra ¨stat" nele.

Tentei sem sucesso:

logName="projects/my_project/logs/my_env-production"
labels.query_name RLIKE "stat"
logName="projects/my_project/logs/my_env-production"
labels.query_name LIKE "%stat%"
logName="projects/my_project/logs/my_env-production"
labels.query_name="%stat%"

A saída está No data foundno painel esquerdo e a lista de saída está vazia.

insira a descrição da imagem aqui

google-cloud-platform
  • 0 respostas
  • 67 Views
Martin Hope
questionto42standswithUkraine
Asked: 2022-04-15 11:09:17 +0800 CST

Alacritty lança "E558: Terminal entry not found in terminfo" ao executar "htop" e "Erro ao abrir terminal: alacritty". ao abrir arquivos com vim

  • 0

Os erros

Entrada de terminal não encontrada em terminfo

e

Erro ao abrir o terminal: alacritty

aconteceu comigo em um servidor legado quando eu fiz sshisso como:

ssh MY_USER@MY_SERVER

e use o Alacritty para abrir arquivos de texto com extensão vi MY_TEXT_FILE.

O seguinte é apenas um aviso que não me impede de trabalhar com o arquivo no vim, mas começa com estas linhas sempre que procuro um arquivo vim:

E558: Terminal entry not found in terminfo
'alacritty' not known. Available builtin terminals are:
    builtin_amiga
    builtin_beos-ansi
    builtin_ansi
    builtin_pcansi
    builtin_win32
    builtin_vt320
    builtin_vt52
    builtin_xterm
    builtin_iris-ansi
    builtin_debug
    builtin_dumb
defaulting to 'ansi'

O outro erro Error opening terminal: alacritty.é pior, pois você não pode executar alguns comandos, acontece comigo htopver todos os pids.

Os dois erros surgem provavelmente para a mesma coisa. como se livrar deles?

terminal
  • 1 respostas
  • 537 Views
Martin Hope
questionto42standswithUkraine
Asked: 2022-04-15 06:35:02 +0800 CST

Escolha todos os rótulos em um gráfico de série temporal do Grafana de uma só vez, em vez de "Ctrl + clique" - escolhendo cada rótulo até que a lista completa seja marcada?

  • 1

Em um gráfico de séries temporais no Grafana, tento marcar vários rótulos para que todas as suas curvas sejam mostradas.

Por padrão, recebo apenas quatro curvas de rótulos no gráfico, mas tenho dezenas de rótulos e não quero marcar tudo com o mouse, leva muito tempo e nervos.

A ideia é que escolher muitas curvas o deixe perdido nas linhas. Mas, neste caso, o gráfico trata de encontrar discrepâncias, fortes mudanças e tendências, ou apenas números altos. Você pode passar o mouse sobre qualquer curva que possa chamar sua atenção, e isso é tudo. Assim, ter 80 curvas em um gráfico não é problema.

O filtro serve apenas para diminuir a lista, não para marcar todos os rótulos nela. Eu posso usá-lo para Regex-check para consultas com duração de segundos de 2 dígitos e algum outro filtro no query_name.

insira a descrição da imagem aqui

No entanto, eu só quero ver as curvas de todos os rótulos de uma só vez, e não apenas clicando como no seguinte:

insira a descrição da imagem aqui

Existe algum truque para fazer isso? Talvez até usando o código do Grafana Dashboard para marcar os trabalhos como uma lista codificada? Ou existe um atalho ou outro truque para escolher todos?

grafana
  • 1 respostas
  • 136 Views
Martin Hope
questionto42standswithUkraine
Asked: 2022-04-05 10:18:59 +0800 CST

O menu suspenso para "Nome do campo" não mostra log_struct() logado jsonPayload no menu GCP LBM "Criar métrica de registros" por meio de registros no Explorador de registros

  • 0

Eu preciso de LBMs no Google Cloud Platform do tipo de métrica "Distribution" para fazer gráficos de séries temporais com valores como contagens ou duração para muitos rótulos de uma só vez.

Exemplo: para 10 etapas diferentes no fluxo de trabalho de dados, as contagens e a duração do dia são registradas em um dicionário e registradas como jsonPayload usando gcloud logging log_struct().

Embora eu veja eventos registrados ao olhar para um mês no Explorador de Logs, não consigo escolher nenhum dos itens jsonPayload no menu suspenso para criar as Métricas Baseadas em Log (LBM) necessárias para que eu possa escolhê-los no Graphana para mostrar gráficos.

insira a descrição da imagem aqui

Nesse menu suspenso, eu estava esperando meus pares de valores-chave que registrei durante a execução de uma função de nuvem, mas não consigo escolher nada que foi registrado, só vejo outras entradas do sistema jsonPayload. É assim que os logs se parecem.

insira a descrição da imagem aqui

Observação: salvei o jsonPayload com uma ramificação intermediária em que os filhos estão sob uma ramificação intermediária na lista suspensa, por exemplo, jsonPayload.json_metadata.rows_count e não jsonPayload.rows_count. Isso deixa mais claro o que está vindo do log do Python. Eu não acho que isso seja um problema, mas nunca se sabe. Não consigo encontrar este ramo do meio e seus filhos no menu suspenso para que não possa fazer os LBMs necessários. Como obter um menu suspenso completo para o "Nome do campo"?

logging google-cloud-platform metrics
  • 1 respostas
  • 28 Views
Martin Hope
questionto42standswithUkraine
Asked: 2022-02-10 03:24:19 +0800 CST

saída jsonPayload (registro estruturado) do registro do Python Google Cloud Function necessário para criar métricas baseadas em log (LBM) no GCP

  • 3

Eu preciso jsonPayloadnos logs de uma função do Google Cloud em vez do arquivo textPayload. Meu objetivo é usar as chaves do dicionário como rótulos (consulte Rótulos de métricas baseadas em log ) para Métricas baseadas em log para que possam ser abordadas no Grafana.

Estou usando o loggingmódulo do Python, mas também posso mudar para outra coisa, se necessário.

Eu preciso como saída nos logs:

jsonPayload: `{'key1':value1, 'key2':value2}`

Mas eu recebo uma textPayloadsaída, toda a próxima linha é uma string:

"2022-02-08 15:43:32,460 [INFO]: {"key1": value1, "key2": value2}"

Exemplo real dos logs, no meio, você vê o textPayload:

insira a descrição da imagem aqui

A imagem como texto:

{
insertId: "000000-1b431ffd-e42d-4f83-xyz"
labels: {1}
logName: "projects/MY_PROJECT/logs/cloudfunctions.googleapis.com%2Fcloud-functions"
receiveTimestamp: "2022-02-08T15:43:41.808217166Z"
resource: {2}
textPayload: "2022-02-08 15:43:32,460 [INFO]: {"json_metadata": {"countrows": 736203, "countcolumns": 6, "size": 48261360, "gcs_stamp": "2022-02-08 15:43:32.451000+00:00", "python_stamp": "2022-02-08 15:43:31.055538"}}"
timestamp: "2022-02-08T15:43:32.460Z"
trace: "projects/MY_PROJECT/traces/dd97759176248586a3d3xyz"
}

Primeiras tentativas

Lendo de https://cloud.google.com/logging/docs/structured-logging :

No Cloud Logging, os registros estruturados referem-se a entradas de registro que usam o campo jsonPayload para adicionar estrutura aos payloads. O log estruturado se aplica a logs escritos pelo usuário.

Eu tentei obter este "log estruturado" seguindo Escrevendo logs estruturados por

logging.info(json.dumps(json_for_gcp_lbm))

mas sem sucesso.

Mais adiante nos links: há um agente do Logging integrado do GCP que usa fluentd para Sobre o agente do Logging parece estar disponível apenas para o Google Kubernetes Engine ou o App Engine, não em uma função do Google Cloud:

Se você estiver usando o Google Kubernetes Engine ou o ambiente flexível do App Engine, poderá gravar logs estruturados como objetos JSON serializados em uma única linha para stdout ou stderr. O agente do Logging envia os logs estruturados para o Cloud Logging como o jsonPayload da estrutura LogEntry.

Como posso obter o jsonPayloadnesta saída?

logging python google-cloud-platform google-cloud-functions
  • 1 respostas
  • 1258 Views
Martin Hope
questionto42standswithUkraine
Asked: 2022-02-04 15:23:33 +0800 CST

Aviso do Google Cloud Function "AVISO OpenBLAS - não foi possível determinar o tamanho do cache L2 neste sistema"

  • 0

eu recebo o aviso

AVISO OpenBLAS - não foi possível determinar o tamanho do cache L2 neste sistema, assumindo 256k

nos registros da guia "LOGS" do Cloud Function.

Já existe um Q/A sobre isso no Stack Overflow no aviso do AppEngine - OpenBLAS WARNING - não foi possível determinar o tamanho do cache L2 neste sistema , mas não é solicitada uma função do Google Cloud, apenas para o Google App Engine.

Gostaria de saber como posso me livrar desse aviso em uma função do Google Cloud e se devo me importar?

  • É apenas um aviso de qualquer maneira e a Função de Nuvem bastante pesada (com muitos cálculos + economizando 50 MB de csv, 700 MB de RAM necessária, 1 GB alocado, tempo limite de 540 segundos) é executada de qualquer maneira. Não fazer nada pode ser uma resposta aceita.
  • Talvez eu possa encontrar o tamanho do cache L2 em algum lugar nas configurações, qual sistema se refere aqui?
google-cloud-platform disk-cache warning google-cloud-functions
  • 1 respostas
  • 1710 Views
Martin Hope
questionto42standswithUkraine
Asked: 2022-02-01 09:32:39 +0800 CST

Ao escrever csv do CF para o bucket: 'with open(filepath, "w") as MY_CSV:' leva a "FileNotFoundError: [Errno 2] No such file or directory:"

  • 1

Recebo esse erro FileNotFoundError: [Errno 2] No such file or directoryquando tento gravar um arquivo csv no bucket, usando um gravador csv que faz um loop em lotes de dados. O insight completo sobre os registros do Cloud Function em torno desse erro:


File "/workspace/main.py", line 299, in write_to_csv_file with
open(filepath, "w") as outcsv: FileNotFoundError: [Errno 2] No such
file or directory: 'gs://MY_BUCKET/MY_CSV.csv'

Function execution took 52655 ms, finished with status: 'crash' 

OpenBLAS WARNING - could not determine the L2 cache size on this
system, assuming 256k  ```

E isso, embora este bucket_filepath definitivamente exista: posso fazer upload de um arquivo fictício vazio e obter seu "gsutils URI" (clique com o botão direito do mouse nos três pontos no lado direito do arquivo) e o bucket_filepath terá a mesma aparência: 'gs://MY_BUCKET/MY_CSV.csv'.

Eu verifiquei salvar um dataframe de pandas fictício usando pd.to_csve funcionou com o mesmo bucket_filepath (!).

Portanto, deve haver outro motivo, provavelmente o gravador não é aceito, ou o with statementque abre o arquivo.

O código que gera o erro é o seguinte. É com o mesmo código trabalhando fora do Google Cloud Function em um cron job normal em um servidor local. Eu adicionei duas impressões de depuração ao redor da linha que lança o erro, o print("Right after opening the file ...")que não aparece mais. A subfunção query_execute_batch()que write_to_csv_file()está chamando para cada lote também é mostrada, mas provavelmente não é o problema aqui, pois o erro já ocorre no início ao abrir o arquivo csv.

requirements.txt(que são então importados como módulos):

SQLAlchemy>=1.4.2
google-cloud-storage>=1.16.1
mysqlclient==2.1.0
pandas==1.2.3
fsspec==2021.11.1
gcsfs==2021.11.1
unicodecsv==0.14.1

E a partir de main.py:

def query_execute_batch(connection):
    """Function for reading data from the query result into batches
    :yield: each result in a loop is a batch of the query result
    """
    results = execute_select_batch(connection, SQL_QUERY)
    print(f"len(results): {len(results)}")
    for result in results:
        yield result

def write_to_csv_file(connection, filepath):
    """Write the data in a loop over batches into a csv.
    This is done in batches since the query from the database is huge.
    :param connection: mysqldb connection to DB
    :param filepath: path to csv file to write data
    returns: metadata on rows and time
    """
    countrows = 0
    print("Right before opening the file ...")    
    with open(filepath, "w") as outcsv:
        print("Right after opening the file ...")        
        writer = csv.DictWriter(
            outcsv,
            fieldnames=FIELDNAMES,
            extrasaction="ignore",
            delimiter="|",
            lineterminator="\n",
        )
        # write header according to fieldnames
        writer.writeheader()

        for batch in query_execute_batch(connection):
            writer.writerows(batch)
            countrows += len(batch)
        datetime_now_save = datetime.now()
    return countrows, datetime_now_save

Lembre-se de que, para que o script acima funcione, eu importo, gcsfso que torna o bucket disponível para leitura e gravação. Caso contrário, eu provavelmente precisaria de um objeto de armazenamento em nuvem do Google, como por exemplo:

storage_client = storage.Client()
bucket = storage_client.bucket(BUCKET_NAME)

e, em seguida, faça o arquivo nesse bucket com outras funções, mas esse não é o objetivo aqui.

A seguir, o pd.to_csvcódigo que funciona, ele usa a saída de uma consulta SQL fictícia SELECT 1como entrada de um dataframe. Isso pode ser salvo no mesmo bucket_filepath, é claro que o motivo pode não ser apenas pd.to_csv()como tal, mas também que o conjunto de dados é um manequim em vez de strings unicode complexas de um enorme arquivo SELECT query. Ou há outra razão, estou apenas supondo.

if records is not None:
    df = pd.DataFrame(records.fetchall())
    df.columns = records.keys()
    df.to_csv(filepath,
        index=False,
    )
    datetime_now_save = datetime.now()
    countrows = df.shape[0]

Eu gostaria de usar o gravador csv para ter a chance de escrever em unicode com o módulo unicodecsv e a chance de usar os lotes.

Eu posso estar disposto a mudar para lotes ( loop + appendmode ou chunksize) em pandas como em Escrevendo dataframes grandes de Pandas para arquivo CSV em pedaços para se livrar desse problema de caminho de arquivo do bucket, mas eu gostaria de usar o código pronto (nunca toque em um sistema em execução ).

Como posso salvar esse csv com o gravador csv para que ele possa abrir um novo arquivo no bucket em writemode = with open(filepath, "w") as outcsv:?

A função fornecida write_to_csv_file()é apenas uma pequena parte da Cloud Function que usa uma ampla variedade de funções e funções em cascata. Não posso mostrar todo o caso reproduzível aqui e espero que possa ser respondido pela experiência ou por exemplos mais fáceis.

filesystems google-cloud-platform google-cloud-functions
  • 1 respostas
  • 910 Views
Martin Hope
questionto42standswithUkraine
Asked: 2022-01-21 03:57:20 +0800 CST

Como acionar um evento depois de salvar um arquivo csv escolhido no bucket do Google Cloud Storage

  • 1

Tentando fazer um pipeline síncrono, preciso copiar um arquivo csv do Google Cloud Storage depois que ele for salvo no Google Cloud Storage. O trabalho de cópia não precisa ser acionado logo após o salvamento, também pode acontecer dentro de algum período de tempo, pelo menos. Isso pode não acontecer antes que o arquivo tenha sido salvo. Portanto, um evento de gatilho ou um cronjob são possíveis, ou você pode sugerir outra coisa.

Como posso acionar a cópia de um arquivo csv escolhido depois que ele foi salvo no Google Cloud Storage? Posso usar uma Função do Cloud para fazer o trabalho de cópia ou existem outras maneiras?

files google-cloud-platform copy google-cloud-storage
  • 1 respostas
  • 596 Views
Martin Hope
questionto42standswithUkraine
Asked: 2022-01-21 02:51:20 +0800 CST

Lendo apenas os metadados de um arquivo em um bucket do Google Cloud Storage em um Cloud Function em Python (sem carregar o arquivo ou seus dados!)

  • 0

Eu preciso de algo como Cloud Storage for Firebase: baixe metadados de todos os arquivos , não apenas em Angular, mas em Python e apenas para um arquivo escolhido.

O objetivo é retornar essas informações quando o Cloud Function terminar com a returninstrução ou apenas registrá-lo durante a execução do Cloud Function assim que o arquivo for salvo no bucket do Google Storage. Com essas informações em mãos, outro trabalho pode ser iniciado após o carimbo de data/hora fornecido. O pipeline é síncrono.

Encontrei perguntas e respostas sobre como carregar um arquivo ou seus dados na Função do Cloud

  • usando /tmpdiretório como em Lendo dados do Cloud Storage por meio do Cloud Functions
  • ou carregue os dados (e não o arquivo) usando storage.Client() ou pandas df.read_csv() como em Como carregar um arquivo do armazenamento em nuvem do google para a função de nuvem do google

para extrair estatísticas de dados para o Cloud Function em execução a partir do arquivo externo.

Como não quero salvar o arquivo grande ou seus dados na memória a qualquer momento apenas para obter alguns metadados, quero baixar apenas os metadados desse arquivo que está armazenado em um bucket no Google Storage, ou seja, timestamp e tamanho.

Como posso buscar apenas os metadados de um arquivo csv em um bucket do Google Cloud Storage para o Google Cloud Function?

python google-cloud-storage google-cloud-functions metadata
  • 1 respostas
  • 674 Views

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Você pode passar usuário/passar para autenticação básica HTTP em parâmetros de URL?

    • 5 respostas
  • Marko Smith

    Ping uma porta específica

    • 18 respostas
  • Marko Smith

    Verifique se a porta está aberta ou fechada em um servidor Linux?

    • 7 respostas
  • Marko Smith

    Como automatizar o login SSH com senha?

    • 10 respostas
  • Marko Smith

    Como posso dizer ao Git para Windows onde encontrar minha chave RSA privada?

    • 30 respostas
  • Marko Smith

    Qual é o nome de usuário/senha de superusuário padrão para postgres após uma nova instalação?

    • 5 respostas
  • Marko Smith

    Qual porta o SFTP usa?

    • 6 respostas
  • Marko Smith

    Linha de comando para listar usuários em um grupo do Windows Active Directory?

    • 9 respostas
  • Marko Smith

    O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL?

    • 3 respostas
  • Marko Smith

    Como determinar se uma variável bash está vazia?

    • 15 respostas
  • Martin Hope
    Davie Ping uma porta específica 2009-10-09 01:57:50 +0800 CST
  • Martin Hope
    kernel O scp pode copiar diretórios recursivamente? 2011-04-29 20:24:45 +0800 CST
  • Martin Hope
    Robert ssh retorna "Proprietário incorreto ou permissões em ~/.ssh/config" 2011-03-30 10:15:48 +0800 CST
  • Martin Hope
    Eonil Como automatizar o login SSH com senha? 2011-03-02 03:07:12 +0800 CST
  • Martin Hope
    gunwin Como lidar com um servidor comprometido? 2011-01-03 13:31:27 +0800 CST
  • Martin Hope
    Tom Feiner Como posso classificar a saída du -h por tamanho 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent Como determinar se uma variável bash está vazia? 2009-05-13 09:54:48 +0800 CST

Hot tag

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve