GCP Dataflow API is not enabled despite enabling it - google-cloud-dataflow

So I was trying the in-console tutorial of Dataflow. It asks me to enable API which I did. Now while I was in middle of tutorial, in one of the steps I ran into this:
"error": {
"code": 400,
"message": "(aa368f39ee923d7e): Dataflow API is not enabled. Please use the Cloud Platform Console,
https://console.developers.google.com/apis/api/dataflow.googleapis.com/overview?project=nextwordprediction,
to enable Dataflow API.",
"status": "FAILED_PRECONDITION" }
I check in my "APIs & Services" and API is enabled. I also thought of disabling and enabling again but when I try to disable it, it again says precondition failed. Now I m just stuck.

Can you check if all the below API's are enabled in the project
Compute Engine API
Dataflow API
Cloud Resource Manager API
Cloud Logging API
Cloud Storage
Google Cloud Storage JSON API
BigQuery API
Cloud Pub/Sub API

Related

Config Azure application proxy using the graph API

I'm trying to automate the Application Proxy configuration. I can create applications, and service principals and configure permission. But I can't find a way to configure the app proxy. I found this page https://learn.microsoft.com/en-us/graph/application-proxy-configure-api?tabs=http but it uses the beta version.
Are there any endpoints in the Graph API in the release version that I can use to configure app proxy or when is MS going to release the beta version?
As I can see the Azure portal uses the https://main.iam.ad.ext.azure.com/api API to configure the app proxy. Can I use this API in my automated process? If so, how can I obtain a token for this API?
I found that I can obtain a token using az account get-access-token --subscription $subscription --resource 74658136-14ec-4630-ad9b-26e160ff0fc6 but it doesn't work for me because I have to use oauth authorization-code-flow. Is there any chance to use this https://main.iam.ad.ext.azure.com/api API?
I found following endpoint as well but still I'm not going to pass the client username and password through my APP.
POST https://login.microsoftonline.com/{{tenatId}}/oauth2/token
resource:74658136-14ec-4630-ad9b-26e160ff0fc6
grant_type:password
username:{{username}}
password:{{password}}
Postman Request
Connected question
As mentioned in the document as the Application Proxy configuration is only supported in Beta version, you could a feature for the same for this feature to be available in the V1 release as well.
Raise a feature request here:https://techcommunity.microsoft.com/t5/microsoft-365-developer-platform/idb-p/Microsoft365DeveloperPlatform

Azure iot edge / built-in metrics / proxy

I need to send the build-in metrics of IoT edge from "the metrics collector module" in the gateway to "Log analytics" in the Cloud
https://learn.microsoft.com/en-us/azure/iot-edge/how-to-collect-and-transport-metrics
there's a proxy between edge and Azure
with the UploadTarget=IoTMessage it is possible to go through the proxy with the telemetry messages : metrics collector->edgehub->PROXY->iothub->function->log analytics
BUT
Is it possible to send through a proxy with the configuration UploadTarget=AzureMonitor ?
metrics collector->PROXY->log analytics
thanks
This is covered in the documentation you linked. See: https://learn.microsoft.com/azure/iot-edge/how-to-collect-and-transport-metrics?view=iotedge-2020-11&tabs=iothub#proxy-considerations

Google IoT-core v1 API discovery not found

I have some issues trying to access google iot-core API from my remote server (hosted on Digital Ocean). The same piece of code could work on my local machine, and I ensured that even the service key was the same, yet there was no explicit message to point me in some general direction.
I'm not sure if this is an issue with the discovery API as I could get the proper response on my local machine using the curl command below but when i tried to do this on my remote server it returned a 404 error. Anyone experienced this before?
curl https://cloudiot.googleapis.com/$discovery/rest?version=v1
Google Cloud IoT API endpoint is:
https://cloudiot.googleapis.com/
The current version is v1 and it is available here:
https://cloudiot.googleapis.com/v1
The discovery doc for this API and this version is:
https://www.googleapis.com/discovery/v1/apis/cloudiot/v1/rest
You may find Google API Explorer a useful tool too:
https://developers.google.com/apis-explorer/#p/
Here is the API Explorer result for Cloud IoT API v1:
https://developers.google.com/apis-explorer/#search/cloudiot/cloudiot/v1/
Even with these endpoints, you will need to authenticate your curl requests before they succeed.
I strongly encourage you to consider using Google's SDKs (Libraries) for interaction with any Google service and for Cloud IoT for service management (munging registries, devices etc.).
Once your configuration is established, your devices should use either MQTT or HTTP.

How to stream data that is generated by an IoT gateway application to predix cloud?

I've devices configured with IoT gateway application(built with MEAN.JS), these devices send data to IoT gateway where i can access data now i wish to do some analytics on same data how can i send this data to predix cloud so that i can use predix services for analytics
We can achieve this requirement using predix-uaa-client NPM package
all you've to do is-
1.create a predix account, predix-uaa service, predix-time-series service and attach uaa-service & time-series service
2.Make note of Uaa Url, client_id, client_secret and predix time-series ingest zone id
pass Uaa Url, client_id, client_secret and predix time-series ingest zone id to predix-uaa-client package it responses with token.access_token.
Use token.access_token as a Bearer token Authroization header in calls to secured services.
once it securely calls service create websocket connection and start sending data to predix-time-series service
here sample code to achieve it
First you need to sign up for a free Predix account on predix.io. Subscribe to the (free version) of the UAA service, and Time Series database service. Create a UAA Client with permissions to access your Time Series instance. Then you can use a websocket to securely push data into the cloud. You can learn more by using the Predix Toolkit: https://predix-toolkit.run.aws-usw02-pr.ice.predix.io/
(Source code for the toolkit is here: https://github.com/predixdev/security-starter)
Lots of helpful tutorials are here:
https://www.predix.io/resources/tutorials

Youtube data api return dailyLimitExceededUnreg reach

We are using the YouTube Data API to get the YouTube channel information, it was working before two days now it is giving me below error:
{
"error": {
"errors": [
{
"domain": "usageLimits",
"reason": "dailyLimitExceededUnreg",
"message": "Daily Limit for Unauthenticated Use Exceeded. Continued use requires signup.",
"extendedHelp": "https://code.google.com/apis/console"
}
],
"code": 403,
"message": "Daily Limit for Unauthenticated Use Exceeded. Continued use requires signup."
}
}
Is there any new update on YouTube Data API?
Can anyone help me to resolve this issue?
In order to access any Google API you need to identify your application. This rule has not been enforced on all Google APIs. If you say your request has worked in the past I suspect that they have begun to enforce this now with the YouTube API.
The problem is that you have either not authenticate your application using Oauth2 or you are not sending an API key along with this request.
You need a Google Account to access the Google Developers Console, request an API key, and register your application.
Create a project in the Google Developers Console and obtain authorization credentials so your application can submit API requests.
After creating your project, make sure the YouTube Data API is one of the services that your application is registered to use:
a. Go to the Developers Console and select the project that you just registered.
b. Open the API Library in the Google Developers Console. If prompted, select a project or create a new one. In the list of APIs, make sure the status is ON for the YouTube Data API v3.
If your application will use any API methods that require user authorization, read the authentication guide to learn how to implement OAuth 2.0 authorization.
see Getting started
I was getting the same error. The mistake I was making is not setting the API Key value while requesting. Please set the API Key attribute.
If you are using youtube data v3 api use following code snippet.
playlistItemsListByPlaylistIdRequest.setKey(YOUR_API_KEY_VALUE);
If you are using the Html request, then use following format :
https://www.googleapis.com/youtube/v3/playlistItems?part=snippet%2CcontentDetails&maxResults=8&playlistId={PLAYLIST_ID}&key={YOUR_API_KEY}

Resources